Loading AI tools
filtro digitale Da Wikipedia, l'enciclopedia libera
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.
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 Ferreriane:
Questo filtro è usato frequentemente nel processo di deconvoluzione; per questo utilizzo vedi deconvoluzione di Wiener.
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 sull'uso del radar. La velocità dei bersagli poneva problemi nuovi: il sistema doveva necessariamente essere automatizzato, e doveva essere in grado di dirigere il tiro verso la posizione futura dell'aereo al momento dell'impatto, che doveva quindi essere stimata. Era perciò necessario integrare due diverse tecnologie, quella dei controlli automatici e quella delle telecomunicazioni, fino ad allora applicate in ambiti diversi.
L'analisi dei sistemi di puntamento automatico portarono Wiener a constatare la somiglianza, in termini funzionali, del loro comportamento con quelli tipici degli esseri viventi, nello svolgimento di attività apparentemente rivolte al raggiungimento di uno scopo. Questi stimoli suggerirono a Wiener la definizione di una nuova scienza, la cibernetica, che studiasse da un punto di vista matematico unitario comportamenti comuni a sistemi sia naturali che artificiali[1].
Il sistema di puntamento doveva elaborare del segnale radar ricevuto, al fine di eliminare il rumore in esso contenuto, e stimare la posizione futura del bersaglio. 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, che egli sviluppò riconducendo il 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)[2][3]. Il primo documento che descrive il filtro è del 1942, ma poiché Wiener lo aveva sviluppato per una applicazione militare, esso fu secretato e non poté circolare fino al 1949, quando ne fu permessa la divulgazione[1].
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 il primo esempio di progettazione di un dispositivo di telecomunicazioni su base statistica; a questa scelta, e a quella quasi contemporanea di Shannon, che dette un analogo fondamento alla sua teoria dell'informazione, si deve la nascita della moderna teoria delle comunicazione come scienza statistica.
Dopo il filtro di Wiener sono stati elaborate molte tecniche statistiche di elaborazione dei segnali, tra i quali il filtro di Kalman.
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:
L'errore è mentre l'errore quadratico è dove
A seconda del valore di α si affronta un tipo di problema diverso:
Introducendo esplicitamente l'espressione dell'integrale di convoluzione, può essere scritto come: .
e pertanto il valore atteso dell'errore quadratico sarà
dove
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
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.
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 .
Dove
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 destro (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
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 si 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].
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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.