Z Domeni Uygulaması Hakkında

Başlatan NaMcHo, 19 Ocak 2012, 15:40:32

NaMcHo

Finallerimin bitmesiyle birlikte Sinyaller Ve Sistemler dersinde işlediğimiz Z domeni baya hoşuma gitti ve bunun üzerine öğrendiklerimi uygulayabilmek için kaynak arayışına girdim ve "Microcontroller Based Applied Digital Control" bu kitabı buldum.Şuanda bu kitabı takip ediyorum ve kafamı karıştıran bir kısma rastladım.

Sayfa 258'de bir uygulama var ve burada şöyle bir kod yazılmış
/* Interrupt Service Routine.        The program jumps here every 10 ms */ 
void interrupt ISR(void) 
{ 
        Read_AD_Input();                       /* Read A/D input */ 

        ek = sk - yk;                          /* Calculate error term */ 
        rk = ek + M1; 
        yk = a0*rk + M2;                       /* Calculate output */ 
        uk = yk*DA LSB; 
        PORTB = uk;                            /* Send to PORT B */ 
        DA Write = 0;                          /* Write to D/A converter */ 
        DA Write = 1;

         rk 2 = rk 1;                          /* Update variables */ 
         rk 1 = rk; 
         M1 = -b1*rk 1 - b2*rk 2; 
         M2 = a1*rk 1 + a2*rk 2; 

         T0IF = 0;                            /* Re-enable timer interrupts */ 
}

Burada yk AN0'dan okunan analog bir değer aynı şekilde rk'da analog oluyor ve ardından
yk = a0*rk + M2;
bu satırda hesaplanan yk da analog.(AN0'dan okunan yk ile bir alakası yok.)

uk = yk*DA LSB;
bu satırda ise DAC'a gönderilcek olan verimiz dijitale çevriliyor.

DAC gönderilcek verinin uk=yk/DA_LSB; şeklinde olması gerekmiyormu?

DA_LSB=5000.0/1024.0 (mV cinsinden) ve sk=1; olarak tanımlanmış.(sk=set point)

Son olarak birde bu sk değerini neye göre belirlememiz gerekiyor?

Akış diyagramı :


Fark Denklemi Şeması :

png image hosting

NaMcHo

Sanırım yanlış yere açmışım başlığı Kontrol Teorisi - Matematiği bölümüne taşınabilirse daha uygun olucak.

pisayisi

ek=sk - yk olduğuna ve hata terimi olarak verildiğine göre olması gereken önceden tanımlanmış çıkış dizisi sk ve mevcut gözlemlenen yk olarak ele alınır. sk =1 kabul edildiğinde sistemin testi daha anlaşılabilir hale gelir. Daha iyisi z domeni transfer fonksiyonunu çıkarıp bilineer transformasyonla s düzlemine geçip  sistemin frekans cevabını bulmak isabetli olur. ayrık sistemlerde zaman düzlemi yanıtları pek fikir vermez bazan birim basamak cevabına karşılık sistemin kararlık kriterlerini test maksadı ile kullanılabilir.Ardışıl lojik devreler gibi düşünmemek lazım. Arm işlemcilerde z domeni fonksiyonlar iir fir filtre yapıları için hazır kütüphaneler olarak uygulamalarda sıklıkla kullanılmakta...
Murat