5 Kasım 2008 Çarşamba

Köklerin Yer Eğrisi

Bir kontrol mühendisi sistemin kararlı olup olmadığını ve kararlılık derecesini bilmek, diferansiyel denklem çözmeden analiz ile sistem performansını tahmin etmek ister. Bir sistemin açık çevriminin analizi ile elde edilecek bilgiler aynı sistemin kapalı çevrimi hakkında bilgi edinilmesini sağlar ve doğrusal kontrol sisteminin analizinde belirli bir sistem parametresine göre karakteristik denklem köklerinin değişiminin incelenmesinden bazı bilgilere ulaşılabilir. İlk kez W. R. Evans tarafından kök yer eğrilerinin temel özellikleri ve sistematik çizilişi geliştirilmiştir.

Kök yer eğrilerinin kullanımı sadece kontrol sistemleriyle sınırlı değildir. Genel kullanım alanımı değişik parametreli cebirsel denklemlerin köklerinin incelenmesi olmakla beraber bir kontrol mühendisi için kök yer eğrisi grafiği sistem parametrelerinin değişimi ile kapalı çevrim sistem köklerinin s düzlemindeki yerini gösteren grafiktir.

Kapalı çevrim sistemlerin geçici hal yanıt karakteristikleri kapalı çevrim kutularının yerlerine bağlıdır. Eğer sistem değişken kazanca sahipse kapalı çevrim sistemin kutuplarlı kazanca göre değişir. Bu yüzden sistemin kazancı değiştikçe kapalı çevrim sistemin kutuplarının nasıl hareket ettiğinin bilinmesi önemlidir. Kök yer eğrileriyle istenilen sistem cevabını elde etmek için uygun kutuplar seçilebilir ve belirlenen bu kutuplar için sistem kazancı belirlenebilir.

Pozitif Kök Yer Eğrisi Çizim Aşamaları

1. K=-∞’dan + ∞’ a giderken bir kökün yer eğrisinde izlediği yola kol denir. Bir kök yer eğrisi grafiğinde açık çevrim sistemin(G(s)H(s)) transfer fonksiyonunda yer alan kutup sayısı kadar kol vardır.

2. K=0 noktalarının açık çevrim sistemin kutuplarında yer alan kök eğrisi K=±∞’da sisteminin sıfırlarındadır.

3. Kök yer eğrileri s-düzlemi reel eksene göre simetriktir.

4. Kök yer eğrisinde K=±∞ giden kolların davranışı asimptotlar tarafından belirlenir. Kök yer eğrisi grafiğinde asimptotların sayısı açık çevrim sistemin kutup sayısı ile açık çevrim sistemin sıfır sayısının farkı kadardır. Asimptot açıları ise aşağıdaki formül ile belirlenir.

5. Asimptotların gerçek eksen üzerindeki kesişme noktası aşağıdaki formül ile hesaplanır.

Asimptotların kesişme noktası aynı zamanda kök eğrisinin ağırlık merkezidir ve bu nokta her zaman s-düzlemi üzerinin reel ekseninde yer alır.

6. Pozitif kök yer eğrisinin sağında yer alan kutup ve sıfırların sayısının toplamı daima tek sayıdır. Bu kural yardımıyla pozitif kök yer eğrilerinin yerleri belirlenebilir.

7. Reel eksen üzerinde yer alan bir noktadan karmaşık eşlenik kutup ve sıfırlarına çizilen doğruların açılarının toplamı sıfırdır. Bu kural açı koşulunu oluşturmaktadır ve aşağıdaki formül yardımıyla pozitif kök eğrisinde yer alan kutup ve sıfırların giriş çıkış açıları belirlenir.

İ=0, 1, 2,… olmak üzere


8. Routh-Hurtwiz kriteri yardımıyla kök eğrisinin s-düzleminde sanal ekseni kestiği ve bu noktanın K değeri hesaplanabilir. Eğer kök eğrisi sanal ekseni birden fazla noktada kesiyorsa bode diyagramından ya da Matlab gibi bir bilgisayar çizim programı yardımıyla bu noktalar bulunabilir.

