Quali filtri IIR si avvicinano a un filtro gaussiano?


15

Quindi mi sono reso conto di recente che i filtri di Bessel, nonostante siano elencati insieme ad altri tipi comuni, sono davvero una strana sfera che appartiene a una "classe" diversa, e sto cercando di saperne di più.

La risposta di magnitudo rettangolare rappresenta la risposta del dominio di frequenza ideale, poiché la banda di transizione è zero e la banda di arresto ha attenuazione infinita. La risposta di magnitudine gaussiana, d'altra parte, rappresenta la risposta ideale nel dominio del tempo, in quanto non si verificano superamenti nella risposta all'impulso e nella risposta al gradino. Molte delle risposte ottenute nella pratica sono approssimazioni a queste fonti ideali

Quindi un filtro brickwall è una convoluzione con una funzione sinc e ha queste proprietà nel dominio della frequenza:

  • Passband piatto
  • Zero stopband
  • Frequenza di rollio infinita / nessuna banda di transizione

È non causale e irrealizzabile a causa delle code infinite in entrambe le direzioni. Viene approssimato da questi filtri IIR, con l'approssimazione che migliora all'aumentare dell'ordine:

  • Butterworth (banda passante massima piatta)
  • Chebyshev (frequenza di roll-off massima con stopband o ripple passband)
  • Ellittica (frequenza di roll-off massima con banda di arresto e ondulazione della banda passante)
  • Legendre (velocità massima di roll-off con banda passante monotonica)

4 tipi di filtri che si avvicinano alla risposta del brickwall all'aumentare dell'ordine


Il filtro gaussiano è una convoluzione con una funzione gaussiana e ha queste proprietà nel dominio del tempo:

  • Zero overshoot
  • Tempo minimo di salita e discesa
  • Ritardo minimo del gruppo

È irrealizzabile per gli stessi motivi della funzione sinc e può essere approssimato da questi filtri IIR, più da vicino all'aumentare dell'ordine:

  • Bessel (ritardo gruppo massimamente piatto) secondo 1 e 2

Ecco i filtri di Bessel di ordine crescente insieme a una linea tratteggiata gaussiana che ho scelto semplicemente perché sembrava adattarsi alla tendenza ( ):e-12(πω)2

Bessel filtra presumibilmente avvicinandosi alla risposta gaussiana all'aumentare dell'ordine, con ipotesi per gaussiana

Quindi le mie domande sono:

Finora è tutto a posto? Se è così, ci sono altri filtri IIR che si avvicinano al gaussiano? Per cosa sono ottimizzati? Forse uno che minimizza il superamento?

Se cerchi "IIR gaussian" puoi trovare alcune cose (Deriche? Van Vliet?), Ma non so se sono davvero gli stessi di un Bessel o se ottimizzano per qualche altra proprietà, ecc.


in realtà, quando dico "IIR" penso di voler dire "filtri analogici fisicamente realizzabili"?
endolith il

Risposte:


5

I filtri Deriche e van Vliet sono euristici. In entrambi i casi scelgono le posizioni dei poli e degli zeri per ridurre al minimo la differenza RMS o la differenza massima della risposta all'impulso del filtro da un gaussiano.

Entrambi i filtri sono coppie causali-anti-causali. Quindi penso che non abbiano errori di fase o ritardi di gruppo, ma devi essere in grado di eseguirli sia indietro che in avanti. Questo li rende popolari nell'elaborazione delle immagini, ma forse ne limita l'applicabilità altrove.

Che siano euristiche è dimostrato dalla ricchezza di documenti che le modificano. Ad esempio, una ricerca su Google (mentre cercavo il link al documento di Deriche) ha trovato questo che cerca di risolvere il problema che il filtro derivativo-gaussiano di Deriche non ha una risposta esattamente 0 DC. Ci sono anche alcuni problemi interessanti sull'inizializzazione corretta delle condizioni al contorno .

Ho trovato la seguente panoramica una buona risorsa: Dave Hale, filtri gaussiani ricorsivi , rapporto del Colorado School of Mines Center for Wave Phenomena CWP-546.


3

Penso che tu abbia fornito un bel riassunto delle soluzioni analitiche esistenti per i filtri IIR a tempo discreto. Ma aggiungerei anche i filtri Bessel all'elenco dei filtri che si avvicinano alle caratteristiche ideali dei filtri selettivi in ​​frequenza. La sua risposta di magnitudo non mostra una transizione netta quanto gli altri tipi di filtro dello stesso ordine, ma questo è il prezzo da pagare per una fase quasi lineare nella banda passante. Quindi il filtro di Bessel è un compromesso tra una risposta di magnitudo selettiva in frequenza e una buona risposta di fase.

