Apri il menu principale

Il Filtro di Wiener è un filtro per l'elaborazione dei segnali su base statistica, proposto da Norbert Wiener negli anni 1940 e pubblicato nel 1949.

Il filtro viene oggi realizzato con tecniche digitali, ma può anche essere realizzato con sistemi analogici, come il prototipo costruito al MIT sulla base del progetto di Wiener.

Indice

DescrizioneModifica

In generale, l'obiettivo di un filtro è l'eliminazione del rumore presente in un segnale.

Tipicamente i filtri sono concepiti per una ben precisa risposta in frequenza e possono operare la separazione tra segnale e rumore a condizione che questi occupino diverse bande di frequenza. Il filtro di Wiener supera questa limitazione affrontando il problema del filtraggio con un approccio statistico. Si assume di avere conoscenza delle caratteristiche spettrali del segnale originale e del rumore, e si cerca il filtro LTI la cui uscita sia "il più vicina possibile" al segnale originale, indicando con questa espressione la minimizzazione di una prefissata misura dell'errore compiuto nell'operazione.

I filtri di Wiener sono caratterizzati dalle seguenti caratteristiche:

  1. Assunzioni: il segnale e il rumore additivo, ovvero che si somma al segnale, sono processi stocastici stazionari e lineari con caratteristiche spettrali note, o con autocorrelazione e mutua correlazione note.
  2. Condizioni: il filtro deve essere fisicamente realizzabile, ovvero la sua risposta (effetto) non può precedere temporalmente l'ingresso (causa). Essendo l'effetto successivo alla causa questi filtri vengono anche chiamati causali. La condizione di causalità può essere abbandonata; in questo caso si parla di filtri, o di soluzioni, non causali.
  3. Criteri prestazionali: minimizzazione dell'errore quadratico medio.

Questo filtro è usato frequentemente nel processo di deconvoluzione; per questo utilizzo vedi deconvoluzione di Wiener.

Cenni storiciModifica

Il filtro venne proposto da Norbert Wiener durante gli anni della seconda guerra mondiale, per rispondere alla necessità del governo USA di migliorare le capacità di tiro di un sistema di puntamento antiareo, basato sul radar. Si trattava di elaborare il segnale radar ricevuto, al fine di eliminare il rumore in esso contenuto e di stimare la posizione futura del bersaglio, verso la quale dirigere il tiro. Alla classica operazione di filtraggio del segnale (che non poteva però essere basata, in questo caso, sulla separazione delle frequenze) si aggiungeva quindi una nuova esigenza di predizione del suo futuro andamento, sulla base della sua storia passata. Questi due casi, apparentemente distinti, vennerono compresi da Wiener all'interno di un'unica teoria.

Wiener ricondusse alcuni aspetti matematici del problema ad una classe di equazioni integrali da lui già studiate nel 1931, in collaborazione con il matematico ed astrofisico austriaco Eberhardt Hopf (1902 - 1983)[1][2]. Il primo documento che descrive il filtro è del 1942, ma poiché Wiener lo aveva sviluppato per una applicazione militare, esso fu classificato e non poté circolare fino al 1949, quando ne fu permessa la divulgazione[3].

Nel 1941 Andrey Kolmogorov aveva pubblicato un lavoro equivalente sul problema della predizione, nel caso a tempo discreto[4], successivamente esteso al caso tempo continuo dal matematico russo M. Krejn a partire dal 1944. A sua volta, Kolmogorov si era basato su alcuni risultati dello statistico svedese H. Wold[5]. Tuttavia, Wiener aveva lavorato indipendentemente da questi precedenti, che non conosceva. Per questo motivo, il filtro viene spesso indicato come filtro di Wiener–Kolmogorov.

Il filtro di Wiener rappresenta la prima proposta di un filtro progettato su base statistica; successivamente ne sono nati molti altri, tra i quali il filtro di Kalman.

Impostazione del problemaModifica

L'ingresso di un filtro di Wiener si assume essere un segnale   alterato da un rumore additivo  . L'uscita   è calcolata per mezzo del filtro   usando la seguente convoluzione:

 

 
dove il simbolo " * " indica l'operazione di convoluzione e:

  •   è il segnale originale da ricostruire il più fedelmente possibile in uscita
  •   è il rumore
  •   è il segnale stimato che speriamo sia uguale a  
  •   è il filtro di Wiener

L'errore è   mentre l'errore quadratico è   dove

  •   è l'uscita desiderata del filtro
  •   è l'errore

A seconda del valore di α si affronta un tipo di problema diverso:

  • Se   allora il problema è detto di predizione
  • If   allora il problema è detto di filtraggio
  • If   allora il problema è detto di smoothing

Introducendo esplicitamente l'espressione dell'integrale di convoluzione,   può essere scritto come:  .

e pertanto il valore atteso dell'errore quadratico sarà

 

dove

  •  
  •   è la funzione di autocorrelazione di  
  •   è la funzione di autocorrelazione di  
  •   è la funzione di correlazione mutua, o cross-correlazione di   e  

La   ottima è quindi quella che minimizza  .

Se il segnale   e il rumore   sono non correlati, ovvero la cross-correlazione è zero, l'espressione di semplifica in quanto

  •  
  •  

Soluzione stazionariaModifica

Il filtro di Wiener ammette soluzione per due possibili casi: il caso in cui si voglia un filtro causale, e il caso in cui un filtro non causale sia accettabile. L'ultimo è più semplice, ma non si presta per applicazioni in tempo reale. L'obiettivo principale di Wiener era risolvere il caso in cui la condizione di causalità fosse valida.

