Upload
romolusw
View
217
Download
0
Embed Size (px)
Citation preview
8/18/2019 4-TrasfZ Filtri AC PSD I
1/21
SISTEMI LINEARI
(a) Il segnale x(t) iningresso 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)
(c) La trasformatadell’uscita è data dal
prodotto della
trasformata dell’ingresso
e della funzione di
trasferimento
RAPPRESENTAZIONE NEL DOMINIO DEL TEMPO
RAPPRESENTAZIONE NEL DOMINIO DELLA FREQUENZA
SCHEMA A BLOCCHI DI UN SISTEMA (LINEARE)
F F
8/18/2019 4-TrasfZ Filtri AC PSD I
2/21
RISPOSTA IMPULSIVA
0k0
0k1)k()k(x
Per il sistema lineare, causale (le uscite non possono precedere gliingressi), DT:
Si consideri l’ingresso
(impulso unitario):
L’uscita è data da: )k(h)]k([F)]k(x[F)k(y
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|
8/18/2019 4-TrasfZ Filtri AC PSD I
3/21
CONVOLUZIONE
Si consideri un ingresso arbitrario x(k), che si può scrivere come:
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):
)ik(x)i(h)ik(h)i(x)k(y SOMMA DICONVOLUZIONE
Quindi l’unico
termine 0 si
ha per i=k
8/18/2019 4-TrasfZ Filtri AC PSD I
4/21
OSSERVAZIONI• L’operatore convoluzione gode delle proprietà: associativa, commutativa e
distributiva.
• La risposta impulsiva è un modo di esprimere la memoria di unsistema, analogamente all’ autocorrelazione (AC).
• Si può mostrare che l’AC di una funzione di risposta impulsiva è ancora unafunzione di risposta impulsiva, quindi (k) è scorrelata e non ha memoria.
• I valori dell’ingresso di un sistema sono pesati dai valori della rispostaimpulsiva e sommati per generare l’uscita.
• Poiché la risposta impulsiva è la soluzione “a stato zero” di un sistemadescritto da un’equazione differenziale con in ingresso una funzioneimpulsiva, i parametri della risposta impulsiva si ottengono daicoefficienti dell’equazione differenziale (particolarmente utile perequazioni del 1° e 2° ordine).
8/18/2019 4-TrasfZ Filtri AC PSD I
5/21
CONVOLUZIONE E FILTRAGGIO
• Il processo di convoluzione fra la risposta impulsiva di unsistema lineare ed un segnale di ingresso, è larappresentazione del filtraggio nel dominio del tempo.
• La conoscenza della risposta di un sistema al gradino (impulso)unitario consente un’indagine quantomeno qualitativa della suarisposta impulsiva, da cui si può stimare la risposta ad unqualunque ingresso.
• Si noti che non è necessario conoscere l’equazione differenziale
del sistema per predire il suo comportamento, se è possibiledeterminarne la risposta impulsiva.
8/18/2019 4-TrasfZ Filtri AC PSD I
6/21
SISTEMI LINEARI DTOgni successione discreta (DT=Discrete-Time) f(n) si può scrivere come:
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
8/18/2019 4-TrasfZ Filtri AC PSD I
7/21
TRASFORMATA ZE’ essenzialmente una variante della DFT, ma di uso più semplice in molteapplicazioni. E’ l’equivalente TD della trasformata di Laplace per sistemi TC.Data una successione discreta xk la sua trasformata z, X(z) è:
. .
2
2
0
1
1
k
k
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.
8/18/2019 4-TrasfZ Filtri AC PSD I
8/21
TRASFORMATA Z
Proprietà della trasformata Z (*=trasposto coniugato)
8/18/2019 4-TrasfZ Filtri AC PSD I
9/21
FUNZIONI RAZIONALI IN ZClasse 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:
La trasformata Z è:
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 coniugaticostituiscono le risonanze del sistema
F o r m a p o l i n o m
i a l e
F or
m af a t t or i z z a t a
x(n) y(n)
h(n)
8/18/2019 4-TrasfZ Filtri AC PSD I
10/21
FILTRI ANALOGICISi possono considerare una classe disistemi lineari usata frequentemente perl’analisi di sistemi biologici.
I filtri si usano per rimuoverecomponenti di rumore indesiderate dalsegnale, che possono causaredistorsioni e rendere difficile o
addirittura errata la diagnosi.Si possono distinguere tre classiprincipali di filtri: passa-basso, passa-banda, passa-alto.
A-Passa-basso: eliminano le altefrequenze ed eventualmenteamplificano le basse;
B-Passa-alto: svolgono la funzioneopposta dei passa-basso;
C-Passa-banda: rimuovono sia le alteche le basse frequenze, preservandouna banda opportuna.
8/18/2019 4-TrasfZ Filtri AC PSD I
11/21
FILTRI ANALOGICI
Essendo sistemi lineari, nel dominio del tempo l’uscita del filtro è datadalla 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 filtroideale passa-basso. HLP(ω)=1 per |ω|
8/18/2019 4-TrasfZ Filtri AC PSD I
12/21
FILTRI DIGITALI
Sono descritti da equazioni alle differenze (essenzialmente equazionidifferenziali 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.
8/18/2019 4-TrasfZ Filtri AC PSD I
13/21
DA FILTRO DIGITALE A FUNZIONE
DI TRASFERIMENTOLa 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):
8/18/2019 4-TrasfZ Filtri AC PSD I
14/21
ESEMPI
1
2
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)
Entrambi i filtri sono passa-basso, ma con prestazioni molto inferiori a quelle delfiltro ideale mostrato in figura.
8/18/2019 4-TrasfZ Filtri AC PSD I
15/21
FILTRAGGIO DEL RUMORELe 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.
8/18/2019 4-TrasfZ Filtri AC PSD I
16/21
FILTRAGGIO DEL RUMORETramite i filtri visti, possiamo separare il segnale dal rumore, a patto che irispettivi spettri non si sovrappongano. Questo in genere non accade con isegnali biologici.
I segnali biologici sono in maggior parte periodici, ma, per la loro intrinsecavariabilità, è 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 rumorepresente sulle singole misure.
In alternativa, si può calcolare la media delle misure effettuate in N provedistinte xi:
N
1
i
1
N
1
i
1
TC
TD
8/18/2019 4-TrasfZ Filtri AC PSD I
17/21
FILTRAGGIO DEL RUMORE
per N grande, e ε(t) 0.
Questo risultato ci dice quindi che possiamo eliminare il rumore con unasemplice operazione di media su un numero elevato di prove. Molti sistemi dimisura per segnali biologici sono progettati per effettuare la media mentrevengono raccolti i dati.
Per segnali intrinsecamente aleatori in genere è consigliabile effettuarel’operazione di media in frequenza.
N
1
i
N
1
Se il termine di rumore n(t) è puramente aleatorio si dimostra che ε(t), checontiene il contributo del rumore, tende a 0 per N. Per cui
Sostituendo nell’equazione precedente: xi(t)=x(t)+ni(t), si ha:
8/18/2019 4-TrasfZ Filtri AC PSD I
18/21
MEDIA DI VALORI DI PRESSIONE
Operazione di
media sul
segnale di
pressionesanguigna del
bambino di 4
anni visto
8/18/2019 4-TrasfZ Filtri AC PSD I
19/21
MEDIA DI VALORI DI RISPOSTA
UDITIVARisposta 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.
8/18/2019 4-TrasfZ Filtri AC PSD I
20/21
SINUSOIDE + RUMORE
Dato il segnale:
x(k)=sin(π /4k)+n(k)
Scrivere una funzioneMATLAB che mostri
come l’operazione di
media (1, 10, 100 medie)
rimuova la componente
rumorosa e riveli il
segnale deterministicosottostante.
8/18/2019 4-TrasfZ Filtri AC PSD I
21/21
Script MATLAB
noise_removal.m
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
endX1=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')