9. Kök eğrilerinde kopma noktaları G(s)H(s) in s’e göre türevinin sıfır olduğu yerlerdir. Bu noktalar pozitif kök eğrisinin iki kolunun karşılaşma ve ayrılmasının olduğu noktalardır. Aynı zamanda bu noktalar karakteristik denklemde yer alan katlı kutuplardır. Kopma noktaları reel eksen üzerinde olabileceği gibi reel eksen dışında da yer alan kopma noktaları olabilir. Bu durumda pozitif kök eğrisinin reel eksene göre simetrik olma özelliğinden dolayı reel eksen dışındaki kopma noktaları karmaşık eşlenik sayılar olmak zorundadır.

Kök Eğrisi Üzerindeki Bir Noktanın K Kazancının Hesaplanması

Çizdiğimiz kök yer eğrisiyle yardımıyla kök yer eğrisi üzerindeki bir noktaya karşılık gelen K kazancı genlik koşulu yardımıyla hesaplanabilir. K kazancı için genlik koşulu denklemi aşağıdaki gibidir.

Açık Çevrim Sisteme İlave Edilen Kutup ve Sıfırlarının Kök Yer Eğrilerine Etkisi

Bir kontrol tasarımında açık çevrim sisteme eklenecek olan kutup ve sıfırların sisteme üzerindeki etkilerinin bilinmesi tasarımın kolaylaşması açısından önemlidir.

Açık çevrime eklenecek olan kutuplar kök eğrisini sağ yarı s-düzlemine doğru ötelerler.

Açık çevrime eklenecek olan sol yarı s-düzlemi sıfırları kök eğrisinin sol yarı s-düzlemine doğru ötelenmesine neden olur.

Ayrık Verili Sistemlerin Kök Yer Eğrileri

Şimdiye kadar anlatılanlar doğrusal sistemlerde kök yer eğrilerinin çizimi ile ilgiliydi. Aynı yöntem ayrık verili sistemlere de uygulanabilir. Yalnız dikkat edilmesi gerekilen tek nokta, ayrık zamana geçerken transfer fonksiyonun z dönüşümü alındığı için kök yer eğrilerinin s-düzlemi yerine z-düzleminde çizilecek olmasıdır.

MATLAB Yardımıyla Kök Yer Eğrisi Çizimi

Her ne kadar yukarıdaki basit kurallar ile kök yer eğrisinin çizimi yapılabilse de bazen kök yer eğrilerini doğru çizebilmek ya da el ile çizmekle uğraşmamak için bir bilgisayar programına ihtiyaç duyulabilir. Sistem analizinde kontrol tasarımcısına büyük kolaylıklar sağlayan MATLAB Control Toolbox ile kök yer eğrisinin çizimi yapılabilir. Bunun için rlocus fonksiyonu kullanılır. Kullanış biçimi;

[r,k]=rlocus(pay,payda) ya da [r,k]=rlocus(a,b,c,d)

şeklindedir. Burada r, k matrisinde tanımlı K kazançlarına karşılık gelen karmaşık kökleri içeren matristir. Aşağıda rlocus fonksiyonun kullanımına örnek olması amacıyla aşağıda küçük bir örnek verilmiştir.

>>Sistem_pay = [1 1];

>>Sistem_payda = [1 1 2];

>>Sistem_transfer_fonksiyonu = tf(Sistem_pay,Sistem_payda);

>>rlocus(Sistem_transfer_fonksiyonu)

Umarım yazım bu konu hakkında bilgi edinmek arkadaşlar için faydalı olmuştur. Yazım hakkındaki yorumlarınızı ve eklemek istediklerinizi yorum bırakarak iletebilirsiniz. unk

22 Ekim 2008 Çarşamba

Ölü zamanlı sistemlere değişik mühendislik alanlarında sıklıkla karşılaşılmaktadır. İletişim ağları ve kimyasal süreçlerin yer aldığı sistemlerde geri beslemelerde yer alan zaman gecikmeleri ölü zamanlara örnek olarak verilebilir. Kimyasal sistemlerdeki zaman gecikmeleri genellikle bir tüple ya da başka bir taşıyıcı ile taşınan malzemenin yer değiştirmesi sırasında oluşan gecikmelerdir. Uzay araçlarında yüksekliklerin belirlenmesinde ışık hızının sınırlı olmasından dolayı ölçüm bilgisinin Dünya’ya geç ulaşması ölü zaman oluşmasına neden olmaktadır. Dijital kontrol sistemlerde de bilgisayarın cycle zamanına bağlı olarak ve bilginin ayrık olarak işlenmesinden dolayı ölü zamanlar oluşmaktadır. Sistemlerdeki bu ölü zamanlar (özellikler büyük gecikmeler), sistemlerin verimliğinin ve kararlılığının daha az olmasına sebep olur. Aynı zamanda ölü zamanlar bir kontrolcü için sistemlerin analizini ve sistemlere uygun bir kontrolün tasarlanmasını zorlaştırır.

