Qual è la risposta in frequenza più nitida per un filtro passa-basso non causale la cui risposta al gradino non supera?


13

I filtri Butterworth, Bessel, Chebychev e sinc passa-basso sono usati in vari casi in cui ci sono diversi compromessi tra avere una risposta in frequenza uniformemente decrescente, una risposta di fase uniforme, un taglio ripido o una risposta "muro di mattoni". Credo che tutti questi filtri possano, in alcuni casi, avere un superamento della risposta al gradino, il che significa che la loro risposta all'impulso è in alcuni punti negativa.

Quale sarebbe la risposta in frequenza ottimale o quali tipi di risposte in frequenza sarebbero disponibili in un filtro il cui unico vincolo era che la risposta all'impulso non poteva essere negativa ovunque? Certamente è possibile avere un filtro passa-basso che soddisfi tale vincolo, dal momento che un filtro RC di base lo farà (anche se la risposta di tale filtro è un po 'scadente). La risposta all'impulso ottimale sarebbe una normale curva di distribuzione o qualcos'altro?


1
@supercat, se includi il filtro digitale, è piuttosto sorprendente come un muro di mattoni possa ottenere una risposta senza superamento.
Kortuk,

2
@Kortuk: Davvero? Penserei che sarebbe difficile evitare il superamento, poiché un'onda quadrata filtrata da un muro di mattoni ha piccoli picchi la cui larghezza si avvicina allo zero all'aumentare della frequenza di taglio ma la cui ampiezza no. Quale sarebbe un buon riferimento?
supercat

2
Dici "non causale" nella domanda, ma tutti i tuoi esempi sono causali. Che vuoi dire? Non causale richiede di registrare l'intera forma d'onda e quindi applicare il filtro alla registrazione. (O, forse, l'uso di condensatori di flusso e grandi fonti di energia.)
Endolith

1
@endolith: quale sarebbe il filtro ottimale, supponendo che non sia necessario che sia causale.
supercat

1
@Kortuk: il taglio del segnale a zero annichilerà totalmente i benefici del filtraggio. E mentre sto postando in DSP, sono anche curioso di cose come i registratori di film audio (da un aspetto intellettuale piuttosto che pratico) in cui si può fare qualunque funzione di impulso non negativo che si desidera, soggetta a un vincolo di larghezza.
supercat,

Risposte:


6

Vado a elencare un mucchio di "filtri che non superano". Spero che questa risposta parziale sia migliore di nessuna risposta. Speriamo che le persone che cercano "un filtro che non supera" trovino utile questo elenco di tali filtri. Forse uno di questi filtri funzionerà adeguatamente nella tua applicazione, anche se non abbiamo ancora trovato il filtro matematicamente ottimale.

filtri causali LTI di primo e secondo ordine

La risposta al passaggio di un filtro del primo ordine ("Filtro RC") non viene mai superata.

La risposta al gradino di un filtro del secondo ordine ("biquad") può essere progettata in modo tale da non superare mai. Esistono diversi modi equivalenti per descrivere questa classe di filtri del secondo ordine che non superano un input di passo:

  • è fortemente smorzato o eccessivamente umido.
  • non è indebolito.
  • il rapporto di smorzamento (zeta) è 1 o più
  • il fattore qualità (Q) è 1/2 o inferiore
  • il parametro della velocità di decadimento (alfa) è almeno la frequenza angolare naturale non smorzata (omega_0) o più

In particolare, una topologia di filtro Sallen-Key con guadagno unitario con uguali condensatori e resistori uguali è attenuata in modo critico: Q = 1/2, e quindi non supera l'entrata di un gradino.

Un filtro di Bessel del secondo ordine è leggermente sottodimensionato: Q = 1 / sqrt (3), quindi ha un piccolo superamento.

Un filtro Butterworth del secondo ordine è più sottodimensionato: Q = 1 / sqrt (2), quindi ha più overshoot.

Di tutti i possibili filtri LTI del primo ordine e del secondo ordine che sono causali e che non superano, quelli con la risposta di frequenza "migliore" (più ripida) sono i filtri di secondo ordine "smorzati criticamente".

filtri causali LTI di ordine superiore

Il filtro causale di ordine superiore più comunemente usato che ha una risposta all'impulso che non è mai negativo (e quindi non supera mai un input di passo) è il "filtro della media corrente", chiamato anche "filtro boxcar" o " filtro della media mobile " ".

Ad alcune persone piace eseguire i dati attraverso un filtro boxcar e l'output da quel filtro in un altro filtro boxcar. Dopo alcuni di questi filtri, il risultato è una buona approssimazione del filtro gaussiano. (Maggiore è il numero di filtri in cascata, più l'output finale si avvicina a un gaussiano, indipendentemente dal filtro con cui si inizia - boxcar, triangolo, RC del primo ordine o qualsiasi altro - a causa del teorema del limite centrale).