Per approssimare un filtro gaussiano con filtri IIR, non conosco alcuna soluzione analitica, a parte il filtro di Bessel che hai citato. Ma nota che il filtro di Bessel non intendeva approssimare un filtro gaussiano, quindi non sono sicuro di quanto sia veramente buono nell'approssimare un tale filtro. Se vuoi davvero un filtro IIR per questo scopo, ti suggerirei di andare per l'approssimazione numerica del filtro gaussiano. Ci sono diverse opzioni su come farlo.

Potresti provare ad approssimare il filtro gaussiano nel dominio della frequenza. Il problema è che devi prendere qualche decisione riguardo alla risposta di fase desiderata. Un'approssimazione di magnitudine pura con una risposta di fase minima molto probabilmente porterà a proprietà nel dominio del tempo molto scarse. Se si specifica una fase desiderata lineare, si ottiene un problema di approssimazione complesso (poiché si approssima la risposta in frequenza complessa con magnitudine e fase). Anche se un simile problema di approssimazione può essere piuttosto difficile da risolvere, esistono dei metodi in letteratura.

Un approccio più semplice e probabilmente migliore è quello di approssimare il filtro gaussiano nel dominio del tempo. Il metodo di Prony sarebbe un buon punto di partenza.

Si prega di notare che questi sono solo i miei pensieri sull'argomento. Non ho provato a progettare un filtro gaussiano IIR da solo. Vorrei effettivamente implementare una FIR a meno che non ci siano ottime ragioni per contrastarla.

EDIT: solo qualche altra osservazione relativa alla domanda se un filtro di Bessel si avvicina o meno a un gaussiano. Non conosco alcun criterio di errore significativo che il filtro di Bessel minimizza nell'approssimare un filtro gaussiano. Sarei felice di conoscerlo però. Le persone possono affermare che la risposta all'impulso di un filtro di Bessel è simile a quella gaussiana, o che la sua risposta in frequenza assomiglia a una gaussiana, ma non ho ancora visto alcuna prova che i filtri di Bessel si avvicinino a un gaussiano in alcun senso e che l'errore di approssimazione va a zero all'aumentare dell'ordine del filtro. Non nego che sia più simile a un gaussiano rispetto agli altri filtri standard (Butterworth, Chebyshev, ecc.), Ma questo non è importante per la domanda.

Vedi sotto quattro grafici delle risposte all'impulso dei filtri di Bessel (ordini 5, 10, 15, 20), progettati in Octave (funzione besself). Come puoi vedere, lo squillo nella coda non diminuisce con l'aumentare dell'ordine dei filtri e non vedo come questi filtri si avvicinano a un gaussiano e, in tal caso, secondo quale criterio di ottimalità. Tuttavia, se qualcuno potesse illuminarmi di questo, sarei più che felice.

inserisci qui la descrizione dell'immagine


Lo sto ottenendo da posti come questi: "La risposta all'impulso dei filtri Bessel-Thomson tende verso un gaussiano man mano che aumenta l'ordine dei filtri" robots.ox.ac.uk/~sjrob/Teaching/SP/l3.pdf "An Il filtro analogico di Bessel è un'approssimazione di un filtro gaussiano e l'approssimazione migliora all'aumentare dell'ordine del filtro. " dsprelated.com/showmessage/130958/1.php
endolith

... e dal momento che la trasformata di Fourier di un gaussiano è un gaussiano, non credo sia giusto dire che si avvicina a una risposta brickwall come fanno gli altri.
endolith il

La trasformata di Fourier di un gaussiano è un gaussiano, non c'è dubbio. Ma stiamo parlando di filtri di Bessel, che - per quanto ne so - non si avvicinano a un gaussiano in alcun modo significativo. Ho modificato la mia risposta per aggiungere ulteriori informazioni.
Matt L.

Aggiunti alcuni dettagli alla domanda al riguardo. Riesci a ripetere i tuoi grafici come curve di linea anziché come gambi e con lo stesso asse Y? Sembra che stia cambiando forma con ordine ma è difficile da dire.
endolith,

1
Ho provato a calcolare i filtri di Bessel fino all'ordine 60 e ad adattare le risposte agli impulsi dei gaussiani, e sebbene il mio codice sia rozzo, sembrano avvicinarsi al gaussiano, con "undershoot" in diminuzione e errore in diminuzione con l'ordine. Decimo ordine: imgur.com/1qNsHeg 60 ° ordine: imgur.com/BgmFzZp errore all'aumentare dell'ordine: imgur.com/cpHDDJs, tuttavia i calcoli potrebbero essere errati. come hai calcolato il tuo?
endolith
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.