Sistemlerde yer alan ölü zamanlar

G(s) = e-sT

biçiminde ifade edilir. Fakat bir polinom yerine üstel bir fonksiyon olarak tanımlanan ölü zaman bu haliyle kök yer eğrisinde çizilemediği için analizinin yapılması da zor olmaktadır. Bunun için iki yöntem önerilmiştir. Bunlardan biri “yaklaştırma”, diğeri ise “açı koşulunun direk uygulanması”dır.

“Yaklaştırma” yönteminde rasyonel olmayan üstel fonksiyon rasyonel bir fonksiyon olarak ifade edilmeye çalışılacaktır. Bir kontrolcü genellikle düşük frekanslı sistemlerle ilgilendiği için küçük s değerleri için yapılacak yaklaşımlar (genelikle s=0 dolaylarında) yeterli olacaktır. Rasyonel olmayan üssel denklemlerin rasyonel denklemlere dönüştürülmesinde en sık kullanılan yöntem Henri Pade tarafından geliştirilen Pade yaklaşımıdır. Bu yaklaşımda üssel ifade biçiminde ifade edilen ölü zaman, payının derecesi p ve paydasının derecesi q olan rasyonel bir ifadeye dönüştürülür. p ve q değerlerinin 1 olarak alındığı bir Pade yaklaşımında

olarak bulunur. Eğer p ve q değerlerimizi 2 olarak alacak olursa rasyonel ifademiz

şeklinde olacaktır. Tabii ki 2. yaklaşımımız 1. yaklaşımımıza göre daha fazla değer içerdiği için daha doğru bir sonuç verecektir. Bununla beraber genellik ölü zamanın küçük olduğu sistemlerde p=0 ve q=1 olarak alındığı yaklaşımlar sistemdeki ölü zamanın rasyonel ifadeye çevrilmesi için yeterli hassasiyette olacaktır. Böyle bir yaklaşım

biçiminde ifade edilir.

Açı koşulunun direk uygulanması yönteminde ise gecikmeli sistemin kök yer eğrisi çizilebilir. Transfer fonksiyonunu

olarak ifade ettiğimiz sistemde G(s) sisteminin fazı ’nin fazıyla λw toplamına eşittir. Burada s=λ +jw olarak alınmıştır. ’nin fazını 180o + λw +360o(l-1) formülü ile hesaplayarak ölü zamanlı sistemin kök yer eğrisini çizebiliriz. Bunun için öncelikle frekansı(w) sabitleriz ve s düzleminde bir yatay çizgi boyunca noktayı bulana kadar devam ederiz. Daha sonra frekans değeri arttırılıp, açı değiştirilerek aynı işlemler tekrarlanır. Aynı şekilde kopma açıları da hesaplanarak gerekli değerler bulunmuş olur. Kök yer eğrisinin çiziminin ardından kök yer eğrisi incelenerek gerekli kontrolör tasarımı yapılabilir.

Ne yazık ki, MATLAB ölü zamanlı sistemlerin kök yer eğrisini ve birim basamak cevabını direk olarak çizememektedir. Gerekli çizimler için öncelikle Pade yaklaşımıyla üssel fonksiyon ile ifade edilen zaman gecikmesi rasyonel hale dönüştürülmelidir. Pade yaklaşımında gerekli değerleri bulmak için MATLAB Control toolbox içerisinde yer alan pade(T,p) komutunu kullanabiliriz. Burada T, saniye cinsinden ölü zaman olup, p ise kaçıncı dereceden yaklaşım yapacağımızı belirten ifadedir. Komutu MATLAB’ta

[num,den]=pade(T,p)

olarak çalıştırmamız çıkış değerlerini almamızda kolaylık sağlayacaktır.

Umarım yazım bu konu hakkında bilgi edinmek arkadaşlar için faydalı olur. Yazım hakkındaki yorumlarınızı ve eklemek istediklerinizi yorum bırakarak iletebilirsiniz. unk

9 Eylül 2008 Salı

OpenCV'ye Giriş - 2