Praticamente tutte le funzioni della finestra hanno una risposta all'impulso che non è mai negativa, e quindi in linea di principio può essere utilizzata come filtri FIR che non superano mai un input di passo. In particolare, sento cose positive sulla finestra di Lanczos , che è il lobo centrale (positivo) della funzione sinc () (e zero al di fuori di quel lobo). Alcuni filtri per la modulazione degli impulsi hanno una risposta all'impulso che non è mai negativa, quindi possono essere utilizzati come filtri che non superano mai un input di passo.

Non so quale di questi filtri sia il migliore per la tua applicazione, e sospetto che il filtro matematicamente ottimale possa essere leggermente migliore di qualsiasi di essi.

filtri causali non lineari

Il filtro mediano è un popolare filtro non lineare che non supera mai un input con funzione step.

EDIT: filtri non causali LTI

La funzione sech (t) = 2 / (e ^ (- t) + e ^ t) è la sua trasformata di Fourier, e suppongo che potrebbe essere usata come una specie di filtro LTI passa basso non causale che non si sposta mai su un input passo.

Il filtro LTI non causale che ha la risposta in impulso (sinc (t / k)) ^ 2 ha una risposta in frequenza "abs (k) * triangle (k * w)". Quando viene immesso un passo, ha molte ondulazioni nel dominio del tempo, ma non supera mai il punto di assestamento finale. Sopra l'angolo ad alta frequenza di quel triangolo, dà un perfetto rifiuto della banda di arresto (attenuazione infinita). Quindi, nella regione della banda di arresto, ha una risposta in frequenza migliore rispetto a un filtro gaussiano.

Pertanto dubito che il filtro gaussiano dia la "risposta in frequenza ottimale".

Nell'insieme di tutti i possibili "filtri che non superano", ho il sospetto che non vi sia un'unica "risposta in frequenza ottimale" - alcuni hanno un migliore rifiuto della banda di arresto, mentre altri hanno bande di transizione più strette, ecc.


Grazie per la tua risposta. Avevo trascurato di limitare la mia domanda ai filtri lineari, anche se ovviamente caratterizzare la risposta in frequenza di un filtro non lineare può essere una proposta oscura. Come notato, il collegamento a cascata del filtro boxcar fa sì che si avvicini a un gaussiano. Mi chiedevo se il filtro gaussiano avesse la risposta in frequenza ottimale che può essere ottenuta senza superamento. Nello scrivere la domanda, stavo pensando a vari processi analogici che eseguono qualcosa di simile a un filtro di risposta all'impulso definito, ad esempio sfocatura della fotocamera o visualizzazione dei pixel per minimizzare l'aliasing.
supercat

È possibile costruire una videocamera in modo che ogni pixel raccolga diverse quantità di luce da vari punti attorno al centro. Idealmente, una macchina fotografica filtrerebbe tutto sopra Nyquist senza sfocare nulla sotto, ma in pratica non è probabile che accada.
supercat

1
LTI? Non lo definisci mai. Aggiungendo che significa "invariante nel tempo lineare", sarebbe probabilmente utile.
Connor Wolf,