Soluzione non causaleModifica

 

Posto che   sia ottimale, allora l'equazione di minimo errore quadratico medio si riduce in  

e la soluzione   è l'inversa della trasformata di Laplace a due lati di  .

Soluzione causaleModifica

 

Dove

  •   è la parte causale di   (cioè la parte di questa frazione avente una soluzione temporale positiva per trasformazione inversa di Laplace)
  •   è la componente causale di   (p.e. la trasformata inversa di Laplace di   è non nulla solo se  )
  •   è la componente anti causale di   (p.e. la trasformata inversa di Laplace   è non nulla solo per t non negativo)

Questa espressione generale è complicata e necessita di una più dettagliata spiegazione. Per ottenere la soluzione   per un caso specifico, bisogna seguire i seguenti passi:[6]

1. Si parte dallo spettro   in forma razionale e lo si fattorizza nelle componenti causale e anti causale:

 

dove   contiene tutti gli zeri e i poli nel semipiano sinistro (LHP) e   contiene gli zeri e i poli nel semipiano (RHP). Si intendono semipiano destro e sinistro i due semipiani a sinistra e a destra dell'origine, essendo la retta verticale s=0 la frontiera dei due semipiani.

2. Si divide   per   si espande il risultato in frazioni parziali.

3. Si selezionano quei termini dell'espansione che hanno poli nel semipiano LHP, termini indicati con  .

4. Si divide   per  . Il risultato è la funzione filtro di trasferimento desiderata  

Filtro di Wiener FIR per serie discreteModifica

Per ricavare i coefficienti del filtro di Wiener si considera un signale w[n] passato a un filtro di Wiener di ordine N con coefficienti  . L'uscita del filtro, indicata con x[n], è data dall'espressione

 

L'errore residuo è indicato con e[n] e definito come e[n]=x[n]-s[n] (Vedi il corrispondente diagramma a blocchi). Il filtro di Wiener è concepito in maniera tale da minimizzare la deviazione standard (criterio MMSE), scritta concisamente nella maniera seguente:

 

dove   indica l'operatore di valore atteso. In generale i coefficienti   sono essere complessi e possono essere derivati anche nel caso in cui w[n] e s[n] sono complesse. Per semplicità si considera solo il caso in cui tutte queste quantità sono reali. La deviazione standard può essere riscritta come:

 

Per trovare il vettore   che minimizza l'espressione sopra si calcola la sua derivata rispetto ai coefficienti  

 

Se ai suppongono w[n] e s[n] stazionarie, si possono introdurre le seguenti sequenze  , note rispettivamente come l'autocorrelazione di w[n] e la cross-correlazione tra w[n] e s[n], definite come segue

 

La derivata della MSE può dunque essere riscritta come (si noti che  )

 

Imponendo la derivata uguale a zero si ottiene

 

che può essere riscritta in forma matriciale

 

Queste equazioni sono note come equazioni di Wiener-Hopf. La matrice che appare nell'equazione è una matrice di Toeplitz simmetrica. Queste matrici sono definite positive e dunque non singolari, per cui esiste una sola soluzione nella determinazione dei coefficienti del filtro di Wiener. Inoltre esiste un algoritmo efficiente per risolvere le equazioni di Wiener-Hopf noto come algoritmo di Levinson-Durbin[7].

Filtro di Wiener per il riconoscimento del Pile UpModifica

Il filtro di Wiener è molto utile anche nel campo del riconoscimento di segnale, in particolare del Pile Up (sovrapposizione di due segnali nella stessa finestra temporale). Ecco come si esprime la funzione di trasferimento del filtro.

Si supponga di avere un sistema con una risposta r(t) al segnale unitario e un segnale non corrotto u(t) in ingresso (es:  ). L'uscita s(t) del sistema sarà pertanto una convoluzione tra la funzione di risposta e il segnale di ingresso u(t):

 

che nel dominio di Fourier si riduce semplicemente a  .

Nel caso reale invece l'uscita del sistema sarà un segnale corrotto c(t) = s(t) + n(t). La   in questo caso sarà:

 

Lo scopo del Filtro di Wiener è quello di trovare un filtro   tale per cui vale:

 

dove   è la miglior stima di  , ovvero   minimizza la differenza quadratica tra U e U'. In formule equivale a minimizzare

 

Risolvendo   si ottiene l'espressione cercata:

 

Se si considera la u(t) come una delta, l'espressione si semplifica:

 

Questo filtro può tornare molto utile nella ricerca di segnali, come per esempio in un algoritmo di trigger o riconoscimento di pattern, dato che la U' estrapolata rappresenta appunto una delta, quindi è facilmente riconoscibile.

NoteModifica

BibliografiaModifica

  • Thomas Kailath, A View of Three Decades of Linear Filtering Theory, IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-20, NO. 2, MARCH 1974
  • A. N. Kolmogorov, Sequenze stazionarie in spazi di Hilbert, (in russo), Boll. Univ. Mosca 1941 vol.2 n.6 1-40; poi tradotto in inglese in Kailath T. (a cura di) Linear least squares estimation Dowden, Hutchinson & Ross 1977
  • N. Wiener,Extrapolation, Interpolation, and Smoothing of Stationary Time Series. New York: John Wiley & Sons, 1949, ISBN 0-262-73005-7
  • Brown, Robert Grover and Patrick Y.C. Hwang, Introduction to Random Signals and Applied Kalman Filtering, terza edizione, 1996, New York: John Wiley & Sons, ISBN 0-471-12839-2

Voci correlateModifica

  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica