Filtri Digitali PDF - Elaborazione Dati e Segnali Biomedici II, A.A. 2023-24
Document Details
Uploaded by ObtainableDialogue
Università di Roma "La Sapienza"
2023
Pietro Aricò, PhD
Tags
Summary
Questi appunti presentano i concetti fondamentali sui filtri digitali nell'ambito dell'elaborazione di segnali biomedici. Vengono discussi argomenti come media mobile, grand average, trasformata Z, filtri FIR, IIR e filtro di Wiener, fornendo esempi pratici in Matlab.
Full Transcript
Filtri Digitali Elaborazione Dati e Segnali Biomedici II A.A. 2023-24 Pietro Aricò, PhD [email protected] 04/10/2022 Summary Media mobile Grand average Tr...
Filtri Digitali Elaborazione Dati e Segnali Biomedici II A.A. 2023-24 Pietro Aricò, PhD [email protected] 04/10/2022 Summary Media mobile Grand average Trasformata Z Filtri FIR Filtri IIR Filtro di Wiener Esempi in Matlab Filtri digitali Definizione. Un filtro digitale reale Tn è una qualsiasi funzione che restituisce un segnale a valori reali (output) per ogni segnale in ingresso (input). Si può esprimere la relazione tra input e output di un filtro digitale con la notazione con x(·) il segnale in input e y(n) il segnale in output al tempo n. Filtri digitali Un filtro per essere lineare deve soddisfare due proprietà: ✓ Ridimensionamento: l’ampiezza dell’output deve essere proporzionale all’ampiezza dell’input. ✓ Sovrapposizione: se si sommano due segnali e si filtrano, l’output del filtro sarà lo stesso che si ottiene filtrando singolarmente i due segnali e sommandoli successivamente. Filtri digitali Un filtro tempo-invariante è un filtro tale che l’output generato da un segnale ritardato è uguale all’output generato dal segnale originale, ritardato della stessa quantità. In particolare, Un filtro digitale Tn è tempo-invariante se, per ogni segnale x, si ha: dove ogni operatore di shift dell’N-esimo campionamento è definito come: cioè l’operatore ritarda il segnale in input di N campioni movAver.m MATLAB Media mobile Consideriamo la precedente equazione. La media di tre campioni successivi genera un nuovo segnale con componenti ad alta frequenza ridotte. dove x[n] è il segnale originale e y[n] è il nuovo segnale. Si può notare che questo processo di media riduce l'influenza dei campioni «fuori scala», o «outliers» e attenua le transizioni brusche. Media mobile La media mobile è un processo che viene spesso descritto come un filtro passa basso. I filtri vengono utilizzati per migliorare l'SNR di un segnale e sono spesso pensati in termini di rimodellamento dello spettro di un segnale. Quindi, mentre il filtro della media mobile è un processo nel dominio del tempo, i suoi effetti sono solitamente concettualizzati nel dominio della frequenza. La maggior parte del rumore è a banda larga (il rumore più ampio è il rumore bianco con uno spettro piatto), mentre la maggior parte dei segnali è a banda stretta. Di conseguenza, dovrebbe essere sempre possibile migliorare l'SNR rimodellando opportunamente lo spettro di una forma d'onda mediante un filtro. noise_freq.m Rumore bianco MATLAB Media mobile La media mobile è un processo che viene spesso descritto come un filtro passa basso. I filtri vengono utilizzati per migliorare l'SNR di un segnale e sono spesso pensati in termini di rimodellamento dello spettro di un segnale. Quindi, mentre il filtro della media mobile è un processo nel dominio del tempo, i suoi effetti sono solitamente concettualizzati nel dominio della frequenza. La maggior parte del rumore è a banda larga (il EEG rumore più ampio è il rumore bianco con uno spettro piatto), mentre la maggior parte dei segnali è a banda stretta. Di conseguenza, dovrebbe essere sempre possibile migliorare l'SNR rimodellando opportunamente lo spettro di una forma d'onda mediante un filtro. Riduzione del rumore attraverso grand average Quando si effettuano più misure, vengono generati più valori o segnali. Se queste misurazioni vengono combinate o sommate tra loro, il valore o il segnale combinato ha una media che è la media delle singole medie calcolate su ogni segnale. Lo stesso vale per la varianza: le varianze si sommano e la varianza media della misura combinata è la media delle singole varianze: Quando si sommano più segnali, si può dimostrare che la deviazione standard del rumore si riduce di un fattore pari a 1/ 𝑁 , dove N è il numero di misure che vengono mediate. In altre parole, la media delle misure provenienti da sensori diversi, o la media di più misure provenienti dalla stessa fonte, riduce la deviazione standard della variabilità della misura della radice quadrata del numero di medie. Riduzione del rumore attraverso grand average Il grand average è una tecnica di elaborazione del segnale semplice ma potente per ridurre il rumore quando sono possibili osservazioni multiple del segnale. Tali osservazioni multiple possono provenire da più sensori, ma in molte applicazioni biomediche le osservazioni multiple provengono da risposte ripetute allo stesso stimolo. Ad esempio, questa tecnica è enormemente usata per l’analisi dei potenziali evocati, in cui il rapporto segnale rumore del singolo potenziale è talmente basso da non riuscire a visualizzare il potenziali stesso, immerso all’interno del rumore (segnale EEG di base). P300ex.m MATLAB Esempio Matlab: ERPs and grand average Sia data una matrice con 1152 ERPs su stimoli target, calcolare un grand average costituito da 16 medie. Riduzione del rumore attraverso grand average Il grand average è una tecnica di elaborazione del segnale semplice ma potente per ridurre il rumore quando sono possibili osservazioni multiple del segnale. Tali osservazioni multiple possono provenire da più sensori, ma in molte applicazioni biomediche le osservazioni multiple provengono da risposte ripetute allo stesso stimolo. Ad esempio, questa tecnica è enormemente usata per l’analisi dei potenziali evocati, in cui il rapporto segnale rumore del singolo potenziale è talmente basso da non riuscire a visualizzare il potenziali stesso, immerso all’interno del rumore (segnale EEG di base). Equazione alle differenze finite Una delle rappresentazioni di un filtro è l’equazione alle differenze finite. Essa calcola un output in base agli input passati e presenti al tempo n. Possiamo definirla nella maniera più generale possibile per un filtro LTI (lineare e tempo invariante, causale): con x segnale in input, y segnale in output, e le costanti ai; bi sono coefficienti. L’output finale è dovuto, oltre all’input, anche all’output degli istanti precedenti (ad esempio y(n − 1)), l’uso di questi fattori è detto feedback e ogni filtro avente almeno un elemento di feedback è detto ricorsivo. In particolare i coefficienti di questi elementi di feedback ai sono detti feedback coefficients, mentre gli altri bi sono detti feedforward coefficients. Deduciamo quindi che un filtro è ricorsivo se e solo se ai ≠ 0 per qualche i > 0. I filtri ricorsivi sono anche chiamati a infinite impulse response o IIR, se invece non abbiamo elementi di feedback (ai = 0 ∀i > 0), il filtro è detto finite impulse response o FIR. Risposta all’impulso e stabilità Oltre che tramite l’equazione alle differenze finite, ogni filtro LTI può essere rappresentato in base alla sua risposta ad uno specifico segnale, detto impulso. Questa risposta è chiamata appunto risposta all’impulso. Definizione. Il segnale impulso è indicato con δ(n) e definito come: Definizione. Indichiamo la risposta di un filtro a δ(n) con h(n), ed è definita come: Definizione. Un filtro LTI è detto stabile se la risposta all’impulso h(n) tende a 0 per n che va all’infinito. Poichè solo i coefficienti di feedback possono causare instabilità, ogni filtro di ordine finito non ricorsivo è stabile. Convoluzione Deriviamo ora quella che è detta rappresentazione di convoluzione per un filtro LTI, nel modo più generale possibile. Innanzitutto rappresentiamo un segnale x(·) come una combinazione lineare di impulsi spostati: dove ∗ è l’operatore di convoluzione. Quindi ogni campione può essere visto come un impulso di una certa ampiezza ad un certo istante, ognuno dei quali produce una risposta all’impulso. Se il nostro filtro oltre ad essere lineare è anche invariante nel tempo possiamo scrivere h(n; i) = h(n; −i), di conseguenza la formule precedente diventa Quindi l’output del filtro y è la convoluzione dell’input x con la risposta all’impulso h Convoluzione e risposta all'impulso L'ingresso, x(t), e l'uscita, y(t), sono collegati tramite convoluzione attraverso la funzione h(t). Poiché sono tutte funzioni del tempo, la convoluzione è un'operazione nel dominio del tempo. Nel dominio digitale, le tre funzioni temporali diventano vettori discreti campionati: x[n], y[n] e h[n]. Convoluzione e risposta all'impulso La funzione h(t) è nota come risposta all'impulso. Come dice il nome, è la risposta del sistema a un ingresso impulsivo standard. Un ingresso impulsivo (definito anche δ(t)) è un impulso molto breve con un'area unitaria. Convoluzione e risposta all'impulso Se si conosce la risposta del sistema a un impulso, è possibile determinare la sua risposta a qualsiasi ingresso semplicemente dividendo l'ingresso in una sequenza di impulsi. Ciascuna fetta di tempo genererà la propria piccola risposta all'impulso. L'ampiezza e la posizione di questa risposta all'impulso sono determinate dall'ampiezza e dalla posizione del segmento di segnale di ingresso associato. Se la sovrapposizione e l'invarianza temporale sono valide, l'uscita può essere determinata sommando (o integrando per funzioni continue) le risposte all'impulso di tutti i segmenti del segnale di ingresso. Convoluzione e risposta all'impulso Ogni segmento di un segnale di ingresso può essere rappresentato da un impulso e ciascuno di essi produce una propria risposta all'impulso. L'ampiezza e la posizione della risposta all'impulso sono determinate dall'ampiezza e dalla posizione del segmento di ingresso associato. Convoluzione e risposta all'impulso Quando si implementa la convoluzione, è necessario invertire il segnale di ingresso a causa del modo in cui i segnali sono graficizzati. Il lato sinistro del segnale è in realtà il lato a tempo basso; è la prima porzione che entra nel sistema. Pertanto, il segmento più a sinistra del segnale di ingresso produce la prima risposta all'impulso e il segnale di ingresso procede attraverso il sistema all'indietro rispetto al modo in cui è tracciato. Convoluzione e risposta all'impulso Il processo di convoluzione viene espresso matematicamente come: dove n è la variabile che fa scorrere l'ingresso invertito, x[-k], attraverso la risposta all'impulso, h[k], e K è la lunghezza della funzione più breve, di solito h[k]. Funzione di trasferimento La funzione di trasferimento H(z) è una rappresentazione algebrica di un filtro LTI nel dominio della frequenza. Essa è definita come Y (z)/X(z), dove Y (z) è la trasformata z del segnale di output y(n), mentre X(z) è la trasformata z dell’input x(n). Teorema dello spostamento. Il ritardo di ∆ campioni nel dominio del tempo corrisponde a una moltiplicazione per z−∆ nel dominio della frequenza, dove con l’operatore Z indichiamo la trasformata z. Funzione di trasferimento La funzione di trasferimento H(z) è una rappresentazione algebrica di un filtro LTI nel dominio della frequenza. Essa è definita come Y (z)/X(z), dove Y (z) è la trasformata z del segnale di output y(n), mentre X(z) è la trasformata z dell’input x(n). Teorema della convoluzione. Per ogni coppia di segnali causali x e y, la convoluzione nel dominio del tempo diventa moltiplicazione nel dominio z. Cioè: Funzione di trasferimento La funzione di trasferimento H(z) è una rappresentazione algebrica di un filtro LTI nel dominio della frequenza. Essa è definita come Y (z)/X(z), dove Y (z) è la trasformata z del segnale di output y(n), mentre X(z) è la trasformata z dell’input x(n). Ora ricordando che l’output y di un LTI è dato dalla convoluzione dell’input x con la risposta all’impulso h possiamo usare i teoremi appena dimostrati effettuando la trasformata z di y ottenendo con H(z) trasformata di h. Otteniamo cosi la funzione di trasferimento: Analisi poli-zeri Ogni filtro digitale può essere descritto dai suoi poli e zeri, inoltre essi possono dare un’idea della risposta di un filtro. Come abbiamo visto si parte dalla funzione di trasferimento, se prendiamo un filtro LTI ricorsivo, applicando la trasformata Z all’equazione alle differenze finite avremo: Fattorizzando il primo coefficiente del numeratore b0, e chiamandolo g Fattorizzando numeratore e denominatore: Ora i numeri q1;…; qM sono le radici o gli zeri della funzione. Se z è uguale a uno di questi valori la funzione di trasferimento va a 0. Allo stesso modo i numeri p; …; pN sono detti poli della funzione, quando z assume uno di questi valori l’ampiezza della funzione di trasferimento va all’infinito. Analisi poli-zeri Tramite l’analisi di poli e zeri è possibile determinare anche la stabilità di un filtro. Infatti possiamo dire che un filtro è stabile se e solo se tutti i suoi poli sono all’interno della circonferenza unitaria nel piano z. Dimostrazione: consideriamo una risposta all’impulso causale nella forma, la cui trasformata z è: (serie di Taylor) Quindi, l’ultima uguaglianza è vera solo per , cioè se. La funzione di trasferimento ha dunque un solo polo a , ed esiste solo per. Consideriamo ora cosa accade se R >1. Il polo di H(z) va all’esterno della circonferenza unitaria, e la risposta all’impulso aumenta esponenzialmente, quindi la definizione di stabilità data in precedenza viene violata. Visto che la trasformata sappiamo che esiste solo se , deduciamo che R ≥ 1 implica che la trasformata z non esiste più sulla circonferenza unitaria, e la risposta in frequenza non è più definita. Analisi poli-zeri Abbiamo quindi provato che un filtro a un polo è stabile se e solo se il polo è all’interno della circonferenza unitaria. Per quanto riguarda una funzione di trasferimento qualsiasi, la sua espansione in fratti semplici mostra che il comportamento vicino ad ogni polo è quello di un filtro polare avente solo quel polo. Quindi possiamo estendere la definizione di stabilità alla presenza di tutti i poli all’interno della circonferenza. Funzione di trasferimento La maggior parte delle funzioni di trasferimento saranno composte da polinomi di z sia al numeratore che al denominatore: dove le b[k] sono coefficienti costanti del numeratore e le a[l] sono coefficienti del denominatore. Dalla funzione di trasferimento digitale, H[z], è possibile determinare l'uscita per qualsiasi ingresso, dove Y-1[z] è la trasformata Z inversa. Risposta in frequenza La risposta in frequenza di un filtro LTI può essere definita come lo spettro del segnale di output diviso lo spettro del segnale di input. Una proprietà della trasformata z è che, se calcolata sulla circonferenza unitaria z=ejωT, si ottiene lo spettro (FFT(x)). Per dimostrarlo basta sostituire z=ejωT nella definizione della trasformata, per ottenere Essendo z complesso può essere espresso da un’ampiezza r = |z| e una fase θ = , è possibile quindi definire la risposta in ampiezza e la risposta in fase del filtro. La risposta in ampiezza a valori reali specifica il gain del filtro per ogni frequenza La risposta in fase Θ a valori reali da lo spostamento di fase, che ogni componente sinusoidale subisce per ogni frequenza. Risposta in frequenza La risposta in ampiezza a valori reali specifica il gain del filtro per ogni frequenza La risposta in fase Θ a valori reali da lo spostamento di fase, che ogni componente sinusoidale subisce per ogni frequenza. Risposta in ampiezza e in fase di un filtro ellittico Elaborazione Dati e Segnali Biomedici II A.A. 2023-24 Dr. Pietro Aricò, PhD [email protected]