Trecând la filtre digitale

15 MARTIE 2007

Funcţia unui filtru este de a elimina componente nedorite ale unui semnal (cum ar fi zgomotul oarecare) sau pentru a extrage parţi folositoare din semnal (cum ar fi componente ale semnalului care se află între anumite clase ale frecvenţelor). Să luăm spre exemplu proiectarea, simularea şi desfăşurarea filtrelor trece-jos. Lucrul care este ştiut de la început este frecvenţa aproximativă de răspuns necesară pentru filtrul trece-jos. Aşadar, care este următorul pas?

Acest articol descrie o abordare pentru proiectarea şi simularea filtrelor în doar câteva minute folosind două pachete software bazate pe GUI pentru executarea proiectului, simularea şi eventual pentru implementarea filtrului: softul dsPIC® DSC pentru Proiectarea Filtrelor şi dsPICworks™ pentru analiza datelor şi soft de proiectare.

Pasul 1: Identificarea cerinţelor
Presupunem că este folosit convertorul analog-digital pentru a selecta un semnal de intrare la 12 kHz şi că este nevoie să fie filtrate frecvenţe peste 3300 Hz din semnalul de intrare. Pentru acest lucru se foloseşte Softul dsPIC DSC pentru Realizarea Filtrelor. Bara de unelte a softului oferă câteva posibilităţi pentru începerea procesului de proiectare a filtrului. Dacă, spre exemplu, s-a ales un filtru cu Răspuns Infinit la Impuls (IIR), trebuie doar dat click pe icoana IIR şi completată prima fereastră de dialog (vezi Figura 1).

Căsuţa de dialog pentru Specificarea Intrării Filtrului ce apare după, necesită specificaţii despre motivul proiectării filtrului. Căsuţa de text numită Riplul Benzii de Oprire (dB) permite specificarea atenuării ce va fi aplicată semnalului. Frecvenţele benzii de trecere şi ale benzii de oprire evidenţiază o bandă de tranziţie. Mai există o unealtă care deschide o fereastră de dialog pentru a ajuta la asigurarea criteriului Nyquist în timp ce sunt specificate aceste frecvenţe.

Pasul 2: Evaluarea opţiunilor de filtrare
Odată ce căsuţele de dialog din Figura 1 au fost completate, softul de proiectare al filtrului evaluează cerintele de filtrare ale circuitului şi redă o estimare a ordinului filtrului pentru unul IIR, analogic echivalent. Cum pot fi cinci tipuri de filtre IIR, bazate pe caracteristicile riplului lor în banda de trecere şi banda de blocare, softul afişează estimările ordinului filtrelor pentru toate cele cinci tipuri de filtre IIR (vezi Figura 2). Unealta selectează automat implementarea optimă a filtrului digital ţinând cont de cerinţele specificate în Pasul 1. Filtrul optim este de obicei cel cu ordinul cel mai mic, deoarece ordinul filtrului este direct proporţional cu execuţia în timp într-o implementare DSP. În puţine cazuri, cum ar fi sisteme de control în buclă-închisă, trecerea peste selecţia automată permite alegerea unui filtru Butterworth, pentru a obţine un răspuns nul (de exemplu: să nu existe riplu) în ambele: banda de trecere şi cea de blocare. În exemplul prezentat aici, va fi folosită selecţia de bază dată de unealtă, cum ar fi filtrul eliptic ce redă caracteristicile echivalente din banda de trecere şi cea de blocare.

Pasul 3: Examinarea filtrului proiectat
După ce s-a dat click pe Next după cum arată şi Figura 2, sotful afişează o varietate de grafice (vezi Figura 3). Acestea pot fi folosite pentru a verifica dacă softul a generat un filtru pe măsura cerinţelor. Acest lucru este folositor, în special dacă setările standard din Figura 2 nu au fost luate în considerare. Apoi, un fişier pentru coeficientul filtrului (*.flt) trebuie să fie creat pentru a simula filtrul. Figura 3 arată opţiunea din meniu ce este folosită pentru a salva acest fişierul. Acesta conţine 16 coeficienţi necesari pentru a implementa filtrul IIR, Eliptic, de ordin 8. Coeficienţii sunt astfel proiectaţi încât filtrul de ordinul 8 este implementat ca patru trepte în cascadă formate din filtre de ordinul 2 (cunoscute ca “biquad-uri”).

