Şimdi Ara

ayrık zamanda integral alıcısı transfer fonksiyonunu bilen varmı?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
903
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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



  • 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.
  • 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ı
  • 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.
  • ö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
  • 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
  • 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.
  • 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
  • Ö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.
  • 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 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.