Bir fonksiyonun z-dönüşümü ve kodlanması nasıl olur ?

Başlatan AsHeS, 29 Aralık 2012, 06:38:04

AsHeS

 Diyelim ki H(s)=s^2 gibi bir transfer fonksiyonumuz olsun bunun z-dönüşümü için s yerine
koyuyoruz sonuç olarak üst pay bölgesinde (1-2*(z^-1)+(z^-2))*((2/Ts)^2), payda bölgesinde (1+2*(z^-1)+(z^-2))  oluyor ben şu linki referans alarak yaptığımda http://www.mcu-turkey.com/msp430-ile-ayrik-zaman-transfer-fonksiyonu-algoritmasi-kosturma/
çok alakasız bir fonksiyon çıkıyor Matlab üzerinde amacım bunu bir şekilde denetleyiciye gömmek o yüzden Matlab'de denemeler yapıyorum.Aşağıda ki gibi bir kod yazdım fakat sistem kararsız çalışıyor yani çıkış hep eksponansiyel artan garip birşey oluyor. 
Hata yaptığımı düşündüğüm yerler:
1-z dönüşümü
2-Matlab kodu
clc;
clear;
t=0:(1/(10^3)):0.01;
E1=cos(2*pi*50*t);
x(1)=E1(1);
x(2)=E1(2)-2*x(1);
x(3)=E1(3)-2*x(2)-x(1);
E2(1)=x(1);
E2(2)=x(2)-2*x(1);
E2(3)=x(3)-2*x(2)+x(1);
for i=4:size(t,2)
    x(i)=E1(i)-2*x(i-1)-x(i-2);
    E2(i)=x(i)-2*x(i-1)+x(i-2);
    
end
plot(t,E2*4*10^6);

Linkte ki gibi E1 i giriş olarak verdim fakat bir cosinus dalgası olarak E2 ise çıkış olarak atadım.
Bir de başka bir sorum olacak sizlere transfer fonksiyonu ille de z-dönüşümü ile mi kodlanmak zorunda s=jw diyerekten DFT ve IDFT kullanılarak yapılması daha kolay olmaz mı  ?

pisayisi

a ve b katsayılarına değer vermemişsin, sistemin osilasyon koşulunun gerçeklenmesi için bu paremetreler birbirine bağlı çok önemli...
Murat

fgokcegoz

Transfer fonksiyonunun z dönüşümünü birde matlab e hesaplattır. Örnekleme frekansını belirledikten sonra, c2d komutunu kullanarak s domeninden z domenine dönüşümü matlab e yaptırabilirsin. Daha sonra elde ettiğin z domenindeki transfer fonksiyonunu, programlama yöntemlerinden biriyle, programlanabilir hale getir ve blok diyagram olarak elde etmeye çalış. Blok diyagram olarak elde ettikten sonra simulasyonlarını simulinkte yap... Daha etkili olur...
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

AsHeS

Alıntı yapılan: fgokcegoz - 29 Aralık 2012, 12:23:11
Transfer fonksiyonunun z dönüşümünü birde matlab e hesaplattır. Örnekleme frekansını belirledikten sonra, c2d komutunu kullanarak s domeninden z domenine dönüşümü matlab e yaptırabilirsin. Daha sonra elde ettiğin z domenindeki transfer fonksiyonunu, programlama yöntemlerinden biriyle, programlanabilir hale getir ve blok diyagram olarak elde etmeye çalış. Blok diyagram olarak elde ettikten sonra simulasyonlarını simulinkte yap... Daha etkili olur...
Hocam Matlab s^2 fonksiyonun z dönüşümünü almadı sıfır sayısı kutup sayısından fazla hatası verdi ama Matlab'de olayı anladım şimdi sıkıntım ise bu işi elle yapmak için bir referans kitap söyleyebilir misiniz en azından tezde referans gösterebileyim.

mesaj birleştirme:: 29 Aralık 2012, 14:42:46

Alıntı yapılan: fgokcegoz - 29 Aralık 2012, 12:23:11

z

Tustin dönüşümü yapacağın sistemin ROC olması lazım.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

AsHeS

@z hocam z-dönüşümü hakkında pek bir bilgim yok google ile s^2 de iflas ettim.Kuo'nun Kontrol Sistemleri kitabı işe görür mü ya da Oppenheim'ın Sinyaller ve Sistemler kitabı.

z

Z donüşümüne pat diye girmek yerine s domeninde biraz oyalanmalısın.

Kaçıncı sınıftasın?

Çok işine yaramaz ama sayfamda biraz gezin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

AsHeS

Alıntı yapılan: z - 29 Aralık 2012, 15:04:01
Z donüşümüne pat diye girmek yerine s domeninde biraz oyalanmalısın.

Kaçıncı sınıftasın?

Çok işine yaramaz ama sayfamda biraz gezin.
s-domeninde denklemleri elde ediyorum problem buradan z'ye dönüp kodlamak işin içinden çıkamadım güzel bir site kurduğunuz için teşekkür ederim.
4.sınıftayım.

z

4 sınıftaysan zaten Z domeni ile ilgili olarak Sayısal Kontrol, Sayısal Sinyal Analiz gibi isimlerde ders alıyor olmalısın. Seçmeli değil bu ders. Mecburi.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fgokcegoz

Alıntı yapılan: AsHeS35 - 29 Aralık 2012, 14:42:38
Hocam Matlab s^2 fonksiyonun z dönüşümünü almadı sıfır sayısı kutup sayısından fazla hatası verdi ama Matlab'de olayı anladım şimdi sıkıntım ise bu işi elle yapmak için bir referans kitap söyleyebilir misiniz en azından tezde referans gösterebileyim.

Evet o hatayı verir, sıfır sayısı kutup sayısından fazla ise. c2d komutunda metod olarak 'zoh' kullanıyorsan onu değiştir. 'tustin' deneyebilirsin. Kitap olarak bilmiyorum. Biz SAU de dijital kontrol dersinde hocamızın notlarından öğrenmiştik.. Rezidü yöntemi vardı, s domeninden z domenine elle hesap yapıp dönüşüm yapabilmek için. Onu araştırabilirsin.
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fgokcegoz

"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

AsHeS

Alıntı yapılan: z - 29 Aralık 2012, 15:28:47
4 sınıftaysan zaten Z domeni ile ilgili olarak Sayısal Kontrol, Sayısal Sinyal Analiz gibi isimlerde ders alıyor olmalısın. Seçmeli değil bu ders. Mecburi.
Hocam ya siz çok iyimsersiniz ya ben çok kötümserim ama bizim bölümümüzde kontrol teorisi üzerine açılan ders sayısı "0" adet eğer alınmak istenirse fakültede ki elektrik mühendisliği bölümünden alınıp (adı Kontrol Sistemleri sadece s-domeni üzerine) saydırılabiliyor ki ben öyle yaptım en azından bir tane alalım diye.Sayısal sinyal analiz bizde ki sayısal işaret işlemeye tekabül ediyor ki seçmeli ve de benim seçtiğim alanda verilmiyor(elektronik bölümüm) o da İngilizce sunumlardan üstün körü anlatıldığı için rastgele sınavlarına girip çıkmışlığım var o kadar.İşaretler ve sistemler adı altında aldığım derste Fourier'den başka hiçbir dönüşüm görmedim kısacası z-domeni benim için koskoca bir bilinmeyen.
Neyse ki tezimi erken aldım 6 ay içerisinde fonksiyonu kodlama imkanım var.


mesaj birleştirme:: 29 Aralık 2012, 20:11:59

Alıntı yapılan: fgokcegoz - 29 Aralık 2012, 19:54:34
Rezidü Yöntemi ile alakalı tezimdeki kısım : https://hotfile.com/dl/186560775/5d25508/RezidYntemi.pdf
Tezinizi vermişseniz inceleyebilir miyim ?