Arama butonu
Bu konudaki kullanıcılar: 1 misafir
9
Cevap
1003
Tıklama
0
Öne Çıkarma
ayrık zamanda integral alıcısı transfer fonksiyonunu bilen varmı?
R
20 yıl (78 mesaj)
Çavuş
Konu Sahibi

mikroişlemci ile PI tasarımında integral alıcı için transfer fonksiyonunu

e(hata)=[ (z+1)/(z-1)] *e(çıkış)

olarak biliyordum

ama matlab simulink te ise

e(hata)=[ 1 / (z-1)] *e(çıkış)

olarak transfer fonk. nunu girince çıkış grafiğini istediğim aralıkta alabiliyorum. (yani yine matlabın masklenmiş kendi PI kontrolorüyle aynı çıkış sinyalini veriyor)

acaba kaçırdığım bir noktamı var ,yoksa eski bilgilerimdemi bir hata var anlayamadım.
bilgisi olan varsa bana yardımcı almasını istiyorum.
teşekkürler

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



H
20 yıl (520 mesaj)
Yüzbaşı

Sürekli zamandan ayrık zamana geçerken farklı yöntemler kullanılabilir. Örneğin geriye doğru fark (backward difference) ve çift doğrusal dönüşüm (bilinear transformation) bunlardan ikisidir. İkisi ile elde edeceğin ayrık zaman işlevleri farklı olabilir ancak sonuç olarak aynı işi göreceklerdir.


Bu mesaja 1 cevap geldi.
L
20 yıl (762 mesaj)
Yüzbaşı

bakalım düşünerek bulabilcek miyiz

y[n]=x[n]+y[n-1]

x impulse ise

h[n]=h[n-1]+d[n]

iki tarafın z transformu

H(z)=z^-1H(z)+1

H(z)(1-z^-1)=1

H(z)=1/(1-z^-1)=z/z-1

yanlış mı


Bu mesaja 1 cevap geldi.
H
20 yıl (520 mesaj)
Yüzbaşı

http://www.che.iitb.ac.in/faculty/km/cl692/07oct05-3.pdf adresinde yamuk altında kalan alanın hesaplanması yoluyla dönüşüm nasıl yapılabileceği gösteriliyor. lftx; örnek bazında işlem yapmak yerine, örnek zamanını da dikkate alarak işlem yapmak gerek.


Bu mesaja 1 cevap geldi.
L
20 yıl (762 mesaj)
Yüzbaşı

örnekleme frekansı fs ise yani Ts bu transfer fonksiyon şu işi yapmış olmazmı?

int sum=0;
for(i=0;i<999;i++){
sum=sum+Ts*g(i*Ts);
}

hmm burdaki Ts i dikkate nasıl alırız düşünelim (Reimann toplamı yapıyoruz)

y[n]=y[n-1]+Ts*x[n];

h[n]=h[n-1]+Ts*d[n]

H(z)=Ts/1-z^-1

Ts sadece bir skaler olarak geliyormuş benim mantığa göre


Bu mesaja 2 cevap geldi.
L
20 yıl (762 mesaj)
Yüzbaşı

denedim dediğim oluyor

>> fs=10000; ****10kHz de örnekliyorum
>> Ts=1/fs;
>> n=[0:100000]; ****100bin sample aldık
>> g=exp(n*Ts);
>> plot(g); ****g integralini almak istediğimiz fonksiyon
>> 100000*Ts ***** 0 ile 10sn arasının integrali

ans =

10

>> exp(10)-exp(0) **** e^t nin integrali yine kendisi 0 dan 10 sn ye kadar alıyoruz bu durumda e^10-e^0

ans =

2.2025e+004 ****bulmamız gereken değer

>> integ=filter([Ts 0],[1 -1],g); ****integral alan filtreden geçiriyoruz
>> integ(100001) **** 10. sndeki integali alınmış fonksiyonun değeri

ans =

2.2027e+004 ****bizim filtrenin sonucu



H
20 yıl (520 mesaj)
Yüzbaşı

Ts*x[n] yaparak n-1. örnek ile n. örnek arasındaki alanı hesaplayabilir miyiz peki? Bu nedenle alanı Ts/2*(x[n]+x[n-1]) ile yamuk altında kalan alan mantığı ile hesaplamalıyız. Z dönüşümünü bu eşitlik üzerinde alacak olursak H(z)=Ts/2*(z+1/z-1) elde edilir.


Bu mesaja 1 cevap geldi.
L
20 yıl (762 mesaj)
Yüzbaşı

yaptığı iş aynı oluyor sonuçta

birisi tek örneğin (ilk örneğin) yüksekliğini alıp dikdörtgen alanı hesaplıyor (benim önerim)

sizinki ardışık iki örnek ortalamasını alıp ortalama bir yükseklikte bir dikdörtgenin alanını hesaplıyor

Ts*x[n-1] de hesaplanabilir (son örneğin) sonuçta Ts yeterince küçükse bu üç yöntemde birbirine yakınsar

H(z)=Ts*z^-1/1-z^-1=Ts/z-1


Bu mesaja 1 cevap geldi.
H
20 yıl (520 mesaj)
Yüzbaşı

Örnekleme hızı yeterince yüksek ise söylediğinde haklısın. Bu konuya ilk mesajımda yazdığım gibi farklı yaklaşımlar ile bu tip dönüşümler yapılabiliyor. Senin yaptığında bu tip yaklaşımların en basiti olarak değerlendirilebilir.


Bu mesaja 1 cevap geldi.
R
20 yıl (78 mesaj)
Çavuş
Konu Sahibi

teşşekkürler arkadaşlar verdiğiniz çalışmalar oldukça yararlı oldu ve artık simulink devrem hatasız ve istenilen şekilde çalışıyor.

programıda yazdım ama 8 bit lik işlemci için uzun bir program oldu (özellikle işaretli 16 bitlik çarpma kısmı) örnekleme zamanı çok düşük oluyor
16 bitlik işlemci kullanıcam.

renesas m16c işlemcisi için türkçe dökümanları nereden bulabilirim.bilgisi olan var mı?





< Bu mesaj bu kişi tarafından değiştirildi ruges -- 16 Kasım 2005, 16:54:19 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.