Trasformata Z Filtri AC PSD I
Transcript
Trasformata Z Filtri AC PSD I
SISTEMI LINEARI (a) Il segnale x(t) in F F SCHEMA A BLOCCHI DI UN SISTEMA (LINEARE) ingresso passa attraverso la trasformazione F{·} e produce l’uscita y(t) (b) L’uscita y(t) è rappresentata dalla convoluzione dell’ingresso x(t) e della risposta impulsiva del sistema h(t) RAPPRESENTAZIONE NEL DOMINIO DEL TEMPO (c) La trasformata dell’uscita è data dal prodotto della trasformata dell’ingresso e della funzione di trasferimento RAPPRESENTAZIONE NEL DOMINIO DELLA FREQUENZA RISPOSTA IMPULSIVA Per il sistema lineare, causale (le uscite non possono precedere gli ingressi), DT: Si consideri l’ingresso (impulso unitario): L’uscita è data da: 1 x(k) (k) 0 k0 k0 y(k) F[ x(k)] F[(k)] h(k) Dove h(k) è definita come la risposta impulsiva (risposta all’impulso unitario) del sistema. Sistema (filtro) FIR (Finite Impulse Response): h(k)=0 k>K, |K|< Sistema (filtro) IIR (Infinite Impulse Response): altrimenti CONVOLUZIONE Si consideri un ingresso arbitrario x(k), che si può scrivere come: Quindi l’unico termine 0 si ha per i=k Poiché y(k)=F[x(k)], e per la linearità: F[x(i)(k-i)]=x(i)F[(k-i)], si ha: E per definizione di h(k): y(k) x(i)h(k i) h(i)x(k i) SOMMA DI CONVOLUZIONE OSSERVAZIONI • L’operatore convoluzione gode delle proprietà: associativa, commutativa e distributiva. • La risposta impulsiva è un modo di esprimere la memoria di un sistema, analogamente all’ autocorrelazione (AC). • Si può mostrare che l’AC di una funzione di risposta impulsiva è ancora una funzione di risposta impulsiva, quindi (k) è scorrelata e non ha memoria. • I valori dell’ingresso di un sistema sono pesati dai valori della risposta impulsiva e sommati per generare l’uscita. • Poiché la risposta impulsiva è la soluzione “a stato zero” di un sistema descritto da un’equazione differenziale con in ingresso una funzione impulsiva, i parametri della risposta impulsiva si ottengono dai coefficienti dell’equazione differenziale (particolarmente utile per equazioni del 1° e 2° ordine). CONVOLUZIONE E FILTRAGGIO • Il processo di convoluzione fra la risposta impulsiva di un sistema lineare ed un segnale di ingresso, è la rappresentazione del filtraggio nel dominio del tempo. • La conoscenza della risposta di un sistema al gradino (impulso) unitario consente un’indagine quantomeno qualitativa della sua risposta impulsiva, da cui si può stimare la risposta ad un qualunque ingresso. • Si noti che non è necessario conoscere l’equazione differenziale del sistema per predire il suo comportamento, se è possibile determinarne la risposta impulsiva. SISTEMI LINEARI DT Ogni successione discreta (DT=Discrete-Time) f(n) si può scrivere come: Con: risposta impulsiva unitaria L’uscita g(n) corrispondente ad un ingresso arbitrario f(n) è data dalla convoluzione discreta: Per sistemi causali (l’uscita non può precedere l’ingresso) g(n) dipende solo da f(k), kn, da cui: h(k)=0 per k<0 TRASFORMATA Z E’ essenzialmente una variante della DFT, ma di uso più semplice in molte applicazioni. E’ l’equivalente TD della trasformata di Laplace per sistemi TC. Data una successione discreta xk la sua trasformata z, X(z) è: X( z ) x k z k x 0 x 1z 1 x 2 z 2 ... ( 1) k 0 N.B.: La trasformata z si ottiene dalla DFT per N→ e z=exp(-j2πm/N). Nella maggior parte dei sistemi biologici, la trasformata z del segnale (campionato) è stimata solo per k=0,1,2,…, N-1. Per un segnale x(t) campionato con periodo T, si ha la successione x=[x(0), x(T), x(2T), …, x(kT)] Dalla (1) la sua trasformata z è quindi: X(z)=x(0)+ x(T)z-1+ x(2T)z-2+…+ x(kT)z-k z-k può quindi essere visto come l’operatore di “shift”, che “ritarda” un campione di segnale di esattamente k intervalli di campionamento, kT. TRASFORMATA Z Proprietà della trasformata Z (*=trasposto coniugato) FUNZIONI RAZIONALI IN Z Classe importante per le applicazioni sia nel dominio del tempo che della frequenza (analisi spettrale). L’ingresso x(n) e l’uscita y(n) sono legati dalla relazione: y(n) x(n) h(n) La trasformata Z è: Forma fattorizzata Forma polinomiale La funzione I/O del sistema è quindi un polinomio razionale in z: Zeri = radici del numeratore; Poli = radici del denominatore La forma fattorizzata mette in evidenza zeri (zk) e poli (pk). I poli complessi coniugati costituiscono le risonanze del sistema FILTRI ANALOGICI Si possono considerare una classe di sistemi lineari usata frequentemente per l’analisi di sistemi biologici. I filtri si usano per rimuovere componenti di rumore indesiderate dal segnale, che possono causare distorsioni e rendere difficile o addirittura errata la diagnosi. Si possono distinguere tre classi principali di filtri: passa-basso, passabanda, passa-alto. A-Passa-basso: eliminano le alte frequenze ed eventualmente amplificano le basse; B-Passa-alto: svolgono la funzione opposta dei passa-basso; C-Passa-banda: rimuovono sia le alte che le basse frequenze, preservando una banda opportuna. FILTRI ANALOGICI Essendo sistemi lineari, nel dominio del tempo l’uscita del filtro è data dalla convoluzione fra l’ingresso e la risposta impulsiva del filtro stesso. Nel dominio della frequenza la trasformata dell’uscita è data dal prodotto della trasformata dell’ingresso e quella del filtro. In figura è mostrato il caso del filtro ideale passa-basso: Risposta impulsiva h(t) del filtro: hLP(t)=Wcsinc(Wct)/π, dove Wc=2πfc è la frequenza di cutoff. Funzione di trasferimento H(ω) del filtro ideale passa-basso. HLP(ω)=1 per |ω|<Wc, 0 altrove. Per il filtro ideale passa-alto si ha: hHP(t)= δ(t)- hLP(t) e HHP(ω)=1- HLP(ω) Per il filtro ideale passa-banda si ha: hBP(t)= hHP(t)* hLP(t) e HBP(ω)= HHP(ω)·HLP(ω) FILTRI DIGITALI Sono descritti da equazioni alle differenze (essenzialmente equazioni differenziali discretizzate). La forma generale è: Dove x(k)=ingresso, y(k)=uscita. Ad esempio, per M=2, N=2, si ha: I filtri digitali possono essere definiti dalla risposta impulsiva e dalla somma di convoluzione: Filtri FIR: la risposta impulsiva ha un numero finito di valori diversi da zero; Filtri IIR: la risposta impulsiva ha un numero infinito di valori diversi da zero. Utili per simulare filtri analogici utilizzando pochi parametri. DA FILTRO DIGITALE A FUNZIONE DI TRASFERIMENTO La funzione di trasferimento per il sistema (filtro) digitale H(z) si può ottenere dall’equazione alle differenze vista per la trasformata z. H(z) è il rapporto fra la trasformata z dell’uscita, Y(z) e quella dell’ingresso X(z): ESEMPI ES.1: Trovare la risposta impulsiva del filtro FIR: y(k)=1/3x(k)+1/3x(k-1)+1/3x(k-2) ES.2: Trovare la funzione di trasferimento del filtro IIR: y(k)-1/2y(k-1)=1/2x(k) 1 2 Entrambi i filtri sono passa-basso, ma con prestazioni molto inferiori a quelle del filtro ideale mostrato in figura. FILTRAGGIO DEL RUMORE Le misure dei segnali biologici sono spesso “mescolate” a rumore di misura. Molte classi di segnali biologici sono modellizzate come la somma di una componente ideale priva di rumore, x(t) e un termine indipendente di rumore n(t): xi(t) = x(t) + ni(t) Il segnale xi(t) corrisponde alla i-ma “prova” o “misura” del segnale. Benché la componente deterministica x(t) sia fissa per ogni misura, il termine di rumore n(t) rappresenta la variabilità intrinseca del segnale, che può avere origini diverse. Ad esempio, una elettrodo in una misura di ECG può registrare segnali estranei a quello in esame, provenienti dai muscoli, polmoni ed anche dall’elettronica interna allo strumento (ad es., un rumore a 60 Hz dovuto all’alimentatore). Questi segnali costituiscono quindi il rumore presente sul segnale ECG. FILTRAGGIO DEL RUMORE Tramite i filtri visti, possiamo separare il segnale dal rumore, a patto che i rispettivi spettri non si sovrappongano. Questo in genere non accade con i segnali biologici. I segnali biologici sono in maggior parte periodici, ma, per la loro intrinseca variabilità, è da prevedere la presenza di una qualche forma di rumore. Un modo per calcolare le variabili cliniche di interesse è quello di riferirsi alla media aritmetica, ma questo è spesso impossibile a causa del rumore presente sulle singole misure. In alternativa, si può calcolare la media delle misure effettuate in N prove distinte xi: x( t ) x( k ) N 1 N x( t ) 1 N x( k ) i TC i 1 N i i 1 TD FILTRAGGIO DEL RUMORE Sostituendo nell’equazione precedente: xi(t)=x(t)+ni(t), si ha: 1 x( t ) x( t ) N N n( t ) x( t ) ( t ) i i 1 Se il termine di rumore n(t) è puramente aleatorio si dimostra che ε(t), che contiene il contributo del rumore, tende a 0 per N. Per cui x( t ) x( t ) per N grande, e ε(t) 0. Questo risultato ci dice quindi che possiamo eliminare il rumore con una semplice operazione di media su un numero elevato di prove. Molti sistemi di misura per segnali biologici sono progettati per effettuare la media mentre vengono raccolti i dati. Per segnali intrinsecamente aleatori in genere è consigliabile effettuare l’operazione di media in frequenza. MEDIA DI VALORI DI PRESSIONE Operazione di media sul segnale di pressione sanguigna del bambino di 4 anni visto MEDIA DI VALORI DI RISPOSTA UDITIVA Risposta uditiva (segnale EEG) ad un breve impulso sonoro misurata sul lobo temporale (Auditory Breinstem Response, ABR). E’ evidente la presenza di rumore che maschera il segnale reale. La media su 1000 segnali mostra invece chiaramente la componente di risposta uditiva allo stimolo. SINUSOIDE + RUMORE Dato il segnale: x(k)=sin(π/4k)+n(k) Scrivere una funzione MATLAB che mostri come l’operazione di media (1, 10, 100 medie) rimuova la componente rumorosa e riveli il segnale deterministico sottostante. k=1:64; %discrete time axis x=zeros(100,64); for i=1:100 %generating 100 signal trials x(i,k)=sin(pi/4*k)+randn(1,64); %i-th trial end X1=x(1,:); %1 Averages X10=mean(x(1:10,:)); %10 Averages X100=mean(x); %100 Averages subplot(311) %Plotting results - 1 Average plot(k,X1,'k') axis([1 64 -3 3]) title('1 Average') ylabel('Amplitude') subplot(312) %Plotting results - 10 Averages plot(k,X10,'k') axis([1 64 -3 3]) title('10 Averages') ylabel('Amplitude') subplot(313) %Plotting results - 100 Averages plot(k,X100,'k') axis([1 64 -3 3]) title('100 Average') ylabel('Amplitude') Script MATLAB noise_removal.m