Koeficijenti

Pored matematičkih metoda za određivanje koeficijenata filtera, postoje i softverski alati za to. Jedan od najkompleksnijih alata za to je MATLAB. Njegov besplatni pandam GNU Ocatve radi to isto ali malo nekomfornije. Interesantne web aplikacije za projekovanje filtera su MicroModeler, TFilter kao i FFD (moj alat za projektovanje FIR filtera) o kome ćemo govoriti u ovom poglavlju.

Alat je u fazi razvoja. Za projektovanje filtera koristi “Parks-McClellan” algoritam, poznat i pod nazivom “Remez exchange” ili "Equiripple". Alat daje identične rezultate kao isti algoritam u Octavi i MatLabu.

Kao što se vidi sa slike, program je podeljen u dva dela: levi, gde se zadaju parametri filtera i desni gde se vidi rezultat. Programom se mogu projektovati Lowpass, Highpass, Bandpass i Bandstop filteri.

Osnovni parametri za projektovanje npr. Lowpass filtera su:

  • Sample rate – frekvencija semplovanja signala,
  • Low band edge – frekvencija do koje filter neće menjati signal (završava se Passband),
  • High band edge – frekvencija od koje će filter “stišati” signal (počinje Stopband),
  • Pass band ripple – koliko filter sme da menja signal u Passbandu,
  • Stop band gain – koliko će filter “utišati” signal u Stopband-u.

Po defaultu program traži najmanji broj tapova, ali se željeni broj tapova može podesiti u odeljku Filter Order.

Pošto smo zadovoljni sa frekventnim odzivom filtera, možemo proveriti impulsni odziv. Na slici ispod je prikazan karakterističan imulsni odziv lowpass filtera, kao i izmerene vrednosti izračunatog filtera.

Koeficijenti filtera se dobijaju u Q15 formatu tj. Int16, već pripremljen kao vektor za C, zajedno sa C kodom koji služi za proveru i implementaciju filtera. Kod je generički i trebalo bi da radi na bilo kom hardveru. Kod je testiran u CCS 5 i radi na TI C2000 i C5000 familiji digitalnih signal procesora. Za optimalnu realizaciju filtera potrebno je koristiti bibliotečke funkcije za određeni tip procesora. Bez obzira na biblioteku, izračunati koeficijenti u vektoru h[N] uvek važe za traženi filter.

results matching ""

    No results matching ""