Önceki yazımda OpenCV’nin ne olduğundan ve OpenCV ile neler yapabileceğimizden kısaca bahsetmiştim. Bu yazımda ise Windows ortamında bilgisayarımıza OpenCV kütüphanesini nasıl yükleyeceğimizi ve OpenCV’yi Dev C++’a entegre etmeyi anlatacağım.

Öncelikle eğer hala indirmediyseniz OpenCV kütüphanesini buradan indirebilirsiniz. İndirdiğiniz bu dosyaya çift tıkladığınızda karşınıza bir yükleme ekranı çıkacaktır. Karşınıza çıkan adımları takip ederek OpenCV’yi bilgisayarınıza yükleyiniz.

OpenCV’yi başarılı bir şekilde bilgisayarınıza yüklemeniz onu hemen kullanabilmeniz için yeterli olmuyor. Aynı zamanda kullandığınız derleyicide de bir takım ayarlar yapmanız gerekli. Eğer Visual C++ kullanıyorsanız gerekli ayarlar için buraya ya da buraya bakabilirsiniz. Eğer Dev C++ kullanıyorsanız ya da kullanmayı düşünüyorsanız yazımı okumaya devam edebilirsiniz.

Öncelikle belirtmek isterim ki OpenCV için vereceğim Dev C++ ayarları OpenCV’nin C:\Program Files\OpenCV dizininde yüklü olduğunu düşünülerek verilmiştir. Eğer OpenCV’yi farklı bir klasöre yüklediyseniz derleyici ayarlarınızı buna göre yapınız. Dev C++’da yazdığımız OpenCV programlarını sorunsuz bir şekilde derleyebilmemiz için gerekli tüm header ve dll dosyalarının yerlerinin nerde olduğunu derleyiciye göstermemiz gerekli. Bunun için ilk olarak “Araçlar” menüsünden “Derleyici Ayarları”nı açıyoruz.

Burada ilk iş olarak eski ayarlarımızı kaybetmemek için “artı işaretine” tıklayarak yeni bir isim ile yeni bir derleyici takımı oluşturuyoruz. Bir problem oluşursa buradan eski ayarlarınıza geri dönebilirsiniz.

“Bağlayıcı (Linker) komutuna bunları ekle” yazan yerin yanındaki kutucuğu işaretleyerek altına şunları ekliyoruz : -lhighgui -lcv -lcxcore -lcvaux –lcvcam

Şimdi “Dizinler” sekmesine geçip header ve dll dosyalarını ekleyebiliriz. “Kütüphaneler” bölümüne sadece C:\Program Files\OpenCV\lib dizinini ekleyiniz.

“C Includeları” bölümüne aşağıdaki tüm dizinleri ekleyiniz.
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\otherlibs\cvcam\include

Eğer programlarınızı yazarken C++ kullanmayı düşünüyorsanız aynız dizinler “C++ Includeları” bölümüne de ekleyiniz.

Son olarak da dll dosyalarını ekledik mi tamamdır. “Binaryler” sekmesine C:\Program Files\OpenCV\bin dizinini ekleyip ve ardından “Tamam” deyip “Derleyici Ayarları” penceresini kapatabiliriz.

Şimdi sıra yaptığımız ayarların doğruluğundan emin olmak için örnek bir programı Dev C++’da derlemeye geldi. OpenCV’nin yer aldığı dizindeki Samples klasöründe OpenCV uygulamaları ile ilgili çeşitli örnek programlar ve kodları var. Bunlardan birini Dev C++ ile açıp derlemeye çalışarak yaptığımız ayarların çalışıp çalışmadığını test edebilirsiniz.

“OpenCV’ye Giriş” yazı dizisinin son yazısında OpenCV ile programlamanın temellerini oluşturacak bir iki örnek programı açıklamalı olarak vermeyi düşünüyorum. Arayı çok uzatmadan en kısa zamanda yazıyı hazırlayıp buraya koyacağım. Hoşçakalın. unk

2 Eylül 2008 Salı

OpenCV'ye Giriş -1

OpenCV, C dili ile yazılmış açık kaynak kodlu bir görüntü işleme kütüphanesidir. İlk sürümü Intel tarafından 1999 yılında yayınlanan OpenCV, Intel’in bu kütüphanenin kullanımını tüm bilgisayar kullanıcılarına serbest bıraktıktan sonra OpenCV artık sourceforge tarafından geliştirilmektedir. OpenCV’de yer alan fonksiyonların nerdeyse tamamı platformdan bağımsız olduklarından OpenCV Windows, Linux ve Macosx işletim sistemlerinde çalışmaktadır. Hem basit görüntü işleme uygulamalarında hem de ileri düzey uygulamalarda kullanabileceğimiz OpenCV ile neler yapabileceğimizi görmek için kısaca özelliklerine bakalım.

