Esiste una regola pratica per calcolare lordine approssimativo dei filtri di un FIR / IIR basato sulla banda passante rispetto alla frequenza di campionamento? Mi sembra di ricordare di averne letto una volta a Undergrad. Penserei che potresti fare una stima approssimativa come scaler * passband / stopband.

Ho lavorato sullimplementazione di diversi filtri FIR / IIR e vorrei una formula approssimativa che dica se una variabile viene modificata, questa è approssimativamente il numero di tocchi in più necessari per ottenere prestazioni simili.

Commenti

Risposta

La mia " regola pratica " preferita per lordine di un filtro FIR passa basso è " regola empirica di fred harris ":

$$ N = \ frac {f_s} {\ Delta f} \ cdot \ frac {\ rm atten_ {dB}} {22} $$

dove

  • $ \ Delta f $ è la banda di transizione, nelle stesse unità di $ f_s $
  • $ f_s $ è la frequenza di campionamento del filtro
  • $ \ rm atten_ {dB} $ è il rifiuto target in dB

Ad esempio, se hai una banda di transizione di 100 Hz in un sistema campionato a 1 kHz e il tuo requisito di rigetto è di 50 dB nella banda di stop, allora il lordine può essere approssimato da:

$$ N = \ frac {1 \ \ rm kHz} {100 \ \ rm Hz} \ cdot \ frac {50} {22} = 23 \ \ rm taps \ tag {rounding} $$

Grazie Fred Harris!

Nota unaltra formula più dettagliata che tiene conto della banda passante ripple è la formula di Kaiser grazie a James Kaiser di Bell Labs, che ho incluso nel grafico di seguito.

Per la maggior parte delle applicazioni che ho fatto, lapproccio di Fred Harris è andato bene, dato un certo rifiuto , i filtri risultanti che utilizzano algoritmi di progettazione di filtri tradizionali come Parks-McClellan e Remez hanno superato i miei requisiti di ondulazione della banda passante una volta soddisfatti i requisiti di rifiuto. (Quello che di solito faccio è stimare lordine, progettare il filtro con quellordine, ispezionare il risultato e aumentare o diminuire lordine da lì per mettere a punto). I risultati delle stime sono proprio questo: stime e possono variare ampiamente a seconda dei parametri di progettazione complessivi e non devono essere considerati una soluzione esatta.

inserisci qui la descrizione dellimmagine

Per coloro che hanno familiarità con la progettazione di filtri utilizzando approcci a finestra, rivedere il carro merci o la finestra rettangolare (che è un semplice troncamento) rivela perché sono necessari $ f_s / \ Delta f $ tocchi (che è lo stesso di $ 2 \ pi / \ Delta \ omega $ se le unità per la frequenza normalizzata sono radianti / campione come spesso si fa) per completare la banda di transizione. Guarda le immagini sotto che aiutano a spiegare questo.

Limmagine in alto sotto mostra la frequenza Sinc prevista per una finestra rettangolare nel tempo, in questo caso come un impulso rettangolare non causale centrato su $ t = 0 $ . Questo viene quindi ripetuto in forme discrete come una forma donda causale a partire da $ t = 0 $ , sia con la Trasformata di Fourier discreta (DTFT) che con la Trasformata di Fourier discreta (DFT) dove la differenza è che i campioni nel tempo si estendono a $ \ pm \ infty $ per il DTFT risultante in una forma donda continua nel dominio della frequenza. In entrambi i casi il risultato è una funzione Sinc con alias che è periodica nellintervallo $ f = [0, f_s) $ , con il punto chiave che per $ N $ campiona nel tempo la funzione rettangolare, la risposta in frequenza avrà il suo primo valore nullo in $ f = 1 / N $ (Dove $ f $ è la frequenza normalizzata dove 1 è la frequenza di campionamento).

Tranform Review

La prossima immagine sotto mostra lapproccio della finestra rettangolare al design del filtro (che non consiglierei mai ma è informativo). Il primo grafico nellangolo in alto a sinistra mostra la risposta in frequenza target per il nostro filtro come una risposta ideale " brick wall ". Non confonderlo con il " finestrino del boxcar " (o " finestra rettangolare ") che è anche una forma rettangolare: la finestra è nel dominio del tempo!

Per realizzare un tale filtro, useremmo la risposta allimpulso della risposta in frequenza desiderata come i coefficienti nel nostro filtro FIR (i coefficienti del filtro sono la risposta allimpulso — inseriamo un impulso in e vengono fuori tutti i coefficienti!). La risposta allimpulso per una risposta in frequenza rettangolare (brickwall) è la FT inversa che è una funzione Sinc, nel dominio del tempo, mostrata nellangolo inferiore sinistro come " Risposta allimpulso richiesta ". Una funzione Sinc si estende a più e meno infinito, quindi per realizzare effettivamente un tale filtro avremmo bisogno di un filtro infinitamente lungo e avrebbe un ritardo infinitamente lungo. Ovviamente non possiamo farlo, quindi tronciamo i coefficienti a qualcosa di realizzabile. Più lungo è il filtro, più vicino approssimiamo la risposta ideale del brickwall, ma anche più lungo sarà il ritardo (e più risorse avremmo bisogno in termini di la costruzione del filtro; più tocchi).

