You are on page 1of 9
Capitele 5. TRA: MATA DISCRETA DI FOURIER tic Wi aah a ito analitzetemo in dettaglia V'agoritme FFT a decimazione nal tempo: mo. strereme pot come tale algoritima posta essere esteso al calcolo della DFT inversa (IDET) algoritmo [FFT a de mazione nel tempo, ed infine daremo un cenno agli algoritmt FFT IFFT a decimatione in frequensa 5.3.1 Algoritmo FET a decimazione nel tempo 1 preannunciato notevole incremento di efcieaza di calcolo della DFT si pud conseguire scomponenda la sequenza 2(n) in sottesequense via via pili carte ottenute operando suc- cessive decimazioni pet due, cat prendendo un campione si ed uno no, sulla sequenza di ppartensa onde il nome di FFT 2 decimastone mel tempo. Pet sfruttare appieno tale pos- sibilita & necessario pero che il numero di punti au cui valutare la DFT sia una potenza 4 2, ipotesi che riterremo sent'altro verfiesta nel provieguo. Tale ipotesi non & limitativa potendola sempre soddisfare previo allungamento con ze della sequenza di partenra, “Tuttavia si casevi che existono algoritmi eflicienti anche nel caso WV non sia una potenza 14 due, ma aon saranno presi same in queste dispense I primo passo dell'algaritmo FFT a decimazione ael tempo consiste nel ricondutre il calcolo di una DFT su N punti a quello di due DPT su 7/2 puati. A cid fare & suff ciente scomporte la somma a seconda membro del’ squazione (5.1) in quelle sui valoti pari « rispettivamente dispari dell'indie ottenendo: x= DO eiywyrs Eo atmyrye ovvero, ponende n = 2m nella prima sommatoria a secondo membro ¢ rispettivamente n= 2m +1 nella seconds, l'equazione precedente diventa: oe ot xe) Damn + So zQm+ weer = = aa on orn = YD aamwgynews Yo zame ng Ma, exendo WC OD 2 Hy 60) aS oat —mmme [Paquatione (5.8) pub essere riseitis some xik) (5.11) Le due sommatorie a secondo membro rappresentano rispettivamente [a DFT Xp(d) su ¥/2 unti della sequenza zp(n) = x(2n). cioé della sequenza dei campioni di posto pari, ela DFT Xp(é) su N/2 punti della sequenza zp(n) = z(2n + 1), cioé della sequenza dei campioni di posto dispar, per cui in definitiva si ha K(k) = Xp(k) + WEXOLE) (12) Sicsservi che con riferimento alla DPT X(E) indice k assume valor & = 0,1, meatre con viferimento alle DPT su ¥ punt assume valorif'=0.1,....%—1. Ricordands pero che le due sommatorie a secondo membro dellequazione (5.11), che esptimona le due DET su ¥ punt, sono funzioni petiodche di periodo ¥, nel combinare le due DFT su N/2 punti per ottenere quella su NV punti secondo quanto expresso dalla (5.12), Xp(&) per = FE 4 1.0 ~ 16 da imtendersi come Xp(¥ — f) ed analogamente per Xp() 8 per otienere X(4) occorterebbe meltiplcare Xp(4) per 1}, ‘© sommare tale risutato a Xp(4). Ma grate alla peridicith di periodo 1/2 = 4 delle sommatorie che definiscono X(t) « di Xo(k) tsulta Xp(4) = Xp(0) e Xp(4) = Xo(0) Pertanto X(4) si ottiene moltiplicando ‘'o(0) per We sommando tale risultato a Xp(0), Cosi ad esempio per V In altri cetmini per £ = 0,1,...,$¢—{ la DPT X(4) su N punti di z(n) é effetivamente data dalla (5.12), mente gi altri campioaispetrali, coe quell corispondenti ak = Beco. = [sono dati da w x(e+3) ln definitiva il calcolo della DFT X(&) su NV punti a partite da quello delle 2 DET su LN/2 puati Xp(E) ¢ Xo(k) é dato da { Me) Xplk) + WEXo(e) Xo(b) + WHF XD (k) = Xpl4) ~ WEND(A) (5.13) o, (4) X(k+%) = Note) WhXoIA) 4 grafo corrispondente a tale coppia di equazioni é riportato nella Fig. $3; la sua forma spiega il pittoresco nome di farfalla (Sutterfy) dato al caleolo elementare In Fig.5.4 ¢ ‘iportato il grafo che illustra come commbinate le ue DFT su N/2 punti per ottenere quella su ¥ punti per AA ___Capitolo 5. TRASFORMATA DISCRETA DI FOURIER I a Xo(k) st X(b+%) | Figura 5.3: Calcolo farfella, (0) =9() 4 40 }— X(0) = Dele eee eee 7) zt Hyp) xa) r . VW pti apa Xo(3) \ (3) 2) 200) ; xe) ort | *- 2(3) Fo(I)—4 su Xl) — x(5) 26) 0()—f FLY xo(ay| Wh a penti Txocy| W “) £0(3) | Jxo1a) a x Figura 5.4: Scompossione di una W—-DFT in due ¥—DFT (W = 8) & & ene aneetcmeen + GS eR Aspetti comput 329 27(0) DFT xX) ae ic zal) nti Te x) we (2) a = XQ) zr(3) pune = X@) Figura 5.5: Scomposiaione di una ¥—DFT in due ¥—DFT (” =8) Confrontando la complessita del caleolo ditetto con quella richiesta dalla scomporizione ella DFT su N punti in due DPT su N/2 punt si passa da N? a 2(/2)?-+/2 operazioni Infatti (.V/2}? él numero di operazion rchiesto dalla singola OFT su N/2 puntie N/2 él ‘numero di calcliafarfalla (5.14) da effettuare per combinare le due DFT su N/2 punti. Per LN > | si consegue una riduzione: pertanto la procedura di decimasione nel tempo tsulta vantaggiosa e conviene riapplicarla al caleolo delle due DPT su WN/2 punti Xp(&) e Xo(é) della sottosequenza zp(n) dei campioni i posto pare rispettivamente di quella zo(n) dei campioni di posto dispar. Cost procedendo si ba owes overt Xr®) = SS eramwgtswe So zeQns yivgt ios io Xo) = Leola twk Yo zone nwy La Fig. 55 ilustea il geafo per In scompesizione di una DFT su 1/2 punti in due DPT su 1V/4 punt e la figura Fig, 5.6 riporta il grafo completo della scomposizione di una DFT su N/punti in quattro DPT su 1V/4 punt: entrambele figure si riferiscono ad V = 8 Si osservi che le potenze W);, necessarie per combinare le due DFT su WW/4 puati per ottenare quella su 1V/2 punti, grazie alla proprieta delle potenze di Wy expresse dalla (6.10), possono essere sostituite dalle potenze pari di Wy, cot da W3. Le Fig. 5.7 ¢ Fig. 58 riportano rispettivamente il grafo della scomposizione di una DFT su V/2 punti in due DFT. su N/4 punti e quello dela scomposizione di una DFT su NV punti in quattro DPT su N/4 nti qualora si impieghino come meltiplicatoriesclusivamente potenze di Woy. La procedura di riduzione delle dimension delle singole DFT pud essere ripetuta per 2804 Capitolo 5. TR. FORMATA DISCRETA DI FC (6) 21) 27) Figura 6.6: Scomposiaione di una DFT in quattro ¥—DFT (iV te(0) z(t) Figura 6.7: Scomposizione di una ¥—DFT in due 4—DFT ( Punti DFT ye X10) xq) DFT xe) 4 X(3) punt ae 1 a 5.9. Aspetti computazionali della DET 331 oe a aud 7 4 a wf} ; ot ay) er LM . xe) ls ee x z(t) ey DET Xx(4) we wy 28) Punti Z x = x(5) xa) {per [Hh Si a x x6) x) Punt S ay xan Figura 5.8: Scompositione di una DFT in quattro ¥—DPT (W = 8), ‘quanti sono i possibili dimezzamenti di V,cioé b = logy N volte, riducendo il calcolo della DFT su 1 punti a quello di DT di sequenze di lunghezza unitaria che, come é immediato vetifeate applicande Ia defiizione (5.1), coincidono con le sequenze stese La Fig. 59 illustes il grafo di una DPT a decimazione nel tempo per N= 8, Sulla sear i quanto detto ecomeillustrato in Fig 59, I calcolo di una DFT su punti pub essere organizzato in b= log, 1 pass o stadi; nell ultimo passo si combinano le 2 DFT su N/2 pant per ottenere la DET su N punts nel penultimo paseo si combinano le 4 DFT #1 N/A punti per ottenere le 2 DPT su N/2 puati e cos via. a partire dal primo passo in eu si combinano le. DFT su | punto coincidenti coa la sequenza dati opportunamenteciordinata per effetto delle successive decimazioni, per ottenere le N/2 DPT su 2 punti. Pertanto ali unici calcoli da eflettuare nel generico stadio sono quelli relativi alla combinazione di DFT di lunghezza meta per ottenete DFT di lunghezza doppia, ciot N/2 ealeoi a farfall: Nelieffettuace i caleoli a fafalla, come precedentemente detto e come éilluteato in Fig. 5.9 per V = 8, si postono utilizzare come moltiplicatori escusivamente potenze di Wy. IL vantaggio di tale soluzione é il conseguente risparmio di memoria dovendosi memorizzare cscusivamente gli /2 coeficienti WH, F = 0,1,...,/2—1e nom anche le potenze di Wore Wyjas---s We Ogni stadio di ealcoloutilieza un vettore complesso Xin (E) di lunghezza W, elo trasfor- ‘main un alto vettore di uguale lunghezza X(&): questa procedura va ripetuta un numero 3 o 5, TRASFORMATA DISCRETA DI FOURIER xo) x) x) 10 x x6) x0) 2) xt) 28) x05) 23) x06) x) xa) Figura 5.9: Grafo di una DET su 4 punti a decimazione nel tempo (WV = 8), di volte pati a b= logy W, cit pet m = 1,2,....8, dando infine in uscita la DPT desiderata X(2) = XH). Iv Xa(E) coatiene Ia sequenza data 2(n) opportuns mente riordinata per effetto delle successive decimation, Nel caso particolare di N = di partenza Vordinamento é Xe(0) = =(0) (4) 2(2) 2(6) =() 2(5) Xe(6) = 2(3) Xa(T) = (7) (6.15) Il caleolo base da efettuatsi W/2 vote nell'ambito del generico stadio é sostanzialmente \ caleolo a farfalls definito dal grafo di Fig. 5.3 ridisegnato, con riferimento alle generiche -ompot ) Xm) in Fig. 8.10: le corrispondenti equazioni sono es Ximoal) + Wi Xmail) dei vettori Xn melded (6.16) Xm(a) = XmailP)— WiXm-a(@) Ds tal equation dalla Fig. 5.10¢ chiaro che per ilcaleolo degli element di posto p & del vettore Xm (k) sono aeceseari solo i cortispondentielementi del vettore Xyq-1(f). Pet & creme 5.3,_Aspetti computazionall della DFT 333 Xitel Wy marl) Xmla Figura 5.10: Caleolo a farflla della FPT a decimazione nel tempo. tanto entrambi i vettori Xm(k) @ Xm=i(L) possono essere memoriszatinello stesso registro Ai memoria: per esprimere tale possibilit si dice che si effettuano i calcoli sul post. In alte termini ogni nuova sequenza in uscita ad uno stadio di caleolo viene ad easere memorizzata, nelle stesse locazioni di memoria della sequenaa di ingress, Si osservi che lalgoritmo FFT pub esere realzzato in modo completamente sequentiale, cob caleolando in successione sia le N/2 farfalle richieste in ogni stadio di calcolo, che gli stessi stadi di calcolo. Qualora perd sia richiesta una maggjore velocita di esecutione i calcolt a farfallarelativi al generico stadio possono anche essere eseguiti, tutti o in parte in parallelo; utlizzando il massimo grado di parallelism dellalgoritmo, cio® W/2, si eonsegue ‘un incremento dello stesso faetore della velocita di esecuzione. Come abbiamo gid osservato, affinché i calcoli possano essere fatti sul posto i dati A'ingresso devono essere opportunamente ordinat: V'ordinamento necessatio é il cosi detto ordinamento a disposisione invertita dei bi Per comprendere che coca si intenda con tale terminologia scriviamo in binario indice delle varie sequenze. In tal caso 'ordinamento dei dati in ingress, espresso per W = 8 dalla (6.15), diventa: aa Xo(0) = Xo(000) = 2(0) = (000) Xo(1) = Xo(001) = 214) = 2(100) Xo(2) = Xel010) = 212) = 2(010) Xo(3) = Xe(0ll) = 2(6) = (110) No(s) = Xa(100) = 2(1) = 2(0001 0 Xo(5) = Xo(I01) = 2(5) = (101) Xo(6) -Xo(I10) = 2(3) = =(01l) Nol) = Xe(lll) = 2(7) = x(111) In altri termini se (naming) é a rappresentazione in binatio dellindice della sequenza z(n), ilcampione z(ngnnq) risulta mefporzzato nella posiione Xo(nonyn2): cio Ia porizione dt a{namino) nella sequenza d'ngreso si otineinvertendo l'ordine dei bit denice n Pet comprendere le ragioni di tale ordinamento riprendiamo in esame la procedura di at Capitola 5. TRASFORMATA DISCRETA DI FOURIER FL sco fh 21010) 0 ae) o 001 oes A (101) xo 1 2(1l) Figura 5.11: Albero per Vordinamento a disposiione invertita dei bit z{nanina) decimazione nel tempo. La sequenza di partenza 2(n) é stata innansi tutto suddiviss nella cquensa dei eampioni di posto pati ed in quella dei campioni di posto dispar: con i primi locati nella prima meta del vettore Xo(b) dei dati ordinati ed i secondi nella seconda reek di tale vettore. Tale suddivisione pub essere fatta esaminando il bit meno significative ne) dellindice n: infatti no € zero se ¢ solo se corisponde ad un campione di posto pari oe uno se e solo se corrisponde ad wn eampione di posto dispari. Successivamente le due Sotiosequente dei campioni di posto patie di posto dispari vengono eatrambe a loo volta cdaiviceciascuna nella sottesequenza dei campioni di posto pari ed in quella dei campioni {hi posto dsparie ci pu essere fatto esaminando il secondo bit meno signiicativo m: della Sequenza dati 2(n). Invero le sottesequenze dei campioni di posto pari sono carattrizate Gallavere tale bit pari a zero mente le sottosequenze dei campioni di posto dispari sono aratteriazate dall'avere tale bit pari ad tno, Tale procedura va ripetuta b volte fino ad srtenete le N eottosequenze di lungheeza unitatia. Questo tipo di ordinamento pub essere ttenuto con Valbero di Fig. 6.11 ammo

You might also like