Pasul 4: Simularea filtrului
Acum, după ce coeficienţii filtrului au fost salvaţi, următorul pas este să fie rulate date prin filtru şi să se examineze dacă filtrul funcţionează corect. Softul de proiectare şi analiză a datelor, dsPICworks este folosit aici. Acest soft poate genera sau importa forme de undă, poate efectua numeroase operaţii aritmetice şi DSP, cum ar fi filtrare şi FFT pe formele de undă şi, exportarea acestora în Windows WAV sau fişiere text ASCII. Acest exemplu foloseşte un semnal cu două componente sinusoidale la frecvenţe de 100 Hz şi 4300 Hz. Semnalul în domeniu timp este plasat în partea din stânga-sus în Figura 4. În partea de jos-stânga sunt evindenţiate componentele de frecvenţă ale semnalului. Semnalul de intrare este trecut prin filtrul ce a fost proiectat în paşii 1-3. Căsuţa de dialog arătată în Figura 4 permite utilizatorului să procure un fişier cu forme de undă pentru intrare, fişierul ce conţine coeficienţii filtrului şi numele fişierului formei de undă de la ieşire. Semnalul filtrat de la ieşire este arătat în partea dreaptă-sus a Figurii 4. În partea dreaptă-jos sunt afişate componentele de frecvenţă a semnalului filtrat de la ieşire. Poate fi făcută presupunerea că filtrul se va comporta identic pe procesorul embedded, pe 16 biţi, deoarece softul dsPICworks realizează toate calculele pe 16 biţi, în virgulă fixă.

Pasul 5: Ajustarea pentru dimensionare
Dacă filtrul proiectat nu funcţionează satisfăcător, paşii de la 1 la 4 pot fi repetaţi, cu diferite alegeri de filtrare, inclusiv filtre FIR în locul celor IIR selectate la pasul 1. Tipic, filtrele IIR asigură un răspuns exact fară să folosească multă memorie de date. Pentru implementarea unui filtru de ordinul 8, apoximativ 64 biţi sunt suficienţi. Filtrele FIR au cerinţe de memorie diferite, dar sunt esenţiale în aplicaţii care necesită un răspuns liniar pe perioadă. Un filtru FIR care furnizează acelaşi răspuns ca şi filtrul IIR proiectat în acest exemplu poate consuma aproximativ 350 biţi de memorie de date. Cu toate că aceasta poate fi înjumătăţită dacă plasarea coeficienţilor filtrului se va face în memoria de program.

Pasul 6: Rularea filtrului într-un sistem embedded
Softul dsPIC Filter Design deţine un meniu cod-generator ce crează un fişier sursă ce conţine coeficienţii filtrului. În plus, asigură funcţii de filtrare a IIR şi FIR pa cablu C în fişiere sursă, care pot fi duse într-un mediu de dezvoltare. Suplimentar faţă de aceste fişiere sunt necesare: un compilator C, un Depanator în-circuit şi o placă de perfecţionare, pentru a rula pe-chip filtrele proiectate.

Trecerea la filtre digitale a fost simplificată de-a lungul timpului. Există unelte de dezvoltare pentru PC la cost redus sau gratuite, ce permit inginerilor să proiecteze şi să simuleze filtre, să genereze coduri, în câteva minute. În plus, aceste unelte imită operaţiile pe 16 biţi realizate de microprocesor. Cu nivelul de analog şi integrarea sistemului, realizate azi în controlere digitale de semnal, aceste unelte realizează un caz concret pentru trecerea la filtre digitale.

Notă: dsPIC este o marcă înregistrată a Microchip Technology Inc. în SUA şi alte ţări. dsPICworks este o marcă înregistrată a Microchip Technology Inc.Toate celelalte mărci înregistrate menţionate mai sus sunt proprietăţi ale respecatbilelor lor companii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre