SEGNALI STAZIONARI: ANALISI SPETTRALE Analisi spettrale: rappresentazione delle componenti in frequenza di un segnale (ampiezza vs. frequenza). Fornisce maggiori dettagli rispetto all’analisi temporale (ampiezza vs. tempo). Particolarmente utile nelle applicazioni biomediche per segnali quasi periodici (es: cuore, respiro, voce, ecc.). Spettro: Vettore delle ampiezze delle componenti di un segnale, disposte in funzione della loro frequenza. Un segnale è in teoria rappresentato da una serie infinita di sinusoidi. Come si stima lo spettro: Metodo tradizionale (non parametrico): Trasformata di Fourier. Metodo parametrico: basato su modelli (lineari) del segnale. Perchè l’analisi in frequenza? Ad esempio, in ottica, alcuni colori (rosso, giallo, blu), detti fondamentali, sono puri, cioè non ulteriormente scomponibili. A ciascuno di essi corrisponde una certa lunghezza d'onda (frequenza) del raggio luminoso, e il prisma (che scompone la luce bianca nei sette colori dello spettro luminoso) mostrerà solamente quella componente. La medesima cosa avviene per gli altri segnali. Es: il suono. A una certa lunghezza d'onda del suono corrisponde una certa “altezza” percepita. Se non è presente contemporaneamente nessun altra frequenza, il suono sarà puro. SPETTRO ES: SUONO - Ogni singola componente è un tono puro (sinusoidale: y = sin(x)). 3 componenti: 55Hz,125Hz,180Hz 1 componente: 100Hz ANALISI DI FOURIER Qualunque segnale periodico può essere scomposto nella somma di un eventuale termine costante e di componenti sinusoidali, delle quali la prima, avente lo stesso periodo e quindi la stessa frequenza del segnale considerato, si chiama prima armonica o fondamentale: a1cosx+b1senx e le altre, aventi periodi sottomultipli e quindi frequenze multiple, si chiamano armoniche superiori: akcoskx+bksenkx In altri termini, con opportune interferenze (somme) di onde più semplici si può ricostruire l'onda originale (es: onda sonora). x( t ) a 0 ( a m cosm 0 t b m sinm0 t ) m1 Analisi di Fourier: rappresenta con una serie di armoniche, ciascuna dotata di una particolare ampiezza (e fase), qualsiasi forma d'onda. ARMONICHE Se le componenti sono in rapporto di frequenza intero con la componente di frequenza più bassa, si dicono armoniche. La componente a frequenza più bassa si chiama fondamentale o prima armonica e si indica con F0. La componente di frequenza doppia della fondamentale si chiama seconda armonica (y = sin(2x) ), la componente di frequenza tripla della fondamentale si chiama terza armonica (y = sin(3x) ), e così via. RUMORE Le frequenze non sono equispaziate, e i rapporti di frequenza con la più bassa non sono interi, anzi sono addirittura irrazionali. L'onda risultante non è periodica. SERIE DI FOURIER A seconda delle applicazioni, si possono usare altre rappresentazioni della serie di Fourier: A A m co s( m0 t m ) x( t ) 0 0 2 m1 x( t ) c me j m0 t Grafico ottenuto da una funzione MATLAB che mostra i primi 10 termini della serie di Fourier in forma esponenziale per l’onda quadra vista in precedenza. Coefficienti di Fourier in funzione della frequenza armonica. Qui sono necessari termini sia positivi che negativi. SERIE DI FOURIER Calcolare la serie di Fourier dell’onda quadra vista precedentemente ed implementare una funzione MATLAB per le prime 10 componenti . Disegnare il grafico del segnale ottenuto e quello dei coefficienti di Fourier. Si ha: 5 sin ( m / 2 ) x( t ) 5 co s( mt ) 2 m / 2 m1 Approssimazione dell’onda quadra con 10 termini della serie di Fourier su [-2, 2] Coefficienti di Fourier in funzione della frequenza armonica %Plotting Fourier series approximation subplot(211) time=-2:0.01:2; %Time axis x=0; %Initializing signal for m=-10:10 if m==0 x=x+5/2; %Term for m=0 else x=x+5*sin(m*pi/2)/m/pi*2*exp(j*m*pi*time); end end plot(time,real(x),'k') %Plotting and Labels xlabel('Time (sec)') ylabel('Amplitude') set(gca,'Xtick',[-2:2]) % Visualizza estremi e valori intermedi set(gca,'Ytick',[0 5]) %visualizza solo gli estremi set(gca,'Box','off') %Non visualizza i bordi del grafico %Plotting Fourier magnitudes subplot(212) m=-10:10+1E-10; A=[5/2*sin(m*pi/2)./m/pi*2]; %Fourier magnitudes Faxis=(-10:10)*.5; %Frequency axis plot(Faxis,A,'k.') % plotting axis([-5 5 -2 4]) set(gca,'Box','off') xlabel('Frequency (Hz)') ylabel('Fourier amplitudes') Script MATLAB Fourier_series1.m SERIE DI FOURIER Coefficienti di Fourier (rappresentazione in serie di coseni) del segnale di pressione aortica visto (scala logaritmica). I coefficienti alle basse frequenze hanno ampiezza maggiore di quelli alle alte frequenze, che quindi danno un contributo poco significativo alla ricostruzione del segnale Ricostruzione a vari livelli: Media + 1 e 2 armonica = forma base della pressione sistolica e diastolica; Ulteriori armoniche aggiungono dettagli ma contribuiscono in modo poco significativo alla ricostruzione della forma d’onda. TRASFORMATA DI FOURIER La trasformata (o integrale) di Fourier (FT)) è utile per decomporre un segnale (continuo) nelle sue componenti in frequenza, analogamente alla serie di Fourier che consente di decomporre un segnale periodico nelle sue componenti trigonometriche. La relazione inversa (IFT) consente di ricostruire il segnale dalla FT: X( ) x( t )e jt dt x( t ) 1 2 X( )e jt d Es.: FT della funzione rettangolo unitario 1, x( t ) 0, t a t a a jt e X( ) e jt dt j a a a 2 sina 2a sinc( a ) Grafico della funzione sinc (cardinal sine) L’implementazione numerica più nota ed efficiente della FT è la FFT (Fast Fourier Transform). ANALISI IN FREQUENZA La trasformata di Fourier consente di approssimare funzioni complesse con altre più semplici numerose applicazioni in matematica, fisica, ingegneria. Un qualsiasi segnale (periodico di periodo T) può essere rappresentato da una combinazione di sinusoidi con ampiezza e frequenza opportune. Onda quadra (a) approssimata da un numero crescente di sinusoidi: 1,2,3,4 rispettivamente in (b),(c),(d),(e). Le componenti a frequenze via via più elevate sono dette “armoniche” FAST FOURIER TRANSFORM FFT - E’ un efficiente algoritmo numerico per calcolare la trasformata di Fourier discreta (DFT). Perché l’algoritmo sia particolarmente efficiente il numero di dati N deve essere una potenza del 2. Il rapporto delle velocità di esecuzione fra la DFT e l’FFT è: DF T FFT co mp u t in g co mp u t in g t ime t ime N2 N l og2 N N lo g2 N Ad esempio, per N=1024, l’FFT è circa 100 volte più veloce della DFT. Funzione sinusoidale di freq. F=100Hz e relativa FFT Grafico MATLAB di |FFT| (in radianti normalizzato fra 0 e 2π) della somma di 2 sinusoidi Funzione sinusoidale di freq. F=100Hz con rumore additivo e relativa FFT ES: SEGNALE VOCALE Spettri ottenuti con la Fast Fourier Transform (FFT) F F T - linear scale F F T - logarithmic scale 1 0 0.9 -20 0.8 N orm. P S D (dB) N orm. P S D 0.7 0.6 0.5 0.4 0.3 0.2 -40 -60 -80 -100 0.1 0 0 1000 2000 3000 S ampling freq. F = 25000 s 4000 F req. (Hz) 5000 -120 0 1000 2000 3000 S ampling freq. F = 25000 s 4000 F req. (Hz) 5000 La Trasformata di Fourier (1) • scompone un segnale f(t) nelle sue componenti sinusoidali di diversa frequenza • dominio dei tempi dominio delle frequenze PRINCIPALE LIMITE risoluzione in frequenza, ma non nel tempo: rivela quali frequenze sono presenti nel segnale ma non quando si verificano Segnali non stazionari Analisi nel tempo o in frequenza? La rappresentazione più nota è lo spettrogramma: grafico tempofrequenza dell’intensità del segnale. Nello spettrogramma, l’asse orizzontale corrisponde al tempo e l’asse verticale alla frequenza. L’intensità ad un certo istante è data da un’apposita tonalità di colore (o livello di grigio). Le armoniche vengono rappresentate da fasce orizzontali parallele. Es: l’inflessione della voce nel parlato produce un aumento o una diminuzione della frequenza delle armoniche. LO SPETTROGRAMMA La potenza è una misura dell’energia totale prodotta al secondo, ed è misurata in Watt. L’intensità è una misura della potenza per unità di area, misurata in Watt/m2, o in decibel (dB). La scala dei decibel è logaritmica, e consente di rappresentare grandi variazioni di potenza con piccole variazioni in dB. Lo spettrogramma è il grafico tempo-frequenza dell’intensità del segnale Nello spettrogramma, l’asse orizzontale corrisponde al tempo e l’asse verticale alla frequenza. L’intensità ad un certo istante è data da un’apposita tonalità di colore (o livello di grigio) nello spettrogramma. Le armoniche vengono rappresentate da fasce orizzontali parallele. Es: l’inflessione della voce nel parlato produce un aumento o una diminuzione della frequenza delle armoniche. SPETTROGRAMMA DI: /see-saw/ Spettrogrammi dei suoni vocalici "a" ed "i" pronunciati da un madrelingua italiano e relative forme d'onda SPETTROGRAMMA 8000 7000 6000 1.5 2 2.5 3 3.5 4 Time [ms] F re que ncy [H z ] 1 5000 4000 3000 2000 1000 0 10 10.5 11 11.5 DOPPLER ARTERIA OMBELICALE Stima della velocità massima nell’ arteria sanguigna ombelicale materna. Si studia lo spettrogramma del flusso sanguigno. I massimi della PSD sono legati alla velocità massima del sangue. Problema: segnale non stazionario richiede l’uso di tecniche adattative per stimare i parametri di interesse su intervalli di tempo ridotti (qualche decina di ms). La Short Time Fourier Transform (1) La STFT applica la trasformata di Fourier a porzioni del segnale Il segnale viene moltiplicato per una finestra w(t) che trasla nel tempo Fornisce una collocazione temporale di una certa banda di frequenza “FINESTRAGGIO” DEI DATI Il finestraggio dei dati (data windowing) consente di controllare gli effetti dovuti ai lobi laterali negli stimatori spettrali. Si suppone che una sequenza nota e finita di dati (e/o di campioni dell’autocorrelazione) sia una parte di una sequenza di durata infinita, ottenuta da un finestraggio dei dati. L’ipotesi implicita in questo ragionamento è che i dati non osservabili, esterni alla finestra allo studio, siano tutti uguali a zero. La Short Time Fourier Transform (2) Fissato il tipo di finestra, il prodotto f * t è costante, w(t) a supporto ampio w(t) a supporto stretto Buona risoluzione in frequenza Bassa risoluzione in frequenza Bassa risoluzione nel tempo Buona risoluzione nel tempo STFT Si dimostra che vale la seguente relazione fra durata temporale Δt e larghezza di banda Δf: STFT DURATA COSTANTE SPETTRO TRASLATO IN FREQUENZA FT PER SEGNALE DI DURATA FINITA I segnali reali sono quasi sempre di durata finita. La FT di un segnale di durata finita si ottiene dalla convoluzione della FT del segnale e quella di un’opportuna “finestra” x(t): nessuna distorsione Modulo della FT della finestra (rettangolare) x(t), |X(Ω)| e del segnale infinito sin(Ω0t), |Fsin(Ω0t)| Modulo della FT del segnale finito y(t): Y(Ω)=X(Ω) |Fsin(Ω0t)| allargamento lobo principale lobi laterali FINESTRAGGIO I lobi laterali della trasformata della finestra, anche detti “leakage” (dispersione), influenzano le ampiezze delle frequenze adiacenti. Il leakage non solo produce una distorsione in ampiezza per segnali campionati, ma può mascherare la presenza di segnali deboli, ed impedirne l’individuazione. Esistono molte funzioni finestra, per ottenere livelli accettabili per i lobi laterali. Una diminuzione dei lobi laterali consente infatti di ridurre la distorsione. Questo si ottiene però allargando la risposta in frequenza del lobo principale, che causa una riduzione della risoluzione spettrale. E’ quindi necessario considerare soluzioni di compromesso fra l’ampiezza del lobo principale ed il livello di soppressione dei lobi laterali. Le più note finestre per segnali campionati sono: rettangolare, triangolare, Hanning, Hamming, Nuttall, Gaussiana. FINESTRE E RISOLUZIONE (a-b) Rettangolare; (c-d) Triangolare; (e-f) Hanning; (g-h) Hamming; (i-j) Nuttal; (k-l) Gaussiana; (m-n) Chebyshev FINESTRE E DTFT