Regola empirica del filtro


8

Esiste una regola empirica per calcolare l'ordine approssimativo del filtro di un FIR / IIR in base alla banda passante rispetto alla frequenza di campionamento? Mi sembra di averlo letto una volta a Undergrad. Penso che potresti fare una stima approssimativa come scalband * passband / stopband.

Ho lavorato sull'implementazione di diversi filtri FIR / IIR e vorrei una formula approssimativa che dice che se una variabile viene modificata, si tratta approssimativamente di quanti più tocchi avresti bisogno per ottenere prestazioni simili.


Per i filtri FIR c'è una formula fornita in questa risposta .
Matt L.

Risposte:


11

La mia "Regola empirica" ​​preferita per l'ordine di un filtro FIR passa-basso è la "regola empirica di Fred Harris":

N=[fs/delta(f)][atten(dB)/22]

dove delta (f) è la banda di transizione, nelle stesse unità di è la frequenza di campionamento dell'attenuazione del filtro (dB) è il rifiuto target in dBfs fs

Ad esempio, se si dispone di una banda di transizione di 100 Hz in un sistema campionato a 1 KHz e il requisito di rifiuto è di 50 dB nella banda di arresto, è possibile approssimare l'ordine di:

N = 1 KHz / 100 Hz * 50/22 = 23 tocchi (arrotondamento per eccesso)

Grazie Fred Harris!

Nota un'altra formula più dettagliata che tiene conto dell'ondulazione della banda passante è la formula di Kaiser grazie a James Kaiser di Bell Labs, che ho incluso nella mia grafica qui sotto.

Per la maggior parte delle applicazioni che ho fatto, l'approccio di fred harris è andato bene, dato che 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 ripple passband nel soddisfare i requisiti di rifiuto. (Quello che faccio di solito è stimare l'ordine, progettare il filtro con quell'ordine, ispezionare il risultato e aumentare o diminuire l'ordine da lì per perfezionare). I risultati delle stime sono proprio questi: stime e possono variare ampiamente a seconda dei parametri generali di progettazione e non devono essere considerati una soluzione esatta.

inserisci qui la descrizione dell'immagine

Per coloro che hanno familiarità con il design del filtro usando gli approcci alle finestre, la revisione del boxcar o della finestra rettangolare (che è un semplice troncamento) rivela perché sono necessari i tocchi (che è lo stesso di se le unità per frequenza normalizzata sono radianti / campione come spesso si fa) per completare la banda di transizione. Vedi le immagini qui sotto che aiutano a spiegarlo.fs/Δf2π/Δω

La prima immagine sotto mostra il Sinc atteso in frequenza per una finestra rettangolare nel tempo, e quindi in forma discreta, in cui si tratta di una funzione Sinc aliasata, con il punto chiave che per N campioni nel tempo della funzione rettangolare, la risposta in frequenza ha il suo primo null a f = 1 / N (dove f è la frequenza normalizzata con 1 è la frequenza di campionamento).

Frequenza e tempo per la finestra rettangolare

L'immagine seguente mostra l'approccio della finestra rettangolare al design del filtro (che non consiglierei mai ma è informativo). Il primo grafico nell'angolo in alto a sinistra mostra la risposta in frequenza target per il nostro filtro come risposta "muro di mattoni" ideale. Per favore, non confonderlo con la "finestra boxcar" (o "finestra rettangolare") che è anche una forma rettangolare - la finestra è nel dominio del tempo!

Al fine di realizzare un tale filtro, utilizzeremmo la risposta all'impulso della risposta in frequenza desiderata come coefficienti nel nostro filtro FIR (i coefficienti del filtro sono la risposta all'impulso --- inseriamo un impulso dentro e fuori per tutti i coefficienti! ). La risposta all'impulso per una risposta in frequenza rettangolare (brickwall) è la FT inversa che è una funzione Sinc, nel dominio del tempo, mostrata nell'angolo in basso a sinistra come "Risposta impulsiva 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 tronchiamo i coefficienti a qualcosa di realizzabile. Più lungo è il filtro, più ci avviciniamo alla risposta ideale del brickwall,