OpenCV’nin Özellikleri

OpenCV’nin başlangıçta çok karmaşık gelen birçok özelliği olmasına rağmen OpenCV’yi kullanarak bir şeyler yapabilmemiz için bunlardan bir iki tanesini bilmemiz bizin için yeterli olacaktır. OpenCV hakkında yazılarıma devam ettiğim sürece ileride bu özelliklerin bazılarıyla ilgili örnek uygulamalar vereceğim.

Görüntü ve Video Girişi/Çıkışı: Bu özellik sayesinde OpenCV ile rahatlıkla bilgisayardaki bir resmi okuyabilir, bir web cam den görüntü alabilir ya da resim ve video dosyaları oluşturabiliriz.

Bilgisayarla görüş (computer vision) ve görüntü işleme (image processing)algoritmaları: OpenCV kütüphanesindeki hazır fonksiyonlar ile temel görüntü işleme algoritmaları için yeniden fonksiyonlar oluşturmamıza gerek yoktur. Hazır fonksiyonlar sayesinde hem zamandan tasarruf ederken hem de kodlarımızı daha kısa ve anlaşılabilir bir biçimde yazabiliriz.

İleri düzey görüntü işleme özellikleri: OpenCV ile aynı zamanda hareket tespiti, yüz algılama ve tanıma, kamera kalibrasyonu gibi ileri düzey görüntü işleme uygulamaları da yapılabilmektedir. OpenCV’nin ayrıca bu işler için hazır API’leri de bulunmaktadır.

Yapay zeka ve otomatik öğrenme yöntemleri: Bilgisayarla görme uygulamalarında çoğu zaman otomatik öğrenme ya da diğer yapay zeka yöntemleri kullanılmaktadır. Bunlardan bazıları OpenCV’nin Machine Learning paketinde bulunmaktadır.

Binary görüntülerin yaratılması ve incelenmesi: Şekil farklılıklarını bulma ve parça sayımı gibi sistemlerde kullanılan binary görüntüleri OpenCV ile oluşturabiliriz.

3B görüntülerin hesaplanması: Farklı kameralardan alınmış görüntüler ile bir nesnenin yerinin belirlenmesi gibi uygulamalar da kullanılabiliriz.

Sık kullanılan matematiksel denklemler: OpenCV’nin görüntü işlemede sık kullanılan liner cebir, istatistik ve geometrik denklemler için hazır fonksiyonları vardır.

Grafik veriler ile ilgili işlemler: OpenCV ile resimlerin üzerine yazı yazabilir ya da şekiller çizebiliriz. Bununla hayal gücümüzü zorlayarak birçok şey yapabileceğimiz gibi kameradan aldığımız görüntüleri işaretleme ya da etiketleme gibi işlemler de yapabiliriz.

GUI işlemleri: OpenCV ile resimleri göstermek için pencere oluşturabilir, fare ya da klavyeden verilecek komutları yakalayabiliriz.

Veri yapıları ve Algoritmalar: OpenCV ile dizileri ve resimleri kaydedip, onlar üzerinde hızlı ve verimli bir biçimde aramalar yapabiliriz.

Veri sürekliliği: Bilgisayara kaydettiğimiz verilere daha sonradan tekrar erişebiliriz.

Tüm özellikler hakkında çok fazla bilgim olduğunu söyleyemem ama internetten bulduğum bazı kaynaklardan da faydalanarak OpenCV’yi ilk defa duyanlar için kısaca hepsinden bahsetmeye çalıştım. Bir sonraki yazımda OpenCV kullanmaya yeni başlayacaklar için Windows ortamında Dev-C++ Version 4.9.9.x’de OpenCV’yi kullanmayı anlatıp aynı zamanda ilk örnek program ile OpenCV'ye Giriş yazı dizisini bitireceğim. unk

24 Ağustos 2008 Pazar

Matlab Control System Toolbox ve Komutları

