Masterarea filtrelor IIR cu punct fix pe DSP încorporate

Implementarea filtrelor de răspuns infinit (IIR) pe procesoarele de semnale digitale cu punct fix (PSD) necesită o combinație de analize numerice riguroase și o înțelegere profundă a hardware-ului țintă. În timp ce aritmetica cu punct plutitor simplifică matematica, punctul fix rămâne alegerea dominantă pentru sisteme integrate de volum mare, cu conţinut de putere. De la anularea zgomotului activ în castile de consum la controlul motor închis-loop în unități industriale, capacitatea de a implementa un filtru IIR stabil, de înaltă performanță, folosind aritmetică punct fix este o competență de inginerie de bază. Acest articol conturează strategiile tehnice necesare pentru a naviga cuanting, scalare și provocări de stabilitate inerente acestor sisteme.

Fundatii de aritmetica punct fix in sisteme IIR

De ce Domina fix-puncte DSP încorporate

Procesoarele cu punct fix consumă semnificativ mai puțină suprafață și putere din siliciu decât omologii lor cu punct variabil. O singură operațiune multipolară (MAC) de 16 biți necesită doar o fracțiune din resursele logice necesare pentru un singur punct de precizie MAC. Pentru aplicații care vizează dispozitive cu putere de baterie sau sisteme cu număr mare de canale, aceasta reduce direct factura materialelor (BOM) și extinde durata de viață operațională. Arhitecturile cu punct fix oferă, de asemenea, un număr de cicluri deterministe pentru bucle critice, ceea ce le face extrem de previzibile pentru sarcinile de control în timp real.

Formatul Q și reprezentarea numerică

În sistemele cu punct fix, se fixează locaţia punctimetrică zecimală. [Formatul Q specifică numărul de biţi care sunt alocaţi părţilor întregi şi fracţionale. Un număr Q15 utilizează 16 biţi total (1 biţi semn, 15 biţi fracţionali), reprezentând valori de la -1.0 la 0.99]. Un număr Q31 extinde acest număr la 32 biţi pentru o precizie mai mare. Totuşi, coeficienţii de filtrare depăşeşte adesea gama întreagă de formate fracţionale standard. De exemplu, un coeficient biquad ar putea egala -1.885. Această valoare necesită un format cu biţi întregi, cum ar fi Q1.14 sau Q2.30. Selectați formatul Q greşit duce la deversiune, saturare sau pierderea preciziei coeficientului.

Decizii critice de arhitectură pentru filtrele IIR cu punct fix

Formularul direct I vs. Formularul direct II

Topologia ecuaţiei diferenţei de filtrare este singura decizie cea mai importantă care afectează performanţa numerică. Structura Formular II Direct utilizează mai puţine linii de întârziere, dar concentrează câştigul complet al filtrului în secţiunea feedback recursiv. Aceasta creează un risc ridicat de supraîncărcare internă dacă statele nu sunt scalate corect, deoarece nodul intern poate creşte mult dincolo de semnalul de intrare. Formul direct I (DFI) separă secţiunile de alimentare înainte (zeros) şi feedback (pole) şi îl face mai rezistent la supraîncarcare. Pentru sistemele cu punct fix, ]Formul direct I Transpus (DF1T)] este adesea preferat deoarece oferă cel mai bun raport semnal-zgoale şi simplifică adăugarea întârzierilor conductei pentru implementarea de mare viteză.

Standardul Biquad Cascaded

Nici o implementare fixă nu ar trebui să realizeze direct o funcție de transfer de mare ordin (de exemplu, ordinul al 8-lea) ca o singură secțiune monolitică. Sensibilitatea coeficienților de filtrare la cuantizare crește exponențial cu ordinea filtrului. Prin ruperea funcției de transfer în secțiuni de ordinul al doilea (SOS) sau biquads, polii sunt grupate în perechi conjugate complexe, minimizând eroare numerică. Cea mai bună practică dictează ca secca biquadProcess {pole cu cel mai mare factor Q} să fie plasat devreme în lanțul cascadei și izolat de secțiuni cu un câștig ridicat pentru a maximiza gama dinamică.

Strategii de implementare de bază pentru cuantificare și scalare

Cuantificarea coeficientă și plasarea la pol

Coeficienţii de filtrare proiectaţi în dublă precizie trebuie cuantizaţi la lungimea de cuvânt fixă ţintă. Această cuantizare mută poziţiile de pol ideal. Un filtru perfect stabil în punctul plutitor poate deveni marginal stabil sau instabil după cuantizare coeficient. Inginerii trebuie să efectueze o verificare de stabilitate post-cuantizare, verificarea faptului că toate magnitudinile poli cuantice sunt strict mai mici de 1.0. Pre-warping prototipul analogic pentru a compensa deformarea frecvenţei de transformare bilineară este un pas necesar înainte de a cuantiza coeficienţii la reţea punct fix.

Gestionarea creșterii și a scalarii semnalelor interne

Natura recursivă a filtrelor IIR înseamnă că valorile nodului intern pot crește mari, chiar și cu intrări modeste. De exemplu, un rezonator cu Q ridicat poate amplifica o intrare mică cu un factor de 100 sau mai mult în bucla sa de feedback. Pentru a preveni supraîncărcarea, trebuie introdus un factor de scalare a intrărilor (de multe ori un drept logic de schimbare).

Dacă câștigul maxim al funcției de transfer de la la este G, semnalul de intrare trebuie să fie scalat cu (sau o putere de 2 aproximare) pentru a garanta că nu se revarsă în calea de feedback. Pentru sistemele de mai sus, fiecare etapă biquad necesită propria analiză de scalare bazată pe contribuția maximă a câștigului.

Leading acumulator larg și saturare

Cele mai multe DSP-uri punct fix au un acumulator de 40 biți sau 56 biți. Acest registru larg acumulează rezultatele operațiunilor cu o valoare de multiplicare fără pierdere de precizie. Provocarea apare atunci când rezultatul acumulatorului de 40 biți trebuie stocat înapoi la o locație de memorie de 16 biți sau 32 biți. Două moduri există: ambalaj și saturare. Înfășurare] poate determina un semnal pozitiv mare pentru a deveni brusc un semnal negativ mare, introducând distorsiuni catastrofale. Saturarea] clemă ieșirea la valoarea maximă a valorii pozitive sau negative a indicelui. Stabilirea steagurilor de saturare ALU este o cerință standard pentru aplicațiile audio și control pentru menținerea integrității semnalului atunci când apar supraîncărcari temporare.

Capturi numerice avansate şi de urgenţă

Cicluri limită și zone moarte

Filtrele IIR cu punct fix pot prezenta oscilații autosusținătoare numite cicluri limită chiar și cu intrare zero. Ciclurile limită de Granular sunt cauzate de erori de rotunjire în multiplicarea recursivă. Atunci când produsul este rotunjit pentru a se potrivi lungimii cuvântului, eroarea de rotunjire se poate acumula. O remediere standard este de a implementa o zonă moartă: atunci când variabilele de intrare și de stat sunt sub un prag definit, variabilele de stat sunt eliminate sau forțate să zero. Aceasta asigură că filtrul se decontează complet. Dithering, adăugarea unui mic semnal de zgomot aleator, poate rupe, de asemenea, comportamentul corelat al ciclului cu costul ridicării podelei de zgomot.

Manipularea filtrelor de înaltă Q și de baghetă îngustă

Filtrele IIR cu grad ingust cu factori Q ridicati sunt extrem de sensibile la cuantizarea coeficientului. O mica schimbare a coeficientilor numitorului poate schimba semnificativ frecventa centrului sau latimea de banda. Pentru astfel de cazuri, se ia in considerare utilizarea filtrelor lattice sau structurilor de stat-spatiu, care prezinta sensibilitate la coeficient mai mic in detrimentul mai multor calcule. In plus, folosind o lungime de cuvinte duble (de exemplu, 32 de biti de stocare a coeficientului pe un procesor de 16 biti) poate oferi precizia necesara pentru coeficientii numitori.

Metodologii de verificare și validare

Simularea și co-simularea bit-True

Încrederea într-o implementare punct fix fără simulare este riscant. Inginerii trebuie să ruleze coeficienții cuantizați exact și operațiunile aritmetice punct fix printr-un model bit-adevăr înainte de a implementa hardware. Instrumente ca MATLAB Fix-Point Designer sau modele personalizate C cu saturare și rotunjire intrinseci permit această simulare. Comparând producția modelului punct fix cu modelul ideal de referință dublu-precizie oferă Media (MSE) și limite de eroare maxime. Această etapă validează faptul că formatul Q ales și factorii de scalare îndeplinesc cerințele raportului semnal-la-zgomot (SNR) sistemului.

Testarea hardware-ului în buclă (HIL)

Odată ce filtrul rulează pe DSP țintă, verificarea se mută la domeniul hardware. Injectarea vectorilor de încercare cunoscute . Cum ar fi un impuls unitar, undele sinusului trepte la frecvențe critice, și semnale multitone permite inginerului să compare producția DAC reală cu producția simulată. Analiza spectrală a producției poate dezvălui distorsiuni armonice neașteptate cauzate de saturarea internă sau cicluri-limită. Este practica standard pentru a implementa un mod de diagnosticare care fluxuri variabile interne de stat înapoi la un PC gazdă pentru analiză.

Testare unitate pentru robustețe

Codul de producție ar trebui să includă teste unitare pentru cazurile de margine:

  • Stabilitate DC: Injectați o valoare constantă a curentului continuu și verificați dacă producția se reglează în limitele definite.
  • Val sinus de amplitudine maximă: Aplicați un val sinusal la scară largă la marginea benzii de trecere și verificați dacă nu are loc nicio saturare.
  • Recuperare zero-input: Aplicați o intrare mare și apoi eliminați-l.Măsurați timpul de decontare și confirmați ciclurile fără limită.
  • Recuperarea suprafluxului: Injectați un semnal care saturează acumulatorul și verificați dacă puterea se recuperează fără probleme atunci când semnalul este îndepărtat.

Concluzie

Punerea în aplicare a filtrelor IIR cu punct fix aritmetic pe cipuri DSP rămâne o sarcină solicitantă, dar necesară pentru inginerii de sisteme integrate. O implementare de succes necesită o planificare atentă în trei domenii cheie: arhitectura (alegerea biquadurilor cascadate peste secțiuni de înaltă comandă), scalarea (gestionarea creșterii semnalului în limita lungimii de cuvânt finite), și verificarea (utilizarea simulării bit-truite și testarea riguroasă a HIL). Prin aderarea la aceste bune practici, inginerii pot dezvolta filtre IIR care sunt stabile numeric, produc distorsiune scăzută, și să îndeplinească constrângerile stricte de performanță ale sistemelor moderne de procesare a semnalelor încorporate.