dft - dispense

Upload: lorenzo-giusti

Post on 19-Jul-2015

96 views

Category:

Documents


1 download

TRANSCRIPT

Capitolo 5Trasformata Discretadi FourierLa trasformata di Fourier permette di trattare i segnali a tempo continuo dal punto di vistadellelorocomponentiarmoniche(analisi infrequenza). InmodoanalogolatrasformatadiFourieratempodiscretopermettelanalisi infrequenzadeisegnaliatempodiscreto.QuestoargomentovienetrattatoinSezione1eripreso, inconnessioneallaTrasformatazeta, in Capitolo 7.Isegnaliatempodiscretopossonoessereapprossimati consegnali digitali. LanalisiinfrequenzaditalisegnalipuessereottenutamediantelaTrasformataDiscretadiFou-rier(DFT), motivatainSezione2etrattataindettaglioinSezione3. LaDFTdiventatapopolare negli anni 50, proprio in relazione alla crescente importanza dei sistemi di elabo-razione digitali. Un salto di qualit nellutilizzodella DFT stata la scoperta di una classedi algoritmi veloci, genericamente chiamata FFT (Fast Fourier Transform), che permette dicalcolare la DFT in tempo quasi lineare nella dimensione dei dati.IlcalcolodirettodellaDFTpiuttostocostoso,richiedendoO(N2)operazionidipro-dotto, doveNladimensionedellospaziosucuisiapplicalatrasformata. Utilizzandoessenzialmentetecnichedivideetimpera, si ottengonoalgoritmi FFTchecalcolanolaDFT riducendo a O(N log N)il numero di costose operazioni di moltiplicazione,come di-scusso in Sezione 4. La drastica riduzione del tempo di calcolo porta a signicativi vantaggiampliando il campo delle possibili applicazioni.Nellelaborazione dei segnali la FFT ha tre principali settori di utilizzo:1. analisi spettrale per segnali digitali, con applicazioni alla sintesi di ltri digitali;143144 Trasformata Discretadi Fourier2. calcolo veloce della convoluzione e della correlazione;3. compressione di dati per la memorizzazione e la trasmissione efciente degli stessi.Questi argomenti sono trattati in Sezione 5.5.Gli algoritmi perlaFFTsi sonoimposti cometecnicadi baseperlelaborazionedeisegnalidopo illavorodiCooleyeTukey [CooTu65]. Cooley,LewiseWelch[CooLeWe68]attribuiscono questo metodo a Runge (1903);altri autori ne fanno risalire le idee principaliaddirittura a Gauss.LaFFTtrattatainquasi tuttii testisuelaborazionedigitaledeisegnali (si vedaadesempio [IfeJer02]) e presenta aspetti di interesse nellarea degli algoritmi (si veda ad esem-pio[AhHoUl74]); untestounicamentededicatoaquestoargomento[Bri88]. Tutti gliambientis/wperiltrattamentodisegnalicontengonoprocedureperlaFFTegliattualielaboratoridigitalicalcolanolaDFTavelocittaledapermettere lelaborazioneintemporeale di molti segnali, includendo quelli vocali.5.1 Segnali Periodici a Tempo DiscretoPer comprendere lanatura dei segnali periodici a tempo discreto, consideriamo ilsegnalesinusoidale (o fasore)x(n) =Acos(n + ), < n < ,dovenil unavariabilediscretachedenotalennesimocampione, Alampiezzadellasinusoide, la frequenza in radianti per campione e la fase in radianti.Per denotare la frequenza, in luogo alla variabile, si usa spesso la variabile, legataalla precedente dalla relazione = 2,edhaunadimensionedi cicli percampione. Conquestaposizioneil segnalesinusoidalediventa:x(n) =Acos(2n + ), < n < . (5.1)Notiamoanzituttoledifferentidimensionisicheperlapulsazioneelafrequenzari-spettoal casoatempocontinuo, derivanti dal fattocheil tempocontinuotsimisurainsecondi, mentre il tempo discreto n va considerato adimensionale.LaFigura5.1mostraunasinusoideconfrequenza=/6radianti percampione(corrispondenti a = 1/12 cicli per campione) e fase=/3 radianti.Incontrastoconil casoatempocontinuo, cherisultaperiodicoperogni R, ilsegnalesinusoidaleatempodiscretoperiodicosoloselasuafrequenzaunnumerorazionale. Infatti, seil fasoreperiodicodi periodoNedhaunafrequenza0, devevalere:cos(20(n + N) + ) = cos(20n + ),che risulta vera se esiste un intero k tale che:20N= 2k, o equiv. 0=kN.Naturalmenteil periodofondamentaledatodal pipiccolointeroN0cherendeveralespressioneprecedenteeincui kedN0risultanocoprimi. Inoltre, ilvaloreassoluto [k[5.1. Segnali Periodici a Tempo Discreto 145011nx(n)Figura 5.1Segnale sinusoidale x(n) = Acos(/6n +/3) a tempodiscreto. Lafrequenza, misurata in cicli per campione, = 1/12.del numeratore rappresenta il numero di giri che effettua il fasore prima di riportarsi nellaposizioneiniziale; ilsegnodiklegatoalversodirotazionedelfasore(orariosek 0).Unaltraproprietfondamentaledi questi segnali laperiodicitinfrequenza: duesi-nusoidi a tempodiscretole cui frequenze sonoseparate da unmultiplo di 2sonoidentiche.Questa asserzione pu essere provata semplicemente osservando checos((0 + 2)n + ) = cos(0n + 2n + ) = cos(0n + ).Come conseguenza, possiamo restringere il range di frequenze allintervallo [, ] se mi-surate in radianti per campione o allinsieme [1/2, 1/2] se misurate in cicli per campione,essendo isegnaliconfrequenze aldifuori di questo rangedegli aliasdi quellichehannole frequenze ivi contenute.In altri termini, per segnali a tempo discreto avremo sempre: , oppure 12 12.Si dovrebbe altres notare che le frequenze massime si hanno in corrispondenza di = (o equivalentemente = 1), per i cui valori il segnale sinusoidale produce una sequenzaalternata di 1 e 1.Dorainavanti considereremounsegnaleatempodiscretox(n)comeil risultatodelcampionamento regolare di un segnale a tempo continuof (t).x(n) =f (n), < n < .Questo fatto ci permette di stabilire una relazione tra la variabiletempo continuo t e quel-latempodiscretonchesi ripercuoteinunarelazionealtrettantostrettatralerispetti-vefrequenzee. Infatti, poichcampionareil segnalesinusoidaleatempocontinuof (t)=Acos(2t +)conperiodoofrequenzas=1/signicaottenere ilsegnaleatempo discretox(n) =f (n) =Acos(2n + ) =Acos(2ns+ ). (5.2)146 Trasformata Discretadi FourierConfrontando ora la (5.1) con la (5.2) si deduce che e sono linearmente legate da =s, o equiv. =,che giustica il nome di frequenza normalizzata che spesso si attribuisce alla variabile.Per quanto visto nora relativamente alle frequenze, le principali differenze tra segnalia tempo continuo e a tenpo discreto si possono riassumere in: < < , e < < per il tempo continuo; , e 12 12.per il tempo discreto.Questi risultati ci permettono di stabilire con esattezza la banda di frequenze risultantedal campionamento periodico con frequenzasdi un segnalef (t):12= s2 s2=12, o equiv. = s s= .Suggeriscono anche che il massimo valore delle frequenze presenti nel segnale campionatox(n) max=/omax=1/2. Dal teoremadel campionamentosappiamocheil campionamentoperiodicointroduceunambiguitchesi eliminaapattodi rispettare(quando possibile) il criteriodi Nyquist, altrimenti pi segnali analogici possono dare luogoallo stesso segnale a tempo discreto x(n), perdendo di fatto lunivocit nella ricostruzioine.5.2 Trasformata di Fourier a Tempo Discreto (DTFT)LatrasformataelantitrasformatadiFourierintrodottenelCapitolo2operanosusegnalicontinui, sia nel dominio dei tempi che delle frequenze, e sono denite da:F() =_+f (t)eitdt, f (t) =12_+F()eitd.Fissato un intervallo di ampiezza, per ogni segnalef (t)consideriamo il segnalefs(t)ottenuto campionandof (t)ai tempi n( T.t[F()[ f (t)0T =NFigura 5.6Localizzazione in tempo e frequenza di un segnale.Perlipotesi 1, il segnale f (t) essenzialmenteindividuatodal suocampionamentox(n)=f (n)con periodo. Posto oraN=T/,per lipotesi 2 possiamo concludere chef (t) essenzialmente individuato dal vettore [x(0), . . . , x(N 1)].Sotto le ipotesi date, vale che:F() Nn=0x(n)ein(5.9)5.5. Applicazioni della Trasformata Discreta di Fourier 159Infatti:F() =_+f (t)eitdtf (t)_N0f (t)eitdt (per ipotesi 1)N1n=0f (n)ein(approssimando lintegrale con la somma).La DFT del vettore [x(0), . . . , x(N 1)] il vettore [X(0), . . . , X(N 1)] dove:X(k) =N1n=0x(n)ei2Nkn(5.10)Dalla (5.9) e dalla (5.10)segue allora:F_2Nk_ X(k) (5.11)La(5.11) permettedi approssimarela trasformatadi Fourier continuamediante ilcalcolo della DFT.Altre applicazionidellaDFTsono legateallasimulazionedi sistemi LTI medianteunatecnicadi calcolovelocedellaconvoluzionebasatasullaFFT, eallusodellatrasformatacoseno, checonsisteessenzialmentenellaparterealedellaDFT, perlacompressionedisegnali.Convoluzione e CorrelazioneSia S un sistema LTI per segnali a tempo discreto.Sappiamo che S individuato dalla suarisposta h(n) allimpulso, ed in particolare che la risposta y(n) al segnalex(n) data dallaconvoluzione h x:y(n) =+k=h(k)x(n k).Laconvoluzionedunquecentralenellostudiodei sistemi LTI; traleoperazioni adessariferitericordiamoadesempiolaidenticazionedisistema(datiunsegnale-testxela risposta y, determinare la risposta allimpulsoh),di deconvoluzione (data luscita y e larisposta h allimpulso, determinare lingresso x), la deconvoluzione cieca (stimare lingressox conoscendo solo luscita y!).Consideriamo ora segnali a tempo discretox(n)in un arco temporale nito, per esem-pionulli primadi 0edopoN 1; essi possonoquindi esseredescritti daunvettore[x(0), . . . , x(N 1)]. Laconvoluzionetraxehdatadal vettoreya2Ncomponentidove:y(n) =N1k=0h(k)x(n k) (0 n 2N 1).Unaltraoperazionetra segnali digrande interesse lacorrelazionetemporale,cheverrdiscussa in Capitolo 9. Limitatamente a segnalix(n) e y(n) nulli prima di 0 e dopoN 1,la loro cross-correlazione temporaleRxy(j) :Rxy(j) =N1k=0x(k)y(k + j) (N + 1 j N 1).160 Trasformata Discretadi FourierSiaoraz(n)=y(N 1 n), ciozilvettoreottenutoleggendoyinordineinverso. Siverica facilmente:Rxy(N 1 j) =N1k=0x(k)z(j k) (0 j 2N 1).Essendolinversodellacorrelazionedi duevettori laconvoluzionedi unvettoreperlinverso dellaltro, il calcolo della correlazione riducibile a quello della convoluzione.Studiamo ora il problema di determinare algoritmi efcienti per il calcolo della convolu-zione. Si tratta di progettare algoritmi che, avendo in ingresso due vettori [x(0), . . . , x(N 1)] e [y(0), . . . , y(N1)] diano in uscita il vettore 2N-dimensionale [z(0), . . . , z(N1)] con:z(n) =N1k=0x(k)y(n k) (0 n 2N 1).Le prestazioni degli algoritmi saranno misurate dal numero di moltiplicazionirichieste.Lalgoritmo che implementa direttamente la formula, richiede per il calcolo di z(n) n +1prodotti se0 n N 1,oppure 2N n + 1 prodotti sen>N 1. Ilnumero totalediprodotti alloraN2+ N.Osserviamoorachezlaconvoluzioneciclicadei 2vettori 2N-dimensionali xe yottenuti aggiungendoNzeri ai 2 vettoriN-dimensionalix e y, come segue: x = [x(0), . . . , x(N 1), 0, . . . , 0], y = [y(0), . . . , y(N 1), 0, . . . , 0],quindiz = x y.Indicandocon Fde F1drispettivamentelatrasformataelantitrasformatadiscreta diFourier, a causa della propriet della convoluzione ciclica,si ha:z = F1dFdz = F1dFd x y = F1dFd xFd y .LalgoritmoprecedentecalcolalaconvoluzioneapplicandotrevoltelalgoritmoFFTavettorididimensione2Nedeseguendo2Nulteriorimoltiplicazioni complesse, peruntotale di 3N log2 2N +2Nmoltiplicazioni complesse.Poich una moltiplicazione complessa richiede a sua volta 4 moltiplicazioni, concludia-mo che lalgoritmocalcolalaconvoluzionedi 2 vettoriN-dimensionalicon 12N log2 2N +8Nmoltiplicazioni,contro leN(N + 1) moltiplicazioni richieste dal metodo diretto.Trasformata Coseno e Compressione DatiLacompressionedei dati unaproblematicadi grandeinteresseconapplicazione, adesempio, nellatrasmissionedisegnaliaudioevideooperlamemorizzazionedisegnalibiomedici. I dati compressi presentano in generale due vantaggi:1. possono essere trasmessi a velocit pi elevata;2. applicandoadessi algoritmiperilriconoscimentodicaratteristiche,sihannotempidi risposta pi contenuti.5.5. Applicazioni della Trasformata Discreta di Fourier 161Allo scopo di chiarire il concetto di compressione, ricordiamo che un segnale discretiz-zatopuessere vistocomeunvettore monodimensionale(segnaletemporale)obidimen-sionale (immagine) aNcomponenti.In questo contesto, loperazione di compressione puessere descritta medianteunatrasformazioneM: RNRM,conM