Matlab, mühendislik alanında karşılaşılan matematik problemlerinin çözümünde, analizinde ve bu hesapalamalara yönelik uygulamaların hazırlanmasında kullanılmak üzere geliştirilmiş bir bilgisayar programıdır.Açılımı Matrix Laboratory olan Matlab, her alan için özel olarak geliştirilmiş toolbox adı verilen paket kütüphaneleri sayesinde çeşitli mühendislik dalları için vazgeçilmez bir program haline gelmiştir. Bu toolboxlar sayısal işaret işleme, test ve ölçüm, finansal modelleme ve analiz, haberleşme gibi çeşitli alanlarda kullanılmaktadır.

Matlab toolboxlarından biri olan Control System Toolbox ise geniş kütüphanesi ve kullanışları fonksiyonları ile daha çok kontrol mühendisleri ve otomatik kontrol ile ilgilenenler tarafından kullanılmaktadır. Control System Toolbox ile transfer fonksiyonu, durum-uzay modeli gibi model gösterim biçimleri arasında geçişler yapılabilir ve istenilen model gösterim biçimi üzerinde sistem ile ilgili çeşitli analizler yapılabilmektedir. Aşağıda sizler için kontrol mühendisliği bölüm derslerimde sıklıkla kullandığım bazı komutların açıklamalarını yazdım. Umarım ilgilenen arkadaşlar için faydalı bir kaynak olur.

Control System Toolbox Komutları

bode: Bode eğrisinin çiziminde kullanılır. Kullanış biçimi

[genlik, faz,w]=bode(pay,payda,w); ya da [genlik,faz,w]=bode (a,b,c,d,w);

şeklindedir.

connect: Blog diyagram bağlantıları için durum uzay modeli oluşturur. Kullanış biçimi

sysc=connect(sys,q,inputs,outputs) ;

şeklindedir. Burada

sys=Giriş argümanları

q =Bloklar arasındaki karşılıklı bağlantıyı sağlayan matristir.

conv: Aslında bu fonksiyon control system toolbox içinde yer almamaktadır ama matlabta transfer fonksiyonları tanımlarken çok sık kullandığım için buraya yazmak istedim. İki polinomun çarpımını bulmaya yarar. Eğer elimizde ikiden fazla polinom varsa ikili gruplar halinde çarpıp istediğimiz sonuca ulaşabiliriz. Kullanış biçimi

C=conv(a,b);

feedback: Geri beslemeli bir sistemin transfer fonkiyonunu bulmak için kullanılır. Kullanış biçimi

sys=feedback(sistem1,sistem2,işaret)

şeklindedir. Buradaki sistem1 ve sistem2 matlabta tf, ss ya da zpk gibi fonksiyonlardan biri kullanıralarak oluştururmuş LTI modellerdir. İşaret, +1 olduğunda pozitif geri besleme, -1 olduğunda ise negatif geri besleme olarak hesaplanır. Eğer işaret belirtilmezse varsayılan olarak fonksiyon -1 alır ve negatif geri beslemeyi hesaplar.

impulse: Matlabta tanımlı olan bir sistemin birim darbe (impulse) cevabını bulmada kullanılır. Fonksiyonun kullanımı sonucu yeni bir pencerede sistemin darbe cevabı çizilir.

margin: Kazanç payı ve faz payının bulunmasında kullanılır. Kullanış biçimi;

[Gm, Pm, Wcp, Wcg]=margin (genlik, faz, w), [Gm, Pm, Wcp, Wcg]=margin (pay,payda) ve [Gm Pm Wcp Wcg ]=margin (a,b,c,d)

şeklindedir. Burada

Gm=Kazanç payı

Pm=Faz payı

Wcp=Faz geçiş frekansı

Wcg=Kazanç geçiş frekansıdır.

nyquist: Matlab komut satırında nyquist fonksiyonunun çalıştırılması ile frekans değişimlerine karşılık gelen modül ve faz açısı değişimlerinin eğrisini veren Nyquist diyagramı elde edilir. Nyquist eğrisi açık çevrim transfer fonksiyonu için çizilir ve genellikle kararlılık çözümlemesi için kullanılır. Kullanış biçimi;

nyquist(pay,payda);

pzmap: Transfer fonksiyonu verilen bir sistemin kutup ve sıfırlarının s düzleminde gösterilmesini sağlar. Kullanış biçimi;

[p,z]=pzmap(pay,payda)

