Implementazione di filtri Iir con Arithmetic a punto fisso in chip Dsp: Migliori Pratiche

Mastering Filtro IIR fisso-punto su DSP incorporati

I filtri IIR (Infinite Impulse Response) su processori digitali a punto fisso (DSP) richiedono una combinazione di analisi numeriche rigorose e una profonda comprensione dell'hardware di destinazione. Mentre galleggiante-point aritmetica semplifica la matematica, il punto fisso rimane la scelta dominante per sistemi embedded ad alte prestazioni, con il controllo di stabilità del rumore attivo nei motori auricolari chiusi

Fondazioni di Arithmetic a punto fisso in IIR Systems

Perché Domina Dominazioni a punto fisso DSP incorporato

Un'unica operazione multiply-Accumulate (MAC) a 16 bit richiede solo una frazione delle risorse logiche necessarie per un MAC a punto variabile a singola precisione. Per le applicazioni che mirano a dispositivi a batteria o sistemi ad alto contenuto di canali, questo riduce direttamente la fattura dei materiali (BOM) e estende la vita operativa.

Il formato Q e la rappresentazione numerica

In sistemi a punto fisso, la posizione del punto decimale è fissa.]Q format[]] specifica quanti bit sono assegnati alle parti integer e frazionarie. Un numero Q15 utilizza 16 bit totali (1 bit segno, 15 bit frazionari), che rappresentano i valori da -1.0 a 0.9999.

Decisioni critiche per i filtri IIR a punto fisso

Modulo diretto I vs. Modulo diretto II

La struttura del modulo diretto II utilizza meno linee di ritardo, ma concentra il guadagno completo del filtro nella sezione di feedback ricorsivo. Questo crea un alto rischio di overflow interno se gli stati non sono scalati correttamente, in quanto il nodo interno può crescere molto oltre il segnale di ingresso resistente Diretti forma I (DFI)] separa le sezioni di feedback [FLT1]

Il Cascaded Biquad Standard

Nessuna implementazione a punto fisso dovrebbe realizzare direttamente una funzione di trasferimento ad alto ordine (ad esempio, 8° ordine) come una singola sezione monolitica. La sensibilità dei coefficienti di filtro alla quantizzazione cresce esponenzialmente con l'ordine del filtro.

Strategie di implementazione del core per la quantizzazione e la scala

Quantizzazione e posizionamento dei polacchi

I coefficienti di filtraggio progettati in doppia precisione devono essere quantizzati alla lunghezza della parola fissa del punto di destinazione. Questa quantizzazione sposta le posizioni ideali del polo. Un filtro perfettamente stabile nel punto galleggiante può diventare marginalmente stabile o instabile dopo la quantizzazione del coefficiente. Gli ingegneri devono eseguire un controllo di stabilità post-quantizzazione, verificando che tutte le magnitudine di palo quantizzate siano rigorosamente inferiori a 1.0.

Gestione della crescita e della scala interna dei segnali

Per esempio, un risonatore ad alto Q può amplificare un piccolo input da un fattore di 100 o più all'interno del suo loop di feedback. Per evitare il trabocco, deve essere introdotto un fattore di scalamento di input (spesso un diritto di spostamento logico) che si consideri l'equazione di differenza biquad standard DF1:

Se il massimo guadagno della funzione di trasferimento da [ a ] è G, il segnale di ingresso deve essere scalato da [ (o una potenza di 2 approssimazioni) per garantire il non sovraflusso del percorso di feedback.

Saturazione e Accumulatore di grandi dimensioni

La maggior parte dei DSP a punto fisso è dotata di un accumulatore a 40 bit o a 56 bit. Questo ampio registro accumula i risultati delle operazioni a più arretrate senza perdere precisione. La sfida si verifica quando il risultato dell'accumulatore a 40 bit deve essere memorizzato in una posizione di memoria a 16 bit o a 32 bit.

Avanzate cadute numeriche e bonifica

Cicli di limite e zone morte

I filtri IIR a punto fisso possono mostrare oscillazioni auto-susificanti chiamate cicli limite anche con zero input. I cicli di limite granulari sono causati da errori di arrotondamento nella moltiplicazione ricorsiva. Quando il prodotto è arrotondato per adattarsi alla lunghezza della parola, l'errore di arrotondamento può accumularsi.

Gestione di filtri ad alta qualità e a catena stretta

I filtri IIR a banda stretta con fattori Q elevati sono eccezionalmente sensibili alla quantizzazione del coefficiente. Un piccolo cambiamento nei coefficienti di denominatore può spostare significativamente la frequenza centrale o la larghezza di banda. Per tali casi, considerare l'utilizzo dei filtri di lattice[]] o ] strutture a stato-spazio, che mostrano una sensibilità del coefficiente inferiore del coefficiente di calcolo a spese di calcolo a doppio.

Metodologie di verifica e convalida

Simulazione bit-True e Co-Simulation

L'implementazione di un punto fisso senza simulazione è rischiosa. Gli ingegneri devono eseguire i coefficienti esatti quantizzati e le operazioni aritmetiche a punto fisso attraverso un modello bit-true prima di distribuire all'hardware. Strumenti come MATLAB Fixed-Point Designer o modelli C personalizzati con formati di saturazione e arrotondamento consentono questa simulazione.

Test hardware-in-the-Loop (HIL)

Una volta che il filtro è in esecuzione sul DSP di destinazione, la verifica si sposta sul dominio hardware. Iniezione vettori di test noti - come un impulso di unità, onde sine passo passo a frequenze critiche e segnali multi-tone - consente all'ingegnere di confrontare l'uscita effettiva DAC contro l'uscita simulata.

Test di unità per la robustezza

Il codice di produzione dovrebbe includere test di unità per i casi di bordo:

Conclusioni

I filtri IIR con aritmetica a punto fisso sui chip DSP rimangono un compito impegnativo ma necessario per gli ingegneri di sistemi incorporati. Un'implementazione di successo richiede una pianificazione accurata in tre aree chiave: l'architettura (che combina biquads a cascata su sezioni di alto ordine), la scalatura (managing della crescita del segnale all'interno della lunghezza delle parole finite), e la verifica (utilizzazione della simulazione bit-true e rigorosi test HIL).