Main Content

Dall’analisi di Fourier all’analisi wavelet

Prodotti interni

Sia la trasformata di Fourier sia la trasformata wavelet misurano la somiglianza tra un segnale e una funzione di analisi. Entrambe le trasformate utilizzano uno strumento matematico chiamato un prodotto interno come misura della somiglianza. Le due trasformate differiscono nella scelta della funzione di analisi. Questo si traduce nel diverso modo in cui le due trasformate rappresentano il segnale e il tipo di informazioni che possono essere estratte.

Come semplice esempio del prodotto interno come misura di somiglianza, si consideri il prodotto interno di vettori nel piano. Il seguente esempio MATLAB® calcola il prodotto interno di tre vettori unitari, {u,v,w}, nel piano:

{(3/21/2),(1/21/2),(01)}

u = [sqrt(3)/2 1/2];
v = [1/sqrt(2) 1/sqrt(2)];
w = [0 1];
% Three unit vectors in the plane
quiver([0 0 0],[0 0 0],[u(1) v(1) w(1)],[u(2) v(2) w(2)]);
axis([-1 1 0 1]);
text(-0.020,0.9371,'w');
text(0.6382,0.6623,'v');
text(0.7995,0.4751,'u');
% Compute inner products and print results
fprintf('The inner product of u and v is %1.2f\n', dot(u,v))
fprintf('The inner product of v and w is %1.2f\n', dot(w,v))
fprintf('The inner product of u and w is %1.2f\n', dot(u,w))

Osservando la figura, è evidente che u e v hanno l’orientamento più simile, mentre u e w sono i più dissimili.

I prodotti interni catturano questo fatto geometrico. Matematicamente, il prodotto interno di due vettori, u e v è uguale al prodotto delle loro norme e del coseno dell'angolo θ tra loro:

<u,v>=||u||||v||cos(θ)

Nel caso particolare in cui sia u sia v abbiano norma unitaria, o energia unitaria, il prodotto interno è uguale acos(θ), ed è quindi compreso tra [-1,1]. In questo caso, è possibile interpretare il prodotto interno direttamente come un coefficiente di correlazione. Se u o v non hanno norma unitaria, il prodotto interno può superare 1 in valore assoluto. Tuttavia, il prodotto interno dipende ancora dal coseno dell'angolo tra i due vettori e può essere interpretato come una sorta di correlazione. Si noti che il valore assoluto del prodotto interno è maggiore quando l'angolo tra i due vettori è 0 o π radianti (0 o 180 gradi). Questo si verifica quando un vettore è un multiplo scalare a valore reale dell'altro.

Sebbene i prodotti interni in spazi dimensionali superiori, come quelli che si incontrano nelle trasformate di Fourier e nelle trasformate wavelet, non presentino la stessa facilità di interpretazione geometrica dell'esempio precedente, essi misurano la somiglianza nello stesso modo. Una parte significativa dell'utilità di queste trasformate è che riassumono essenzialmente la correlazione tra il segnale e alcune funzioni di base con determinate proprietà fisiche, come la frequenza, la scala o la posizione. Riassumere il segnale in queste parti costitutive consente di comprendere meglio i meccanismi che hanno prodotto il segnale.

Trasformata di Fourier

L'analisi di Fourier viene utilizzata come punto di partenza per introdurre le trasformate wavelet e come punto di riferimento per dimostrare i casi in cui l'analisi wavelet fornisce una caratterizzazione più utile dei segnali rispetto all'analisi di Fourier.

Matematicamente, il processo dell’analisi di Fourier è rappresentato dalla trasformata di Fourier:

F(ω)=f(t)ejωtdt.

che costituisce l’integrale (somma) di tutta la durata del segnale f(t) moltiplicato per un esponenziale complesso. Si ricordi che un esponenziale complesso può essere scomposto in componenti sinusoidali reali e immaginari. Si noti che la trasformata di Fourier mappa una funzione di una singola variabile in un'altra funzione di una singola variabile.

L’integrale che definisce la trasformata di Fourier è un prodotto interno. Vedere Prodotti interni per un esempio di come i prodotti interni misurano la somiglianza tra due segnali. Per ciascun valore di ω, l’integrale (o somma) di tutti i valori temporali produce uno scalare F(ω), che riassume la somiglianza tra i due segnali. Questi scalari a valore complesso sono i coefficienti di Fourier. Concettualmente, moltiplicando ciascun coefficiente di Fourier F(ω) per un esponenziale complesso (sinusoide) di frequenza ω si ottengono i componenti sinusoidali del segnale originale. A livello grafico, il processo si presenta come

Poiché ejωt è a valore complesso, F(ω) è, in generale, a valore complesso. Se il segnale contiene oscillazioni significative a una frequenza angolare di ω0, il valore assoluto di F(ω0) sarà grande. Analizzando un grafico di |F(ω)| in funzione della frequenza angolare, è possibile determinare quali frequenze contribuiscono maggiormente alla variabilità di f(t).