Troncare la risposta all'impulso nel dominio del tempo è matematicamente identico alla moltiplicazione di una finestra rettangolare nel dominio del tempo. (Notare che anche la risposta all'impulso è ritardata della metà della durata della finestra affinché il sistema sia causale). Moltiplicare nel dominio del tempo equivale alla convoluzione nel dominio della frequenza. Il dominio della frequenza (FT) della risposta all'impulso prima del troncamento è la nostra risposta di frequenza brickwall desiderata originale. La risposta in frequenza per la finestra rettangolare è una funzione Sinc nel dominio della frequenza.

Quindi quando tronciamo la risposta all'impulso desiderata (moltiplicandola nel tempo per una finestra rettangolare), contiamo la risposta in frequenza desiderata con una funzione Sinc, risultando in un'approssimazione della nostra risposta in frequenza target, come mostrato nell'angolo in alto a destra dell'immagine sotto.

Risposta in frequenza dopo la finestra

Un tasto da asporto per le funzioni di Sinc in generale è il primo null è 1 / T dove T è la durata della funzione rettangolare. Per un sistema campionato, il primo null sarebbe a dove N rappresenta il numero di campioni per la durata della funzione rettangolare. Nelle immagini viene utilizzata una frequenza radiante normalizzata per l'asse della frequenza (se ciò confonde, basta sapere che è la frequenza radiante per la frequenza di campionamento). Quindi nel processo della convoluzione, la forte transizione del brickwall si diffonde e in questo caso va a 0 (il nostro ) su una frequenza di ! Quindi qui2π/N2πΔω2π/N

N=2π/Δω
e ovviamente il filtro è scadente con i sidelobes ecc. Nota: questa transizione dalla funzione Sinc è il più nitido disponibile per un dato numero di tocchi; ha la migliore risoluzione in frequenza ma l'intervallo dinamico più scarso (rifiuto). Altre tipologie di finestre (Blackman, Blackman-harris, Kaiser (il mio preferito), ecc.) Miglioreranno significativamente la gamma dinamica ma sempre a spese della transizione.

N tocchi per completare la transizione

Quindi, da quanto sopra, vediamo l'origine del che viene utilizzato nelle formule di approssimazione e vediamo anche perché esiste un ulteriore fattore di moltiplicazione che aumenta il numero di tocchi sopra questo per i tipici progetti di filtro; la finestra rettangolare ci darebbe la migliore transizione possibile con N tocchi dove ma hanno un rifiuto molto scarso. Più tocchi vengono utilizzati per facilitare la transizione temporale oltre la brusca transizione della finestra rettangolare, fornendo un maggiore rifiuto a scapito della larghezza di banda di transizione.2π/ΔωN=2π/Δω


1
Solo per evitare confusione, la formula che si chiama "formula di Kaiser" è in realtà la formula per i filtri ottimali di Parks McClellan (in effetti trovati da Kaiser), ma non per il metodo della finestra di Kaiser. Quest'ultimo non ha due diversi valori ma solo uno. δ
Matt L.

In effetti, un buon chiarimento, Matt, dato che esiste un metodo finestra Kaiser. Questa formula è tuttavia definita e conosciuta come "Formula di Kaiser" in letteratura, solo per non pensare ai lettori che fosse il mio uso di quel termine. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
Dan Boschen

Eccezionale! Sembra che provenga dalla pagina 48 del libro di Fred Harris: "Elaborazione del segnale multirate per sistemi di comunicazione"?
Jeremy,

La regola empirica o le immagini? Le foto sono mie per una classe che faccio. Non ho il libro di Fred ma sono un grande fan e mi ha presentato la sua "regola empirica" ​​da lui in una presentazione del DSP World che ha fatto intorno al 1996. (Nota che insiste sul fatto che il suo nome sia scritto con tutte le lettere minuscole ).
Dan Boschen,

@DanBoschen La formula per Parks McClellan è valida anche nella progettazione di filtri FIR passa-banda? In caso contrario, esiste un'altra "regola empirica" ​​che potrebbe essere applicata?
lR8n6i

3

La lunghezza di un filtro FIR o l'ordine di un filtro IIR è molto approssimativamente inversamente proporzionale al rapporto tra la larghezza della banda di transizione (quella più stretta, se molte) e la frequenza di campionamento, altre cose in qualche modo equivalenti, tranne che per molto breve o molto filtri di ordine basso.


non so perché qualcuno abbia effettuato il downgrade. l'ho riparato a zero.
robert bristow-johnson,

altre cose sono in qualche modo equivalenti?
Ben
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.