Troncare la risposta allimpulso nel dominio del tempo è matematicamente identico alla moltiplicazione per una finestra rettangolare nel dominio del tempo. (Si noti che anche la risposta allimpulso è ritardata della metà della durata della finestra in modo che il sistema sia causale). La moltiplicazione nel dominio del tempo è equivalente alla convoluzione nel dominio della frequenza. Il dominio della frequenza (FT) della risposta allimpulso prima del troncamento è la nostra risposta in frequenza brickwall originale desiderata. La frequenza risposta per la finestra rettangolare è una funzione Sinc nel dominio della frequenza.

Quindi, quando tronciamo la risposta allimpulso desiderata (moltiplichiamo nel tempo per una finestra rettangolare), convolgiamo la risposta in frequenza desiderata e con una funzione Sinc, risultante in unapprossimazione della nostra risposta in frequenza target come mostrato nellangolo in alto a destra dellimmagine sotto.

Risposta in frequenza dopo il windowing

Un elemento chiave per le funzioni Sinc in generale è che il primo null è $ 1 / T $ dove $ T $ è la durata della funzione rettangolare. Per un sistema campionato, il primo null sarebbe in $ 2 \ pi / N $ dove $ N $ rappresenta il numero di campioni per la durata della funzione rettangolare. Nelle immagini viene utilizzata una frequenza in radianti normalizzata per lasse della frequenza (se questo crea confusione, è sufficiente sapere che $ 2 \ pi $ è la frequenza in radianti per la frequenza di campionamento). Quindi, nel processo della convoluzione, la brusca transizione brickwall si diffonde e in questo caso va a 0 (il nostro $ \ Delta \ omega $ ) su una frequenza di $ 2 \ pi / N $ ! Quindi qui $$ N = 2 \ pi / \ Delta \ omega $$ e ovviamente il filtro è povero di lobi laterali ecc. Nota questo: questa transizione dalla funzione Sinc è il più nitido disponibile per un dato numero di tocchi; ha la migliore risoluzione in frequenza ma la gamma dinamica più scarsa (rifiuto). Altre tipologie di finestre (Blackman, Blackman-harris, Kaiser (la mia preferita), ecc.) Miglioreranno notevolmente la gamma dinamica ma sempre a scapito della transizione.

N tocchi per completare la transizione

Quindi, da quanto sopra, vediamo lorigine del $ 2 \ pi / \ Delta \ omega $ che viene utilizzato nelle formule di approssimazione, e vediamo anche perché cè un fattore di moltiplicazione aggiuntivo che aumenta il numero di tocchi sopra questo per i tipici progetti di filtri; la finestra rettangolare ci darebbe la migliore transizione possibile con $ N $ tocchi dove $ N = 2 \ pi / \ Delta \ omega $ ma hanno uno scarso rigetto. Vengono utilizzati più tocchi per rendere più uniforme la transizione temporale oltre la transizione netta della finestra rettangolare, fornendo un maggiore rifiuto a scapito della larghezza di banda della transizione.

Commenti

  • Per evitare confusione, la formula che chiami " Kaiser ' s formula " è in realtà la formula per i filtri ottimali di Parks McClellan (effettivamente trovati da Kaiser), ma non per il metodo della finestra Kaiser. Questultimo ' non ha due diversi $ \ delta $ valori ma solo uno.
  • In effetti, buona spiegazione Matt dato che esiste un metodo a finestra Kaiser. Questa formula è tuttavia denominata " Kaiser ' s Formula " nella letteratura, solo così i lettori non ' pensano che sia stato il mio uso di quel termine. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
  • Fantastico!Sembra che provenga dalla pagina 48 del ' libro di Fred Harris: " Multirate Signal Processing for Communication Systems "?
  • La regola pratica o le immagini? Le foto sono mie per un corso che faccio. Non ' non ho il libro di fred ' ma sono un grande fan e mi è stato presentato il suo " regola pratica " da lui in una presentazione DSP World che ha fatto intorno al 1996. (Nota che insiste che il suo nome sia scritto con tutte le lettere minuscole).
  • @DanBoschen La formula di Parks McClellan è valida anche quando si progettano filtri FIR passabanda? In caso contrario, esiste unaltra " regola pratica " che potrebbe essere applicata?

Risposta

La lunghezza di un filtro FIR o lordine di un filtro IIR è approssimativamente inversamente proporzionale al rapporto della larghezza della banda di transizione (quella più stretta , se molti) alla frequenza di campionamento, altre cose sono in qualche modo equivalenti, ad eccezione dei filtri di ordine molto brevi o molto bassi.

Commenti

  • Non so perché qualcuno ha svalutato. Lho riparato a zero.
  • Altre cose sono in qualche modo equivalenti?
  • Il ripple della banda passante e lattenuazione della banda di arresto sono anche gli altri fattori principali che influenzano la lunghezza del filtro. li>

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *