Anda di halaman 1dari 21

Capitolo 4

Analisi ed Elaborazione del Suono


Riccardo Di Federico Copyright c 1999 by Riccardo Di Federico. All rights reserved.

4.1

Analisi di Fourier

Lanalisi spettrale costituisce uno dei pi potenti strumenti di indagine in molti campi dellingegneria. Il fatto di poter rappresentare segnali complessi come somma di funzioni semplici, tipicamente sinusoidi o esponenziali complessi, permette di evidenziare caratteristiche del segnale altrimenti difcili, se non impossibili, da rilevare. Ad esempio, parametri acustici quali pitch (altezza) e timbro sono generalmente ottenuti mediante algoritmi operanti nel dominio della frequenza. La decomposizione in funzioni semplici di grande aiuto anche quando si deve modicare il segnale. Poter agire selettivamente su ogni singola componente permette di effettuare manipolazioni di caratteristiche del suono, quali il timbro, impraticabili con semplici interventi sulla forma donda. Una trattazione teorica rigorosa dellanalisi spettrale al di l degli scopi di questi appunti. In questa sede ci concentreremo pi sullinterpretazione e luso del pi comune strumento di indagine spettrale: la Short Time Fourier Transform (STFT), denita come trasformata di Fourier dipendente dal tempo. La STFT spesso sinonimo di analisi tempo-frequenza, locuzione con cui intendiamo uno studio congiunto delle caratteristiche temporali e spettrali del suono, cio dellevoluzione temporale dei parametri spettrali del segnale. Per arrivare a comprendere il signicato della STFT verranno richiamati alcuni elementi teorici della trasformata di Fourier. A partire dalla serie di Fourier, denita per segnali analogici, periodici e di lunghezza innita, verranno introdotte come estensioni lintegrale e la trasformata di Fourier. Rimuovendo quindi lipotesi di segnale analogico saranno denite la trasformata per segnali a tempo discreto e la trasformata discreta (cio a tempi e frequenze discrete). Sulla base delle osservazioni fatte sulla trasformata di Fourier verranno inne discusse le principali problematiche relative allimpiego della Short Time Fourier Transform.

4.1.1

Segnale periodico, a tempo continuo, di estensione innita - serie di Fourier

Sia x t un segnale a tempo continuo, periodico di periodo T e di estensione innita: x t x t mT 4.1

 t 

(4.1)

4.2

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO

si dimostra allora che x t pu essere rappresentato da una somma pesata (e in generale innita) di cosinusoidi le cui frequenze sono multiple intere di 1/T. Si ha cio: x t 

k 0

Ck cos 0 kt


2 T

(4.2)

in cui il termine k tiene conto della "posizione" della k  esima cosinusoide. Una forma alternativa, pi comoda per introdurre la trasformata di Fourier la forma complessa della serie di Fourier, che si ottiene dalla (4.2) riscrivendo il coseno come somma di esponenziali complessi e riorganizzando i limiti della sommatoria:  2 x t Fk e j0 kt ! (4.3) 0 T k  in cui gli Fk sono legati ai Ck attraverso la relazione: Fk C " k " jsgn k ! # # k e 2

(4.4)

quindi i coefcienti Fk contengono sia linformazione di fase che quella di modulo relative alla k-esima parziale: $ $ Fk Ck % 2 '& Fk k ( (4.5) la determinazione di Fk si ottiene osservando che dato che tutti gli esponenziali presenti in (4.3) sono combinazioni di seni e coseni di periodo T, il loro integrale sul periodo nullo; si ha in particolare:

)
0

j0 nt

e

j0 mt

dt

)
0

e j 0

n mt

 !

dt

10

0 T

n 2 m n m

(4.6)

Se a e j0 nt sostituiamo x t , il valore dellintegrale diventa Fm T , pari cio al coefciente dellunico esponenziale di x a pulsazione 0 m. quindi diretta la derivazione della seguente formula per il calcolo dei coefcienti della serie: Fk

1 T

T 0

x t e

j0 kt

dt

(4.7)

sostituendo inne la (4.7) nella (4.3) si ottiene lidentit: x t  1 T3 k 

)
0

x t e

j0 kt

dt 4 e

j0 kt

(4.8)

4.1.2

Segnale aperiodico, a tempo continuo, di estensione innita. Integrale e trasformata di Fourier

Nel caso il segnale non sia perfettamente periodico non possibile darne una rappresentazione periodica, ottenuta come somma di coseni a frequenze multiple della fondamentale. Tuttavia si pu pensare di estendere lintervallo considerato come periodo no a comprendere lintero asse reale. In questa operazione di limite la frequenza fondamentale tende a zero e cos anche la distanza fra le armoniche. In pratica la somma nella (4.8) diventa un integrale con la sostituzione formale 1 % T 5 d f  2 f  d 2 f e i limiti di integrazione della (4.7) diventano 6 7 : x t  1 2

)  

) 

3 

x t e

jt

dt 4 e

jt

! d

(4.9)

4.1. ANALISI DI FOURIER

4.3

La (4.9) prende il nome di integrale di Fourier. Il termine entro parentesi quadre svolge il ruolo dei coefcienti complessi della serie di Fourier, e pu quindi essere interpretato come lampiezza complessa, contenente cio linformazione di modulo e fase, alla frequenza . La funzione di che ne risulta la trasformata di Fourier: F 

)  

x t e

jt

dt

(4.10)

La (4.9) ci fornisce anche la formula di inversione (trasformata inversa di Fourier): x t 1 2

)  

F e jt d

(4.11)

4.1.3

Segnale aperiodico, a tempo discreto, di estensione innita. Trasformata di Fourier a tempo discreto (DTFT)

Il calcolo numerico della trasformata di Fourier richiede il campionamento del segnale da analizzare. Questa discretizzazione dei tempi implica la sostituzione del simbolo di integrale nella (4.10) con un simbolo di sommatoria:  F  TC
n



x nTC e 

jnTC

(4.12)

oppure, ridenendo r

TC (e quindi passando da rad/s a rad) e x n x nTC : F r  TC


n



x n e

j r n

(4.13)

facile osservare che F r 8 F r 2 come era naturale attendersi dato che il campionamento in un dominio corrisponde alla periodicizzazione nel dominio duale. La trasformata a tempi discreti pu quindi essere denita per valori di r 0  2 . Ammesso che siano rispettate le condizioni del 3 teorema del campionamento (se non lo sono si pu pre-processare il segnale con un ltro antialiasing), il segnale pu essere recuperato dalla sua trasformata applicando la (4.11) con la sostituzione della variabile di integrazione 5 r d d r % Tc x n 1 2

F r e jr n d

(4.14)

4.1.4

Segnale aperiodico, a tempo e frequenze discreti. Trasformata discreta di Fourier (DFT)

Come facile rendersi conto, il calcolo numerico della trasformata inversa (4.14) richiede che, oltre ai tempi, anche le frequenze siano discretizzate. Questo passaggio si pu ottenere campionando uniformemente lasse frequenziale, e sostituendo quindi r 5 2 % N (con k  N % 2 1  N % 24 per N pari e 3 k 9 N  1 % 2 ' N  1 % 24 per N dispari). Il simbolo di integrale nella (4.14) viene sostituito da una 3 sommatoria e d r 5 r 2 % N . Si ha quindi: F k  T
n



x n e

j2 kn N

(4.15)

4.4 x n @ x n @

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO


1 N A 2 1 F k e N k  N A 2 1
j2 kn N

N pari

(4.16)

1 N  1 !BA 2 F k e N k  N  1 !BA 2

j2 kn N

N dispari

(4.17)

Il campionamento nel dominio della frequenza induce sul segnale x n una periodicizzazione di periodo N . Per evitare aliasing nel tempo, cio per ricostruire in modo esatto il segnale, x n dovr quindi avere unestensione inferiore o uguale a N , nel qual caso la somma nella (4.16) sar limitata a n  N % 2 1  N % 24 e quella in (4.17) a n 9 N  1 % 2 ' N  1 % 24 per N dispari. I noti algo3 3 ritmi di Fast Fourier Transform (FFT) non sono altro che implementazioni veloci della DFT, con la limitazione che la lunghezza del segnale deve essere limitata e pari a una potenza di due.

4.2

Short Time Fourier Transform (STFT)

Nel caso si voglia usare la DTFT per analizzare le propriet tempo varianti di un segnale necessario selezionare tratti di segnale sufcientemente corti da poter essere assunti stazionari. Una sequenza di questi spettri a breve termine costituisce la Short Time Fourier Transform.

4.2.1

Denizioni

Sia x un segnale a tempo discreto; deniamo come Short Time Fourier Transform di x: Xn e j C
m



w n  m x m e

j m

(4.18)

in cui w n  m una sequenza reale di estensione nita, detta nestra di analisi, che ha la funzione di limitare, troncandola in modo pi o meno brusco, la porzione di segnale sotto analisi. evidente che la STFT di un segnale una funzione di due variabili: la pulsazione (normalizzata a 0  2 ), e il 3 campione n a cui essa valutata. La (4.18) pu essere interpretata come una trasformata che "scorre" sul segnale (in effetti la nestra che scorre sul segnale). Una forma alternativa della (4.18) si pu ottenere con il cambio di indice nella somma n  m 5 m: Xn e j  e 
j n m



w n x n  m e j m

(4.19)

In questo caso il segnale che scorre sotto la nestra centrata intorno allorigine.

4.2.2

Interpretazione della STFT come Trasformata di Fourier e come banco di ltri

Considerando n ssato, la (4.18) si pu vedere come la trasformata a tempo discreto di x intorno allistante n, su unestensione limitata dalla lunghezza della nestra di analisi. Applicando la formula di trasformata inversa alla (4.18) si pu ricostruire x n a partire dalla sua STFT: w n  m x n  1 2

Xn e j e jm d

da cui, se w 0 D 2 0

(4.20) (4.21)

x n

1 2w 0

) 

Xn e j e jm d

4.2. SHORT TIME FOURIER TRANSFORM (STFT)

4.5

Dal punto di vista della pulsazione, ssato il valore di , Xn e j si pu interpretare come luscita di un ltro con risposta w 7E al cui ingresso viene immesso x n demodulato dallesponenziale e  j . In altre parole la porzione di spettro intorno alla pulsazione w viene riportata intorno allorigine e quindi vista attraverso il ltro w n ,che ha in genere una risposta di tipo passabasso (gura 4.1).

G x(n)

Fw(n) I

Xn(exp(jwn))

Hexp(-jwn)

Figura 4.1: Interpretazione della STFT come banco di ltri

4.2.3

Inuenza della nestra di analisi - principio di indeterminazione

Gli effetti del troncamento indotto dalla nestra di analisi possono essere evidenziati notando che, per il teorema della convoluzione, la trasformata di Fourier di un prodotto la convoluzione delle trasformate. La STFT calcolata allistante n la convoluzione della trasformata Wn della nestra w n  m e della trasformata del segnale X : Xn  Wn P X (4.22)

in cui, detta W la trasformata di w n e applicando le propriet sulla$ traslazione e sullinversione $  j n dellasse $ $ dei $ tempi, $ si ha Wn W 6 e . Dato che w 7E reale W pari e quindi anche Wn W . Ogni sinusoide (o esponenziale complesso) componente x dovrebbe essere rappresentato, in assenza della nestra, da un impulso ideale; leffetto della nestra di sostituire ad ognuno di questi impulsi la sua trasformata centrata alla frequenza dellimpulso stesso (gura 4.2). La scelta della lunghezza della nestra w va effettuata in base alle esigenze di risoluzione tempo-frequenziale. Prendiamo come esempio la nestra rettangolare (i ragionamenti che seguono si applicano ugualmente a tutte le nestre reali e pari che si usano normalmente nellanalisi spettrale). La trasformata di Fourier della nestra rettangolare la funzione sinc 7E , la cui estensione in frequenza cresce al diminuire della estensione temporale della nestra. Supponiamo di analizzare un segnale formato da due sinusoidi a frequenza diversa; se vogliamo una buona risoluzione temporale, lintervallo di analisi deve essere il pi corto possibile, in modo che i parametri del segnale si possano ritenere approssimativamente stazionari. La DTFT del segnale data dalla convoluzione delle trasformate di x e della nestra. Dato che il segnale ha come trasformata una coppia di impulsi ideali e la nestra corrisponde a una fdt approssimativamente passabasso in frequenza, la trasformata globale consiste essenzialmente di due lobi centrati sulle frequenze dei seni. La larghezza di banda di questi lobi aumenta al diminuire della estensione temporale della nestra; se questultima troppo piccola i lobi sono cos sovrapposti che non pi possibile distinguere le due componenti. In altre parole, una maggiore risoluzione temporale (piccola estensione della nestra) si paga con una peggiore risoluzione frequenziale (lobi larghi che si sovrappongono). Questo esempio pu essere generalizzato nella denizione di un principio di indeterminazione secondo cui non possibile stimare con precisione arbitraria e simultaneamente i parametri temporali e frequenziali di un segnale.

4.6
1

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO


50 A 0.5 B

dB 0 2 tempo [s] 4 x 10 6
3

0.5

50

0.5

1 1.5 frequenza [Hz]

2 x 10
4

1 C 0.5

50 D

dB 0 2 tempo [s] 4 x 10 6
3

0.5

50

0.5

1 1.5 frequenza [Hz]

2 x 10
4

Figura 4.2: Effetto della nestra sulla trasformata di Fourier: a) segnale sinusoidale non troncato e b) modulo della sua trasformata; c) segnale dopo lapplicazione di una nestra e d) sua trasformata

4.2.4

Scelta del tipo di nestra da utilizzare

La nestra pi semplice che si pu pensare di utilizzare quella rettangolare; in questo caso la porzione di segnale da analizzare viene semplicemente estratta mediante troncamento. Ci si pu chiedere se non sia meglio in alcuni casi pesare in modo diverso linizio e la ne del frame di analisi. In effetti la nestra rettangolare discontinua ai bordi e questo, come noto, implica un decadimento delle code laterali della trasformata piuttosto lento. La conseguenza che linuenza della trasformata della nestra si sente anche a considerevole distanza sullo spettro. Se consideriamo invece una nestra che va a zero in modo dolce agli estremi, le code laterali rimangono basse, producendo uno spettro pi pulito. Naturalmente questo miglioramento non gratuito; il prezzo da pagare in termini di larghezza del lobo principale. In generale una nestra che permette una buona risoluzione frequenziale (lobo principale stretto) ha le code laterali alte, e viceversa. Un esempio di nestre con diverso compromesso fra larghezza del lobo principale e altezza delle code laterali mostrato in gura 4.3.

4.2.5

Frequenze di campionamento della STFT nel tempo e in frequenza

Se risulta ovvio che il segnale debba essere campionato con una frequenza che rispetti le condizioni del teorema del campionamento, meno banale la denizione della frequenza di campionamento della SFTF, cio dellintervallo che deve intercorrere fra una DTFT e la successiva (hop size) afnch non ci sia perdita di informazione, in modo cio che il segnale di ingresso possa essere ricostruito esattamente dalla sua STFT. Con riferimento allinterpretazione come banco di ltri (gura 4.1), possiamo osservare che la banda passante della STFT (per qualunque pulsazione considerata) pari a quella della trasformata della nestra di analisi, che deniremo B; sar quindi sufciente porre la frequenza di campionamento Fw della STFT a un valore pari o maggiore a due volte la banda della nestra:

4.2. SHORT TIME FOURIER TRANSFORM (STFT)

4.7

Figura 4.3: Confronto fra nestre di analisi con diverso compromesso larghezza del lobo principale/altezza delle code laterali. A)nestra rettangolare e B) modulo della trasformata in dB. C) nestra di Blackman e D) modulo della trasformata in dB. Fw Q 2B 1 . Si dimostra che la nestra con banda minima, e quindi che richiede la minima frequenza di campionamento, quella rettangolare. Finora abbiamo considerato la STFT come sequenza di spettri continui in frequenza; questa ipotesi non pu essere rispettata nella realt degli elaboratori in cui i calcoli devono essere effettuati su insiemi niti (seppure molto vasti) di elementi. Dovendo quindi campionare lasse frequenziale, sostituiamo alla DTFT la DFT. Il problema che rimane capire quale frequenza di campionamento delle frequenze debba essere adottata. Ancora una volta, applicando il teorema del campionamento, ma questa volta scambiando i ruoli dei domini temporale e frequenziale si pu affermare che necessario adottare almeno N Q L campioni dellasse frequenziale, se L la lunghezza temporale della nestra di analisi. In denitiva, se tutte le condizioni sul campionamento sono soddisfatte, la STFT pu essere espressa, in termini di DFT: Xn e j 
m



w n  m x m e

j k m

(4.23)

che con k

k 2 N diventa:

Xn k 
m



w n  m x m e

j2 km N

(4.24)

Esempio: nestra di Hamming Supponiamo di adottare una frequenza di campionamento del segnale pari a Fc come nestra di analisi la nestra di Hamming a 1024 punti (L=1024): w n 
1 Le

44100Hz, e usare

0 ( 54  0 ( 46cos 0

2n L

nR L 1 altrove

(4.25)

nestre che si usano normalmente per la STFT hanno estensione limitata nel tempo e quindi non limitata in frequenza. Ne consegue che qualunque sia la determinazione di B, lipotesi del teorema del campionamento solo approssimata.

4.8

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO

Si pu vedere che la banda B della nestra di Hamming rispetta approssimativamente la seguente relazione: Fc B S 2 (4.26) L E dovr quindi essere Fw T 2B S 4Fc % L 4 P 44100% 1024 S 173Hz La STFT dovr essere campionata nel tempo a circa 173 Hz cio ogni Fc % 173 44100% 173 254 campioni del segnale. Parrebbe a questo punto corretto supporre un uso della STFT per comprimere il segnale (Fw UVU Fc ). Daltra parte per le considerazioni sulla frequenza di campionamento dellasse frequenziale si ha che ogni DFT deve essere rappresentata da almeno L campioni. Ne consegue una frequenza di campionamento totale (quantit di campioni al secondo) SR Fw E L S 2BL Nel caso della nestra di Hamming SR 2BL 4Fc % L P L 4Fc ! In generale SR uguaglianza vale solo nel caso di nestra rettangolare. (4.27)

Fc , e il segno di

4.2.6

Esempi di rappresentazione della STFT

La serie delle DFT che costituiscono la STFT pu essere visualizzata in modo da fornire unimmagine complessiva dellevoluzione temporale dello spettro del segnale. Un importante esempio costituito dal sonogramma (o spettrogramma), nel quale le DFT vengono accostate luna allaltra in modo che lasse orizzontale rappresenti il tempo e lasse verticale le frequenze. Ad ogni punto del graco viene assegnata una sfumatura di colore legata allampiezza dello spettro. In gura 4 riportato un esempio di sonogramma di un brano cantato. Risultano evidenti le righe corrispondenti alle armoniche delle vocali e la localizzazione dei formanti. Si nota inoltre la distribuzione spettrale delle consonanti sorde s e z (con andamento di tipo passa alto) che risultano prive di struttura armonica.

Ques t a s ta n z a
f [Hz]

tempo

Figura 4.4: Sonogramma delle parole "...questa stanza..." (cantate).

4.2.7

Sintesi

Posto che la fase di analisi sia condotta con le condizioni di ricostruibilit del segnale, la sintesi del segnale a partire dalla sua STFT pu avvenire in due modi: lter bank summation (FBS) e overlap and add (OLA).

4.2. SHORT TIME FOURIER TRANSFORM (STFT)

4.9

1 0.8 0.6 0.4 20 0.2 15 0 0 10 20 30 5 50 60 70 80 0 tempo (frames) 10 25

40

bin index (frequency)

Figura 4.5: Visualizzazione spettrograca di tipo waterfall Filter bank summation (FBS) Nel primo caso si considera linterpretazione della STFT a banco di ltri; ricordando che alla pulsazione k Xn e jk  e 
j k n m j k m



denendo hk n wk n e 

wk m x n  m e 

j k m

(4.28)

la (4.28) pu essere espressa come:


j k n m

Xn e jk  e 



hk m x n  m

(4.29)

hk n rappresenta la risposta allimpulso di un ltro passabanda la cui fdt risulta quella della nestra centrata sulla pulsazione k : (4.30) Hk e j  Wk e j  k ! Essa infatti la risposta della nestra traslata in frequenza (modulazione indotta dellesponenziale). Deniamo adesso yk n 
m

luscita del ltro passabanda k-esimo; yk n pu essere ricavata dalla STFT tramite la (4.29), moltiplicando primo e secondo membro per e jk n (cio modulando). Lidea di ricavare x sommando tutti i contributi yk . Posto uguale a N Q L il numero di ltri deniamo yk n 
m



x n 

m hk m

(4.31)



yk n

(4.32)

la f.d.t. che lega y n a x n risulta essere la somma delle f.d.t. di tutti i ltri: e j C H
N 1 k 0

Hk e j C W e j  W
N 1 k 0
k

(4.33)

4.10

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO

si pu dimostrare che nellipotesi di corretto campionamento dellasse frequenziale Nw 0 C costante e quindi x n y n (4.34) (4.35)

da notare che la formula di sintesi non dipende dalla forma della particolare nestra impiegata. Riassumendo, il metodo di sintesi con banco di ltri si pu esprimere tramite le seguenti relazioni: y n @ x n @ Overlap and add Il punto di vista duale sulla sintesi si ha adottando linterpretazione della STFT come successione di normali DFT. In questo caso la formula di inversione ci dice che i campioni del segnale allinterno della nestra di analisi possono essere recuperati tramite, appunto, una trasformata inversa, che produce (4.38) yn m  w n  m x m e quindi dividendo per la nestra w n  m . da ogni singola DFT possibile estrarre L valori di x, esauriti i quali n pu essere incrementato di L e il procedimento viene iterato. In questo modo si avrebbe un hop size pari a L; dalle considerazioni sulla giusta misura dellhop size chiaro che questo in modo la STFT sottocampionata e quindi piuttosto sensibile a problemi di aliasing. Anche se in linea di principio possibile estrarre i valori di x da una singola DFT, una piccola variazione dello spettro sarebbe in questo caso una potenziale fonte di distorsione della ricostruzione. Dato che in generale la hop size, che da ora in poi chiameremo R, generalmente inferiore alla lunghezza della nestra, i segmenti analizzati saranno sovrapposti luno allaltro. Sia Yr e jk la STFT di x calcolata ogni R campioni: Yr e jk C XrR e jk . Lequazione di sintesi risulta essere: y n 1 3 N Yr e j e j n 4Y x n w rR  n r  r  k 0
k k

% 3 Nw 0 X4

N 1 k 0

Xn e j e j n
k k

y n

(4.36) (4.37)

% 3 Nw 0 X4

N 1

x n

w rR  n


(4.39)

Se R sufcientemente piccolo da evitare time aliasing, la sommatoria nellequazione precedente circa costante al variare di n, e in particolare circa uguale a W e j0 % R 2 . Vale quindi la relazione: y n x n (4.40) W e j0 % R In generale non necessario sommare inniti termini nella sommatoria dellultimo membro della (34). Infatti, dato che lestensione della nestra L, baster sommare L % R campioni della nestra. Per la nestra di Hamming, ad esempio, servono 4 termini.
2 Per

i i i

w a rR b n c una versione sottocampionata di w a n c di un fattore R. Se R abbastanza piccolo da rispettare la condizione di campionamento della STFT non c aliasing in frequenza. La somma dei campioni nel tempo non altro che la componente continua W a 0 c moltiplicata per la lunghezza della nestra R, cio R r ` w a rR b n cedf W a 0 c

dimostrare che r`

a rR b n e c df

W a 0 chg R, basta osservare che:

4.2. SHORT TIME FOURIER TRANSFORM (STFT)

4.11

4.2.8

Osservazioni sulluso pratico della Short Time Fourier Transform

Adattamento della lunghezza della FFT: zero padding Uno dei problemi che si incontra spesso usando la STFT quello di svincolare la lunghezza della nestra di analisi dal numero di punti sul quale viene calcolata la FFT. Lalgoritmo di FFT realizza infatti una mappa di N numeri in N numeri e questo, volendo mantenere costante la granularit in frequenza (2 E f req ( di campionamento % N ), ci obbliga a usare sempre la stessa lunghezza (N ) per la nestra temporale. In certi casi pu tuttavia essere comodo poter regolare la quantit di segnale da trasformare in base ad altre considerazioni. Ad esempio, quando si ha a che fare con segnali (quasi) armonici, un buon compromesso fra lipotesi stazionariet del segnale e la risoluzione in frequenza quello di usare per lanalisi tre o quattro (pseudo) periodi; la lunghezza della nestra risulta quindi funzione di una propriet tempovariante del segnale, il periodo. Per riuscire a mantenere questo compromesso e non essere costretti a cambiare il numero di punti della FFT si pu applicare il procedimento di zero padding. Dapprima si moltiplica il segnale per la nestra prescelta di lunghezza (tempovariante) M , quindi si aggiungono un ugual numero di zeri a sinistra e a destra in modo da formare un frame di lunghezza N , pronto per essere trasformato mediante FFT. Non difcile vedere che questo procedimento ha come unico effetto quello di interpolare da M a N punti lo spettro del segnale. Infatti, se indichiamo con xM n la porzione di segnale selezionata dalla nestra di lunghezza M e con xN n la sua versione estesa dallo zero padding: xM n  w n x n n 9 M  3  1 0 9 N rs % xN n qp w n x n u9 M  1 % 0 M 1 % 1 2R 2R 2R

 M  1 % 24 % 2' n Rt9 M 1 % 2 n Rt9 M  1 % 2 n Rv N  1 % 2

(4.41)

la trasformata di xM n , XM k uguale a quella di xN n , XN k : XN k @


m N 1 2

 

 B !A M  1 !BA 2

 !BA

xN m e  xM m e 

j2 km N

(4.42)

N 1 2 j2 km N

M 1 2

 !BA

9 N 
2

N
2

(4.43)

Lasse delle frequenza rimane comunque campionato su N punti. importante notare che il procedimento di zero padding produce un interpolazione dellasse delle frequenze ma non migliora in alcun modo la capacit di discriminare sinusoidi con frequenze vicine, che dipende esclusivamente dalla larghezza del lobo principale e quindi dal tipo e dalla lunghezza M della nestra di analisi w n . Un esempio di trasformata senza e con zero padding presentato in gura 4.6. Corretta valutazione della fase: nestre a fase nulla In molte applicazioni della STFT interessa conoscere solo la distribuzione spettrale dellenergia di un suono, e quindi principalmente lo spettro di ampiezza. Esistono per situazioni, come ad esempio nel caso del phase vocoder, in cui necessario stimare con precisione anche la fase delle componenti spettrali. Vedremo in questo paragrafo come questo problema non sia banale quando la stima debba essere ottenuta tramite una STFT i cui frames siano ricavati mediante FFT su un numero pari di punti (che sfortunatamente il caso pi comune). Un generico frame di STFT una DFT su N punti. La questione della stima della fase pu quindi essere ricondotta, senza perdita di generalit,

4.12
1

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO


40 A 0.5 0 0 dB 20 40 0.5 60 1 0 100 200 300 80 5 10 15 20 25 bin index (frequency) 30 20 B

1 C 0.5

40 20 0 D

dB 0 2000 4000 6000 8000 10000

20 40

0.5 60 1 80 0 200 400 600 800 bin index (frequency) 1000

Figura 4.6: Illustrazione del procedimento di zero padding. A) sinusoide moltiplicata per la nestra di Blackman a 32 punti. B) FFT del segnale in A). C) frame di 512 punti ottenuto aggiungendo zeri a sinistra e a destra del segnale in A). D) trasformata del segnale in C) alla valutazione della fase di una porzione del segnale x m intorno allorigine, visto attraverso la nestra di analisi w m . La DFT di x risulta essere X k w X k w
m

 m  N A 2


N 2

w m x m e
1

j2 km N

N pari

(4.44)

N 1 2

 !BA

N 1 2

 !BA

w m x m e

j2 km N

N dispari

(4.45)

Supponiamo per semplicit che x m sia un esponenziale complesso a frequenza (normalizzata) k0 e fase : x n e j2
k0 n N

(4.46)

sostituendo la (4.46) nella (4.44) e nella (4.45) si ottiene: X k x X k x


m

 m  N A 2


N 2

w m e j y 2
1

k0 m N

  e   e

j2 km N

N pari

(4.47)

N 1 2

 !BA

N 1 2

 !BA

w m e j y 2

k0 m N

j2 km N

N dispari

(4.48)

A questo punto bene evidenziare che w m pu avere simmetria pari solo se la sua lunghezza dispari. Infatti, la relazione w n D w 6 n impone che esistano un ugual numero di campioni con indice positivo e negativo; aggiungendo quindi il campione nellorigine si ottiene una lunghezza della nestra dispari. Nel caso la lunghezza della nestra sia pari comunque valida la relazione

4.2. SHORT TIME FOURIER TRANSFORM (STFT)


w n  w 6 n 1 . Sfruttando la simmetria di w le equazioni diventano X k x X k x e j
N 2

4.13

m 1

w m 3 e j2


k0 k m N

 e 3

j2

m 1 k0 kN 4
k0 k m N

N pari
j2

(4.49) N dispari (4.50)

e j w 0

N 1 2 m 1

 A

 !BA

w m e j2

 e

k0 Nk m 4'

e riorganizzando gli esponenziali X k x X k x e j e j2 e j


k0 k m N

N 2

N 1 2 m 0

 !BA

m 1

w m cos 3 2
 3 k0 
N

k0 
N

m

1 % 2 X4

N pari

(4.51) (4.52)

w m cos 2

m X4

N dispari

Le sommatorie contengono solo addendi reali e producono quindi numeri reali. La fase di X k quindi quella degli esponenziali complessi:

& &

X k w X k w

k0 

N N dispari

N pari

(4.53) (4.54) (4.55)

Entrambe le stime producono il valore corretto di fase per k0 k. Bisogna per notare che nel caso la nestra abbia lunghezza pari presente anche un termine di fase lineare. Questo termine introduce un errore nella stima della fase quando k0 non intero (cio quasi sempre), nel qual caso la valutazione della DFT pu essere fatta solo sullindice appena inferiore o appena superiore a k0 . In gura 4.7 sono riportate le risposte di fase nei due casi di N pari ed N dispari. Il problema che si pone quindi come usare gli algoritmi di Fast Fourier Transform, che funzionano normalmente con N pari, con nestre di lunghezza dispari. Lidea di applicare una nestra di lunghezza dispari e quindi eliminare il campione meno signicativo prima di effettuare il calcolo della FFT. Usando una delle nestre classiche, che vanno a zero (o almeno decrescono) verso i bordi, basta eliminare il primo o lultimo campione. Bisogna inoltre notare che la DFT denita su intervalli simmetrici intorno allorigine ( 9 N  1 % 2 ' N  1 % 24 per N dispari o  N % 2 1  N % 24 per N pari), mentre gli 3 3 algoritmi di FFT operano sullintervallo 0  N  14 . Occorre quindi applicare una rotazione di N % 2 3 punti del frame di analisi (di fatto uno scambio delle due met del frame) in modo da riportare il campione centrale della nestra w m sullorigine (date le ipotesi di stazionariet e continuit al di fuori del frame, questa operazione equivalente a uno shift del segnale indietro di mezza nestra). In questo modo i valori di fase calcolati saranno riferiti al centro del frame. Un esempio di analisi con nestra a fase nulla riportato nelle gure 4.8 e 4.8.

4.14

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO

A
60 40 20 dB 0 20 20 dB 0 20 20 60 40 20

25 bin

30

35

25 bin

30

35

2.1 2.09 2.08 2.07 fase [rad] 2.06 2.05 2.04 20 25 bin 30 35

2.1 2.09 2.08 2.07 fase [rad] 2.06 2.05 2.04 20 25 bin 30 35

Figura 4.7: Risposte di fase calcolate sul segnale x m 8 1000e j y 2 N m 2 0701 nellintorno del 26 bin. A) N=2048, B)N=2049. Si noti landamento lineare sovrapposto nel caso di N pari.
26 3256

5000

a
0 5000 5000

0.005

0.01 tempo [s]

0.015

0.02

0.025

b
0 5000 5000

0.005

0.01 tempo [s]

0.015

0.02

0.025

c
0 5000

0.005

0.01 tempo [s]

0.015

0.02

0.025

Figura 4.8: Applicazione di una nestra a fase nulla su un frame di segnale. A)Frame originale (1025 punti). B)frame dopo lapplicazione di una nestra di Blackman a 1025 punti. C) eliminazione del 1025 campione e rotazione di 512 campioni.

4.2. SHORT TIME FOURIER TRANSFORM (STFT)

4.15

60

40

a
dB

20

20

1000

2000

3000 4000 frequenza [Hz]

5000

6000

7000

1000

2000

3000 4000 frequenza [Hz]

5000

6000

7000

Figura 4.9: Diagrammi di modulo (a) e fase (b) della FFT calcolata sul segnale della gura precedente. Si noti che mano a mano che il modulo decresce la riposta di fase risulta sempre pi disturbata dalle interferenze laterali.

4.16

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO

4.3

Il Modello Sinusoidale

E noto (vedi capitolo successivo) che la sintesi additiva uno dei metodi pi potenti per la generazione del suono. La possibilit di agire in modo indipendente sui parametri delle singole sinusoidi (parziali) componenti permette di controllare il risultato sonoro in modo semplice e accurato. Lo svantaggio storico di questo tipo di sintesi risiede nella sua complessit computazionale. La rapida evoluzione dellhardware ha per portato ai personal computer odierni, che permettono di sintetizzare, via software, anche molte centinaia di sinusoidi in tempo reale. Il rinnovato linteresse per la sintesi additiva ha prodotto una serie di importanti risultati, fra cui lestensione del metodo anche allelaborazione del suono. Lidea di fondo che se si possiede la descrizione del suono in termini di sinusoidi tempovarianti possibile effettuare una grande quantit di trasformazioni, semplicemente agendo sui parametri di ampiezza frequenza e fase della rappresentazione sinusoidale. Nellarticolo che segue viene presentato uno dei pi recenti modelli per rappresentazione del suono mediante sinusoidi.

4.42

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO

4.4

Fondamenti Matematici per lElaborazione del Suono

Questi appunti richiamano brevemente alcune nozioni sui segnali numerici, con lo scopo di introdurre gli elementi necessari alla presentazione dei fondamenti dellelaborazione numerica dei segnali.

4.4.1

Denizioni

Ricordiamo che un segnale pu essere denito come una funzione o grandezza, solitamente variabile nel tempo, che comunica informazione. Una classicazione dei segnali pu essere la seguente: 1. segnali a tempo continuo: x t ' 2. segnali a tempo discreto: x n ' 3. segnali numerici: x n ' n t n


e

e e x n

x t 8 x n 

I segnali a tempo discreto possono essere studiati come treni di impulsi ideali a tempo continuo; tuttavia pi pratico introdurre una rappresentazione ad hoc. Denamo come sequenza un insieme di valori ordinato secondo un indice (che rappresenta lasse temporale): x n Esempi notevoli di sequenze:

U n

(4.56)

Sequenza sinusoidale: x n  A cos 0 n Sequenza impulso unitario: n 10 Sequenza gradino:  1% T 0 n n n 0 n 2 0

n  0

1% T 0

Q U

0 0

Si dimostra che  1 n n k  T k e viceversa n   1 n   1 n  1 . Per la trattazione dei segnali numerici si pu sottintendere la dipendenza dal quanto temporale di campionamento T, ed assumere una rappresentazione normalizzata (T=1): x nT C5 x n (4.57)

4.4.2

Propriet dei segnali numerici

Periodicit. Una sequenza x n detta periodica se N : x n x n N n . Traslazione. La traslazione in avanti di N campioni di un segnale x n si esprime mediante la seguente relazione: x n 5 x n  N (4.58)

Ogni sequenza pu essere vista come somma di impulsi unitari scalati e traslati: x n

x n n  k


(4.59)

4.4. FONDAMENTI MATEMATICI PER LELABORAZIONE DEL SUONO

4.43

4.4.3

Sistemi.

Deniamo come sistema una qualunque trasformazione univoca che mappa una sequenza x(n) in unaltra y(n): (4.60) y n T x n X4 Linearit. Una sistema si dice lineare se, per ogni coppia di segnali x1 7E ' x2 7E e a1  a2 trasformazione T ad esso associata verica la seguente relazione: T a1 x1 n a2 x2 n X4Y a1 T x1 n X4e a2 T x2 n WX4Y a1 y1 n a2 y2 n

d

, la

(4.61)

Tempo invarianza. Un sistema si dice tempo invariante se la traslazione dellingresso induce la medesima traslazione sulluscita: y n  k C T x n  k X4f k

(4.62)

Risposta allimpulso. Per i sistemi lineari possibile denire la risposta allimpulso: hk n  T n  k X4X

(4.63)

La relazione ingresso/uscita del sistema y n T x n X4

(4.64)

pu essere riscritta, applicando lidentit (4.59), come y n T

3 

x n n  k X4

(4.65)

che, per la linearit del sistema si pu anche esprimere come y n 

x n T n  k X4g


x n hk n


(4.66)

Se il sistema anche tempo invariante, denita h n  T n X4 , si ha:

y n Convoluzione. La scrittura

4g x n h n  k x n T 3 n  k X 

hk n  h n  k '

e quindi

(4.67) (4.68)

y P x n

x n y n  k


(4.69)

detta convoluzione dei segnali x n e y n . Si pu vericare che la convoluzione unoperazione lineare e gode della propriet commutativa. Stabilit BIBO. Un sistema si dice stabile nel senso Bounded Input Bounded Output (BIBO) se per ogni sequenza di ingresso limitata luscita risulta limitata. Si dimostra che la stabilit BIBO equivale ad avere una risposta allimpulso assolutamente sommabile: Stabilit BIBO h
k



h k

$ U

(4.70)

4.44

CAPITOLO 4. ANALISI ED ELABORAZIONE DEL SUONO

ad esempio il sistema caratterizzato dalla risposta a scalino h n   1 n (integratore) non stabile. Causalit. Dicamo che un sistema causale quando la sua uscita dipende solo da valori passati o presenti dellingresso. Si dice anche che il sistema non anticipatorio. La denizione di causalit pu essere espressa in termini di risposta impulsiva affermando che un sistema causale quando la sua risposta impulsiva nulla per tempi negativi: h n  0 

(4.71)

4.4.4

Sistemi lineari tempo invarianti (LIT).

Tra i sistemi lineari e tempo invarianti, la classe di maggior interesse per lelaborazione numerica dei segnali costituita dai sistemi razionali, caratterizzati dalla seguente equazione alle differenze a coefcienti costanti, che rappresenta la relazione ingresso uscita:

k 0

ak y n  k 

N

r 0

br x n  r

br a0 x n  r
M

(4.72)

che pu anche essere riscritta come: y n i ak a0 y n  k k 1

r 0

(4.73)

Luscita del sistema allistante n dipende dagli N valori precedenti delluscita, da M valori precedenti dellingresso e dal valore attuale dellingresso. I sistemi razionali possono essere di tipo Innite Impulse Response (IIR) o di tipo Finite Impulse Response (FIR), a seconda che sia presente o meno la dipendenza da valori precedenti delluscita: FIR: y n IIR: y n i
N

r 0

br a0 x n  r

(4.74) (4.75)

ak a0 y n  k k 1

r 0

br a0 x n  r

Risposta in frequenza. La risposta in frequenza di un sistema denita come trasformata di Fourier della risposta allimpulso: (4.76) H j h n X4k  h k e  jk

Propriet della convoluzione. La trasformata di Fourier della convoluzione di due sequenze il prodotto delle trasformate delle singole sequenze: w n  x P y n m5 l Dimostrazione: w n C W  X Y (4.77)

x n  i y i '
i

per la linearit: ponendo n  i k :

W  i y i k x k e  j k W  i y i e  ji k x k e  W  X Y

W  n i x n  i y i X4 e  3 W  i y i n x n  i e 

j n j n

 i!

j k

4.4. FONDAMENTI MATEMATICI PER LELABORAZIONE DEL SUONO


ne viene che:

4.45

y n h P x n m5 l

Y  H Y

(4.78)

4.4.5

La trasformata n

Deniamo trasformata di una sequenza x(n) la quantit X z

x k z
k

(4.79)

Questa serie non in generale convergente per ogni sequenza x(n), n per ogni valore di z. Si pu dimostrare che data una sequenza, la regione di convergenza una corona circolare nel piano complesso. Infatti, se esprimiamo z in forma polare: z re j la (4.79) diventa X z C (4.80)
j k

x k r  k e
k

(4.81)

che la trasformata di Fourier del segnale x k r  k . La convergenza assoluta della serie si ha quindi se

x k r

(4.82)

Quindi, se la trasformata zeta converge in un punto z del piano complesso allora converge su tutta la $ $ circonferenza di raggio pari a z . Notiamo ora che una qualunque sequenza pu essere scomposta in una parte causale xc n e una parte anticausale xa n : x n xc n xa n xc n 10 xa n 10 x n 0 0 x n nT n (4.83) 0 0

U U

(4.84)

nT n

0 0

(4.85)

Non difcile a questo punto $ $ vericare $ $ che se la trasformata di una sequenza causale esiste per z z1 allora esiste anche per z T z1 . Analogamente, se la trasformata di una sequenza anticausale $ $ $ $ esiste per z z2 allora esiste anche per z U z2 . In generale quindi, la regione di convergenza della trasformata una corona circolare del tipo rc

$ $
z

ra

(4.86)

in cui rc e ra sono rispettivamente il raggio minimo della regione di esistenza della parte causale e il raggio massimo della regione di esistenza della parte anticausale. Propriet della trasformata 1. linearit. La trasfomata lineare (la verica immediata) 2. teorema dello shift: x n N C5 zN X z

4.4. FONDAMENTI MATEMATICI PER LELABORAZIONE DEL SUONO


3. trasformata della convoluzione: x y n X47 z p x4qE7 y47 z 3 P 3 3 Funzione di trasferimento Sia data la relazione ingresso/uscita Y z Y

4.87

H z X z . H z Yr

detta funzione di trasferimento del sistema. Nel caso di sistema razionale descritto dallequazione (4.73), trasformando ambo i membri si ha:

h n X47 z

ts ak y n  k 0
N k 0

k Xuvwts
M

r 0

u br x n  r X 

4x ak 3 y n  k X 
k 0

ak z 
N

Y z @

r 0 M

4 br 3 x n  r X 

Y z X z

r 0 r M r 0 br z k N k 0 ak z

br z 
  

X z

H z

Osservazione Si vede subito che H e j yj h n X47 . Questo conseguenza del fatto che per z 3 e j la trasformata coincide con la trasformata di Fourier. Dato un sistema descritto da unequazione alle differenze quindi immediato calcolare la trasformata zeta e quindi la risposta in frequenza. Si osserva che x n X4 una serie di Laurant. Pertanto, la formula di inversione data da:

x n

1 2 j

X z zn  1 dz

(4.87)

dove C interna alla regione di convergenza. Se il sistema razionale, H z pu esprimersi come: H z C

 1 A M r  1 1  cr z N k  1 1  dk z  1

(4.88)

dove cr sono gli zeri e dr sono i poli di H z . Si dimostra che un sistema caratterizzato da una funzione di trasferimento razionale del tipo (4.88) stabile se e solo se tutti i poli sono interni alla circonferenza di raggio unitario:

$ $
dk

1

k 1 2

({({( N

(4.89)

Per la dimostrazione basta applicare la denizione di stabilit BIBO alla scomposizione in frazioni parziali della (4.88).