residue: Bu fonksiyon da “conv” fonksiyonu gibi Control System Toolbox içerisinde yer alan bir fonksiyon değil ama transfer fonksiyonu ile yaptığım işlemlerde ara sıra kullandığım için buraya yazmayı düşündüm. Asıl kullanımı kesirli polinomları kısmi kesirlere ayırmak olmakla beraber transfer fonksiyonlarının kısmi kesirlere ayrılmasında da kullanılabilir. Kullanış biçimi;

[r,p,k]=residue(pay,payda)

rlocus: Kök-yer eğrisini çizmek için kullanılır. Kullanış biçimi;

[r,k]=rlocus(pay,payda) ya da [r,k]=rlocus(a,b,c,d)

şeklindedir. Burada r, k matrisinde tanımlı K kazançlarına karşılık gelen karmaşık kökleri içeren matristir.

rlocfind: Kök-yer eğrisi çizildikten sonra ekranda seçilen herhangi bir noktadaki kutup ve kazanç değerlerinin elde edilmesini sağlar. Fonksiyonun kullanımı sonucu kök yer eğrisi üzerinde imleç “+” şeklini alır. Bu “+” işareti ile kök yer eğrisi üzerinde herhangi bir noktaya tıklanması ile o noktadaki kazanç değeri ile o noktaya karşılık gelen tüm kutup değerlerini hesaplar. Kullanış biçimi;

[k,kutup]=rlocfind(pay,payda); ya da [r,kutup]=rlocfind(a,b,c,d);

sisotool: SISO Design Tool, tek giriş çıkışlı sistemlerde kazanç değerinin daha kolay bir şekilde kök-yer eğrisi, bode diyagramı ya da niyquist eğrisi üzerinden ayarlamaya yarayan bir Control System Toolbox aracıdır. Fonksiyon Matlab komut satırında parametresiz olarak çalıştırıldığında sadece SISO Design Tool açılır ve sistem katsayıları sonradan ayarlanır. Eğer “sisotool” fonksiyonuna sistem değerleri parametre olarak girilirse SISO Design Tool açıldığında sistem katsayılarıda ayarlanmış olur. Kullanış biçimi;

sisotool(pay, payda);

ss2zp: Durum uzayı denklemlerinden sıfır kutup biçimi transfer fonksiyonuna geçişi sağlar. Kullanış biçimi;

[z,p,k]=ss2zp(a,b,c,d);

step: Control System Toolbox fonksiyonları arasından en sık kullandığım fonksiyonlardan biridir. Fonksiyonun çalıştırılması ile girişe uygulanan birim basamak sonucu sistem yanıtını çizdirir. Ayrıca açılan pencerede sağ tıklama ile açılacak olan menünün “characteristics” sekmesi ile çizilen sistem cevabı üzerinden “yükselme zamanı”, “yerleşme cevabı” gibi sistemin zaman kriteri bilgileri elde edilebilir. Kullanış biçimi;

step(pay, payda); ya da step(a,b,c,d);

tf2ss: Polinom türü transfer fonksiyonu denkleminden durum uzayı denklem biçimine geçişi sağlar. Kullanış biçimi;

[a,b,c,d]=tf2ss(pay, payda);

tf2zp: Polinom türü transfer fonksiyonu denkleminden sıfır-kutup kazanç biçimine geçişi sağlar. Kullanış biçimi;

[z,p,k]=tf2zp(pay, payda);

zp2tf: Sıfır kutup kazanç biçiminden polinom biçimi transfer fonksiyonuna geçişi sağlar. Kullanış biçimi;

[pay, payda]=zp2tf(z,p,k);

zp2ss fonksiyonu: Sıfır kutup kazanç biçiminden durum uzayı denklemlerine dönüşümü sağlar. Kullanış biçimi;

[a,b,c,d]= zp2ss(z,p,k);

Tabii ki tüm Control System Toolbox fonksiyonları bu kadar değil ama başlangıç aşamasında kontrol sistemleri ile ilgilenen biri için bu kadarının yeterli olacağını düşünüyorum. Control System Toolbox’ta yer alan tüm fonksiyonlara Matlab komut satırına “help control” yazarak ulaşabilirsiniz. Ayrıca fonksiyonların kullanışlarını temel biçimde yazdım. Fonksiyonlar hakkında daha ayrıntılı bilgiye ve eğer varsa diğer kullanış biçimlerine “help fonksiyon adı” ile ulaşabilirsiniz. unk