Marco Riccato - Personal Page
back  | home  | email |

Corso di Comunicazioni Elettriche, A. A. 98-99, Prof. G. Cariolaro

Trasformata di Hilbert di un segnale audio (con Matlab)

Esercizio: a partire da una versione campionata di un segnale audio, se ne esegua la trasformata di Hilbert e si renda il risultato nuovamente in formato audio.

Come segnale di partenza ho scelto un brano su CD, la Piccola Serenata Notturna in sol magg. K.525 di W. A. Mozart. Il segnale è di tipo PCM, con frequenza di campionamento 44100 Hz, con campioni a 16 bit (per comodità ho utilizzato un segnale audio mono).

Per realizzare la trasformata di Hilbert ho applicato al segnale il filtro avente risposta in frequenza H(f) = -j sign(f).

fig. 1 Diagramma a blocchi della trasformazione effettuata.

L'algoritmo FFT utlilzzato per calcolare lo spettro del segnale, così come quello di antitrasformazione, induce una ripetizione periodica del segnale in ingresso ai fini di effettuare il calcolo. Sfruttando questo fatto si può dichiarare la funzione H(f) scegliendo un'altra funzione la cui ripetizione periodica sia uguale a quella della H(f) voluta. Nel fatto ho utilizzato la funzione segno.

Riporto integralmente la sessione di Matlab, con commenti.

len=2^20; 
fc=44100; 
% Caricamento dati nel vettore x. 
x=wavread('k525.wav',len); 
X=fft(x); 
% Realizza la trasformata di Hilbert. 
% La scelta della forma della finestra H(f) è stata fatta in accordo 
% con i dati messi a disposizione dalla FFT. 
H=i*sign((0:fc/(len-1):fc)-fc/2); 
Y=H.*X; 
y=ifft(Y); 
% Salvataggio dati in formato audio. 
% Eventuali componenti immaginarie dei campioni, 
% derivate da approssimazioni, sono trascurate. 
wavwrite(y,fc,16,'k525h.wav')

Andamento dei due segnali: in blu il segnale originale, in verde il segnale trasformato.

Il numero di campioni utilizzati è stato scelto tra le potenze di 2 per sfruttare al meglio l'algoritmo FFT. La lunghezza del brano utilizzata è di circa 24". E' possibile scaricare ed ascoltare le prime battute dei segnali trattati. Alla versione trasformata, che ad orecchio non presenta una gran differenza dall'originale, ho preferito la sovrapposizione dei due segnali, in cui le differenze si sentono di più.

Marco Riccato 394526/IL, 12/98.

back  | home  | email |

Page generated with Genpage v.1.0.7
Copyright (C) 2001 - Marco Riccato