Per illustrare come la trasformata di Fourier catturi la somiglianza tra un segnale e sinusoidi a frequenza diversa, il seguente codice MATLAB analizza un segnale costituito da due sinusoidi di 4 e 8 Hertz (Hz) corrotte da rumore additivo, utilizzando la trasformata di Fourier discreta.

rng(0,'twister');
Fs = 128;
t = linspace(0,1,128);
x = 2*cos(2*pi*4*t)+1.5*sin(2*pi*8*t)+randn(size(t));
xDFT = fft(x);
Freq = 0:64;
subplot(211);
plot(t,x); xlabel('Seconds'); ylabel('Amplitude');
subplot(212);
plot(Freq,abs(xDFT(1:length(xDFT)/2+1)))
set(gca,'xtick',[4:4:64]);
xlabel('Hz'); ylabel('Magnitude');

Visto come un segnale temporale, è difficile determinare quali oscillazioni significative siano presenti nei dati. Tuttavia, se si osserva il valore assoluto dei coefficienti della trasformata di Fourier in funzione della frequenza, è facile individuare le oscillazioni dominanti a 4 e 8 Hz.

Trasformata di Fourier a tempo breve

La trasformata di Fourier riassume la somiglianza tra un segnale e una sinusoide con un singolo numero complesso. L'ampiezza del numero complesso cattura il grado in cui le oscillazioni a una particolare frequenza contribuiscono all'energia del segnale, mentre l'argomento del numero complesso cattura le informazioni sulla fase. Si noti che i coefficienti di Fourier non hanno alcuna dipendenza dal tempo. I coefficienti di Fourier si ottengono integrando, o sommando, per l’intera durata; quindi, è evidente che si perda questa informazione. Considerare i due segnali seguenti:

Entrambi i segnali sono costituiti da una singola onda sinusoidale con una frequenza di 20 Hz. Tuttavia, nel segnale superiore, l’onda sinusoidale dura per tutti i 1000 millisecondi. Nel grafico inferiore, l'onda sinusoidale inizia a 250 millisecondi e termina a 750 millisecondi. La trasformata di Fourier rileva che i due segnali hanno lo stesso contenuto di frequenza, ma non ha modo di rilevare che la durata dell'oscillazione di 20 Hz differisce tra i due segnali. Inoltre, la trasformata di Fourier non ha un meccanismo per segnare l'inizio e la fine dell'onda sinusoidale intermittente.

Nel tentativo di correggere questa carenza, Dennis Gabor (1946) ha adattato la trasformata di Fourier per analizzare solo una piccola sezione di segnale alla volta, una tecnica chiamata finestratura del segnale. L'adattamento di Gabor è chiamato trasformata di Fourier a tempo breve (STFT). Questa tecnica funziona scegliendo una funzione temporale, o finestra, che è essenzialmente diversa da zero solo su un intervallo finito. A titolo di esempio, si consideri la seguente funzione finestra gaussiana:

w(t)=απeαt2

La funzione gaussiana è centrata intorno a t=0 su un intervallo che dipende dal valore di α. Spostando la funzione gaussiana di τ si ottiene:

w(tτ)=απeα(tτ)2,

che centra la finestra gaussiana intorno a τ. Moltiplicando un segnale per w(tτ) si seleziona una porzione del segnale centrata su τ. Prendendo la trasformata di Fourier di questi segmenti finestrati per diversi valori di τ, si ottiene la STFT. Matematicamente, si traduce in:

F(ω,τ)=f(t)w(tτ)ejωtdt

La STFT mappa una funzione di una variabile in una funzione di due variabili, ω e τ. Questa rappresentazione bidimensionale di un segnale monodimensionale indica che è presente una ridondanza nella STFT. La figura seguente mostra come la STFT mappa un segnale in una rappresentazione tempo-frequenza.

La STFT rappresenta una sorta di compromesso tra la vista di un segnale basata sul tempo e la vista basata sulla frequenza. Fornisce alcune informazioni in merito a quando e a quali frequenze si verifica un evento del segnale. Tuttavia, è possibile ottenere queste informazioni solo con una precisione limitata, determinata dalla dimensione della finestra.

Sebbene il compromesso STFT tra informazioni sul tempo e sulla frequenza possa essere utile, presenta lo svantaggio che una volta scelta una particolare dimensione per la finestra temporale, tale finestra è la stessa per tutte le frequenze. Molti segnali richiedono un approccio più flessibile, un approccio in cui è possibile variare la dimensione della finestra per determinare con maggiore precisione il tempo o la frequenza.

Invece di tracciare la STFT in tre dimensioni, la convenzione è di codificare |F(ω,τ)| come intensità su una mappa a colori. Calcolare e visualizzare la STFT delle due onde sinusoidali a 20 Hz di diversa durata mostrate in precedenza:

Utilizzando la STFT, si può notare che l'onda sinusoidale intermittente inizia vicino a 250 ms e termina intorno a 750 ms. Inoltre, si può notare che l'energia del segnale è concentrata intorno ai 20 Hz.