1
Quindi Q = 0,5 è smorzato in modo critico? Per un determinato ordine, ci sono più sistemi smorzati in modo critico? Il biquad con Q = 0,5 è chiamato filtro Linkwitz-Riley LR2 . Sembra però che le versioni di ordine superiore del filtro LR suonino nella risposta al passaggio.
endolith

"I filtri a cascata con smorzamento critico si tradurranno in un altro filtro con smorzamento critico" Quindi mantenere i poli di scarico a -1 e sarà sempre smorzato in modo critico? (E avvicinarsi a una risposta di filtro gaussiana all'aumentare del numero?)
endolito

2

La maggior parte dei filtri utilizzati nel mondo digitale sono solo versioni campionate della controparte analogica. Una grande ragione di ciò è che c'era molto lavoro svolto nel filtraggio analogico prima che arrivasse il digitale, quindi piuttosto che reinventare la ruota, la maggior parte utilizzava solo i progetti precedenti. Il vantaggio del digitale è che un filtro di ordine superiore può essere ottenuto molto più facilmente rispetto al mondo analogico. Immagina di ottenere un circuito complesso ogni volta che aggiungi un altro ordine al design.

Se stai cercando un filtro tipo muro di mattoni, la curva gaussiana è un buon punto di partenza. Se conosci Time Domain <-> Frequency Domain; un gaussiano si trasforma in un gaussiano nell'altro dominio. Quando diventa più avvolgente in uno, si restringe nell'altro. Quindi per ottenere un picco perfetto nel dominio della frequenza avresti bisogno di una quantità infinita di campioni.

Se hai Matlab disponibile per l'uso, dovresti dare un'occhiata ad alcuni degli strumenti di progettazione del filtro integrati. Ecco un link che parla di Butterworth e Bessel . Gli strumenti di progettazione consentono di specificare alcuni aspetti del filtro. Questi aspetti cambiano per ogni tipo di filtro, ma alcuni esempi sono Passband, stopband, ripple, ecc. Se dai al progettista i vincoli che desideri, ti darà un errore (il che significa che non può fare quel filtro con quel tipo di filtro ) o ti fornirà un filtro con l'ordine minimo richiesto per soddisfare le specifiche.


Un gaussiano soddisfa i requisiti per una risposta all'impulso non negativa, ma non è molto simile a un muro di mattoni. D'altra parte, Butterworth, Bessel e Chebyshev hanno oscillazioni sincere nella loro risposta all'impulso, che portano al superamento. Di quelli il filtro Bessel ha il superamento minimo poiché ha un ritardo di gruppo quasi piatto (fase lineare) nella banda passante.
Eryk Sun,

Oltre al gaussiano, questi filtri sono causali. Per l'elaborazione offline, una NNFIR a fase lineare (FIR non negativa) funzionerebbe bene, oppure è possibile annullare la distorsione di fase di un filtro ricorsivo causale utilizzando la tecnica filtfilt .... Naturalmente è ancora necessario un modo per progettare un LPN NNIR per evitare overshoot / undershoot. Suggerimenti qualcuno? Riferimenti?
Eryk Sun,

@eryksun, come nota a margine, se oscillerà a 1,05 volte il valore massimo, smorzalo solo per fermarti a 1.00 e la risposta del tuo passo sarà un po 'meno, come .96 quando stabile. Problema risolto.
Kortuk,

@Kortuk: Problema risolto nel dominio del tempo, ma fare quel clipping non è solo non lineare, ma apre anche alcune parti del dominio della frequenza per passare il segnale che non ha fatto in precedenza. Vuole il filtro passa / non passa più stretto possibile in frequenza senza superamento nel dominio del tempo. Nessun superamento del dominio del tempo equivale a dire che la risposta all'impulso non è mai negativa.
Olin Lathrop,

1
@Kortuk: in alcuni domini, lo zero è vicino al punto medio tra il massimo e il minimo e il ridimensionamento di un segnale verso il punto medio eviterà problemi con il superamento. In altri domini, come l'imaging, lo zero è il minimo e l'intervallo dinamico è più importante lì; sarebbe generalmente meglio avere un filtro "più sfocato" che non superi di quello più affilato.
supercat
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.