DFT FFT itü deney

download DFT FFT itü deney

of 23

Transcript of DFT FFT itü deney

Deney 3: Ayrk Fourier Dnm (DFT) & Hzl Fourier Dnm (FFT) AmaBu deneyin amac Ayrk Fourier Dnm (DFT) ve Hzlu Fourier Dnmnn (FFT) tantlmasdr.

GiriBir nceki deneyde ayrk-zamanl Fourier dnmn incelemitik. Ayrk-zamanl Fourier dnm mutlak toplanabilir diziler iin frekans blgesi gsterimini salamaktadr. Ancak, Fourier dnm sonsuz uzunlukta bir dizi iin tanmldr ve daha nemlisi, srekli bir deiken olan asal frekansnn bir fonksiyonudur. MATLAB kullanrken dizileri snrlandrmamz ve snrl sayda nokta iin deerlendirme yapmamz gerekir. Ayrk Fourier Dnm (DFT) bu problemleri gidermektedir.

Ayrk zamanl Fourier dnm (DFT), ayrk zamanl sinyal ileme algoritma ve sistemlerinin analizi, tasarm, gerekletirilmesi ile dorusal filtreleme, korelasyon analizi ve spektrum analizi gibi sinyal ileme uygulamalarnda nemli bir rol oynar. DFTnin bu neme sahip olmasnn ardndaki temel neden DFTyi hesaplamakta kullanlan verimli algoritmalarn varldr.

DFT, Fourier dnmnn eit aralkl frekanslardaki rneklerine zdetir. Sonu olarak N -noktal bir DFTnin hesaplanmas Fourier dnmnn N rneinin, N eit aralkl frekanslarla ( wk = 2 k / N ), z-dzlemindeki birim ember zerinde N nokta ile hesaplanmasna karlk gelir. Burada temel ama N -noktal DFTnin hesaplanmas iin verimli algoritmalarn kullanlmasdr. Bu algoritmalar ortak olarak hzl Fourier dnm (FFT) algoritmalar adn alr.

1

Ayrk Fourier Dnm (DFT)Ayrk-zaman Fourier dnm (DTFT) aadaki ekilde verilir.

X ( e j ) = F {x( n )} =

n =

x ( n )e

j n

(3.1)

F {} operatr x(n) ayrk iaretini gerel deerli nn karmak deerli ve srekli bir fonksiyonu olan

X (e j ) ya dntrmektedir.

X (e j ) y aralklaryla

periyodik olarak rneklediimizi varsayalm. X (e j ) , 2 periyodunda bir fonksiyon olduundan dolay sadece temel frekans aralnda kalan rnekler yeterli olacaktr. Kolaylk iin 0 < 2 aralnda N tane eit aralkl rnek alalm ( = 2/N ) . Eer (3.1) denklemini = 2 k /N noktasnda deerlendirecek olursak:

X ( e j 2 k /N ) =

n =

x ( n )e

j 2 kn/N

k = 0,1, 2,, N 1

(3.2)

L uzunluunda snrl uzunluklu bir x(n) dizisinin ( x(n) = 0 , n < 0 ve n L iin) Fourier dnm aadaki ekilde verilir:

X (e j ) = F{x(n)} = x(n)e j nn =0

L 1

(3.3)

X (e j ) y

eit

aralkl

k = 2 k /N ,

k = 0,1, 2,, N 1

( N L)

frekanslarnda

rneklediimizde oluan rnekler

X (k ) = X (e j 2 k /N ) = x(n)e j 2 kn/Nn =0

L 1

(3.4)

eklindedir. n L iin x(n) = 0 olduundan,

X (k ) = x(n)e j 2 kn/Nn =0

N 1

k = 0,1, 2,, N 1

(3.5)

elde edilir. Burada verilen iliki ( L N ) uzunluklu bir X (n) dizisini N uzunluklu bir frekans dizisine { X (k )} dntrme ilemidir. Frekans rnekleri, Fourier dnm X (e j ) y N ayrk frekans noktasnda deerlendirerek bulunduu iin, (3.5)'de verilen iliki x(n) nin Ayrk Fourier Dnm (DFT) olarak adlandrlr.

x ( n) =

1 N

X ( k )en =0

N 1

j 2 kn / N

n = 0,1, 2,, N 1

(3.6)

ilemi ise ters DFT (IDFT) olarak adlandrlr.

2

DFT'nin zellikleri zellikler ispatsz olarak verilecektir. X (k ) , x(n) in N -noktal DFTsi olsun.

1) Dorusallk DFT {ax(n) + by (n)} = a DFT {x(n)} + b DFT { y (n)} (3.7)

2) Periyodiklik

x ( n + N ) = x ( n) X (k + N ) = X (k )Periyodiklik zellii DFT ve IDFT dnm formllerinden kmaktadr.

(3.8)

3) Bir dizinin dairesel simetriklii Grdmz zere, L N uzunluklu x(n) dizisinin N -noktal DFT'si, x(n) in periyodik olarak geniletilmesiyle elde edilen ( x p (n) =N

periyotlu

x p (n)

dizisinin

l =

x(n lN ) )

N -noktal DFT sine eittir. Periyodik x p (n) dizisini k kadar

saa telediimizi varsayalm. Bylece farkl bir periyodik dizi elde ederiz.

x 'p (n) = x p (n k ) =Snrl uzunluklu

l =

x(n k lN )

(3.9)

' x (n), 0 n N 1 (n) = p x 0, dnda dizisi x(n) dizisinin dairesel telemesiyle elde edilmitir. Bu iliki ekil 3.1'de N = 4 iin gsterilmitir.

3

ekil 3.1: Bir dizinin dairesel telenmesi

4

4) DFT'nin simetri zellikleri DFT'nin simetri zellikleri Fourier dnm iin uygulanan yntemin tekraryla elde edilebilir.N -uzunluklu

x ( n)

ve DFT'sinin karmak deerli olduunu

varsayalm. Diziler aadaki ekilde verilebilir.

x(n) = xR (n) + jxI (n) 0 n N 1 X (k ) = X R (k ) + jX I (k ) 0 k N 1(3.10)u, (3.5)de verilen DFT ifadesine yerletirerek,

(3.10) (3.11)

X R (k ) = [ xR (n) cosn =0 N 1 n =0

N 1

2 kn 2 kn ] + xI (n) sin N N 2 kn 2 kn ] xI (n) cos N N

(3.12) (3.13)

X I (k ) = [ xR (n) sin

elde edilir. Benzer ekilde (3.11)i, (3.6)'da verilen IDFT ifadesine yerletirerek

xR ( n ) = xI ( n ) =

1 N 1 N

[Xk =0

N 1

R

(k ) cos (k ) sin

2 kn 2 kn ] X I (k ) sin N N

(3.14) (3.15)

[Xk =0

N 1

R

2 kn 2 kn ] + X I (k ) cos N N

5) Gerel-deerli diziler

x(n) gerel-deerli ise, DFT tanmdan aadaki zellik bulunur. X ( N k ) = X (k ) = X ( k )Dolaysyla, X ( N k ) = X (k ) olacaktr. (3.16)

6) Gerel ve ift diziler

x(n) gerel ve ift ise, yani

x ( n) = x ( N n) 0 n N 1(3.13)'den X I (k ) = 0 olur. Bylece DFT

(3.17)

X (k ) = X R (k ) = x(n) cosn =0

N 1

2 kn , 0 k N 1 N

(3.18)

eklinde basitleir. Bu fonksiyon gerel ve ifttir. X I (k ) = 0 olduundan IDFT aadaki ekilde basitleir.

5

x ( n) =

1 N

X (k ) cosk =0

N 1

2 kn , 0 n N 1 N

(3.19)

7) Gerel ve tek diziler

x(n) gerel ve tek ise, yani x(n) = x( N n), 0 n N 1(3.12)'den X R (k ) = 0 olur. Bylece DFT (3.20)

X (k ) = j x(n) sinn=0

N 1

2 kn , 0 k N 1 N

(3.21)

eklinde basitleir. Bu fonksiyon karmak ve tektir. Bundan dolay IDFT aadaki ekilde basitleir.

x ( n) =

j N

X (k ) sink =0

N 1

2 kn , 0 n N 1 N

(3.22)

8) Sanal deerli diziler ( x(n) = jxI (n)) Bu durumda

X R (k ) = xI (n) sinn=0

N 1

2 kn N 2 kn N

(3.23) (3.24)

X I (k ) = xI (n) cosn=0

N 1

9) Dairesel evriim

x1 (n) X 1 (k ) x2 (n) X 2 (k )ise

(3.25)

x1 ( n ) N x2 ( n) X 1 ( k ) X 2 ( k )Burada,

(3.26)

x1 ( n ) N x2 (n) = x1 (m) x2 ((n m)) Nm =0

N 1

(3.27)

olup N dairesel evriimi belirtmektedir.

((n m)) N = (n m)mod NDairesel evriimin nasl gereklendiini daha sonra bir rnekle greceiz (rnek 3.2).

6

10) arpm

x1 ( n) x2 ( n) rnek 3.1

1 X1 (k ) N X 2 (k ) N

(3.28)

x(n) , 4-noktal bir dizi olsun. 1 0 n 3 x( n ) = 0 dndaa) Ayrk zaman Fourier dnmn hesaplayn ve genlik ve fazn izin. b) x(n) in 4-noktal DFTsini hesaplayn. c) x(n) in 16-noktal DFTsini hesaplayn. zm a) Ayrk-zaman Fourier dnm aadaki ekilde verilir.X (e ) = x ( n)ej n=0 3 j n

= 1+ e

j

+e

j 2

+e

j 3

1 e j 4 w sin 2 j 3 / 2 = e = jw sin( / 2) 1 esin 2 sin( / 2)

Bylece

X (e j ) =

sin 2 sin( / 2)

ve

3 2 X ( e j ) = 3 2

>0 >n=[0:N-1]; >>k=[0:N-1]; % n iin satr vektr % k iin satr vektr

>>WN=exp(-1i*2*pi/N); % Wn vektr >>nk=n'*k; >>WNnk=WN.^nk; >>X4=x*WNnk; % nk deerlerini ieren NxN matris % DFT matrisi % DFT katsaylar iin satr vektr

>> magX4=abs(X4); phaX4=angle(X4);

7

AZFD genlik 4

3

|X|

2

1

0

0

0.2

0.4

0.6

0.8

1 frekans/pi AZFD faz

1.2

1.4

1.6

1.8

2

150 100 50 ai 0 -50 -100 -150 0 0.2 0.4 0.6 0.8 1 frekans/pi 1.2 1.4 1.6 1.8 2

ekil 3.2: Genlik ve faz diyagramAFD genlik, N=4 4

3 |X4|

2

1

0

0

0.5

1

1.5

2 k AFD faz, N=4

2.5

3

3.5

4

150 100 50 ai 0 -50 -100 -150 0 0.5 1 1.5 2 k 2.5 3 3.5 4

ekil 3.3: 4 -noktal DFT

8

c) (3.5)'i kullanarak 16-noktal DFT hesaplayalm.

X 16 ( k ) = x( n )e j 2 kn/16n =0

15

k = 0,1, 2,,15

MATLAB kullanarak bunu yapabiliriz. >>x16=[x zeros(1,N-length(x))]; % sfr dolgulama >>n=[0:N-1]; >>k=[0:N-1]; >>WN=exp(-j*2*pi/N); >>nk=n'*k; >>WNnk=WN.^nk; >>X16=x16*WNnk; % n iin satr vektr % k iin satr vektr % Wn vektr % nk deerlerini ieren NxN matris % DFT matrisi % DFT katsaylar iin satr vektr

>>magX16=abs(X16); phaX16=angle(X16);AFD genlik, N=16 4

3 |X16|

2

1

0

0

2

4

6

8 k AFD faz, N=16

10

12

14

16

150 100 50 ai 0 -50 -100 -150 0 2 4 6 8 k 10 12 14 16

ekil 3.4: 16 -noktal DFT

DTFT, 4-noktal DFT ve 16-noktal DFT karlatrlarak DFT'nin DTFT'nin rneklenmesinden olutuunu grebiliriz. Frekans blgesinde alnan rnek says DFT'nin uzunluunu vermektedir.

9

rnek 3.2 :

x1 (n) = {1, 2, 3}( x1 ( n ) zm:

ve

x2 (n) = {1, 2, 3, 4}

olmak

zere

4-noktal

dairesel

evriimi

x2 ( n) ) hesaplaynz.

x1 (n) 3-noktal bir dizi olduundan ilk nce onu sfr dolgulayarak 4-noktaluzunlua getirmemiz gerekir. Bu problemi hem zaman hem frekans blgesinde zeceiz. Zaman blgesinde (3.28) kullanlrken frekans blgesinde ise (3.5) ile verilen DFT kullanlacaktr. 1) Zaman blgesi yaklam 4-noktal dairesel evriim aadaki ekilde verilir.

x1 ( n)

x2 (n) = x1 (m) x2 ((n m)) 4m=0

3

dairesel olarak katlanm ve telenmi x2 ((n m)) 4 dizisini oluturmamz, bunu

x1 (m) ile arpmamz, ve her n iin bu arpm deerlerini toplamamz gerekmektedir. x1 (n) = {1, 2, 3, 0} ve x2 (n) = {1, 2, 3, 4} gz nne alalm.n = 0 iin

m=0 3

x (m) x ((0 m)) = [{1, 2, 3, 0}i{1, 4, 3, 2}]1 2 4 m=0

3

3

m= 0

[{1, 8, 9, 0} = 18 x1 (m) x2 ((1 m))4 = [{1, 2, 3, 0}i{2,1, 4, 3}]m=0 3 3

n = 1 iin

m=0 3

m= 0

[{2, 2,12, 0} = 16 x1 (m) x2 ((2 m))4 = [{1, 2, 3, 0}i{3, 2,1, 4}]m=0 3 3

n = 2 iin

m=0 3

m= 0

[{3, 4, 3, 0} = 10

n = 3 iin

10

m=0 3

x1 (m) x2 ((3 m))4 = [{1, 2, 3, 0}i{4, 3, 2,1}]m =0

3

3

m= 0

[{4, 6, 6, 0} = 16x2 ( n) = {18,16,10,16} olur.

Bylece x1 ( n)

2) Frekans blgesi yaklam Bu yaklamda ilk nce x1 (n) ve x2 (n) iin 4-noktal DFT hesaplanr ve bunlar birbiriyle arplr. Sonucun IDFT'si alnarak dairesel evriim elde edilir.

x1 (n) nin DFT'si x1 (n) = {1, 2, 3, 0} , X 1 (k ) = {6, 2 2 j, 2, 2 + 2 j} x2 (n) nin DFT'si x2 (n) = {1, 2, 3, 4} , X 2 (k ) = {10, 2 + 2 j, 2, 2 2 j} X 1 (k ) X 2 (k ) = {60, 8, 4, 8}IDFT sonras x1 ( n )

x2 ( n) = {18,16,10,16}

dev 3.1:1) 32 uzunluklu x(n) = 5cos( n) + 3sin( 3 n), 0 n 31 , iareti verilmi olsun. Dizinin 7 10 DFTsini N = 32,128, 512 uzunluklar iin hesaplaynz ve bu N -noktal DFT'lerin genliini izdiriniz. DTFT, 32-noktal DFT, 128-noktal DFT ve 512-noktal DFT'yi karlatrnz (DFT hesaplamak iin bir program yazmalsnz). 2) a) MATLAB'de dairesel evriim ileminin gerekletiren bir program yaznz. (Yazdnz program herhangi N deeri iin almal ve giriine verdiiniz ayn N uzunluklu iki dizinin dairesel evriimini zaman blgesinde hesaplamaldr.) b) x1=[0:0.1:0.9]; x2=[2:-0.1:1.1]; komutlar ile reteceiniz iki dizinin dairesel evriimini a) kknda yazm olduunuz program ile elde ediniz. 3) Aadaki diziler iin dairesel evriimi zaman blgesinde hesaplaynz. MATLAB yardmyla frekans blgesinde de hesaplaynz. 2. soruda yazm olduunuz dairesel evriim programn bu iki dizi iin altrarak bulduunuz sonular dorulaynz.

x1 (n) = {0,1,1, 1} , x2 (n) = {1, 0, 1,1}

11

Hzl Fourier Dnm (FFT)Ayrk Fourier dnmn tekrar hatrlayacak olursak,N 1 n=0

X (k ) = x(n)WNnk

0 k N 1

(3.29)

j 2 / N ) 'dir. (3.29) denklemiyle gsterilen Ayrk Fourier Dnmnn Burada WN = e (

(DFT) dorudan hesaplanmasnda her bir X (k ) deeri iin N adet karmak arpma ve N 1 adet karmak toplama ilemi yaplmaktadr. Bundan dolay N adet DFT deeri bulunurken, N 2 adet arpma ve N ( N 1) adet toplama ilemi gereklidir. Ayrca her karmak arpma ilemi drt gerel arpma ve iki gerel toplama ilemi ve her bir karmak toplama iki gerel toplama ilemi ile gereklenmektedir. Sonu olarak, dizi uzunluu olan Nnin byk olmas durumunda DFTnin dorudan bulunmas ok fazla miktarda ilem yaplmasn gerektirir. Yani, N says artarken yaplan ilem says yksek hzla artmakta ve ilem says kabul edilemez bir seviyeye doru gitmektedir. 1965 ylnda Cooley ve Tukey Ayrk Fourier Dnm iin gerekli ilem miktarn azaltacak bir prosedr gelitirdiler1. Bu prosedr, saysal iaret ileme ve dier alanlarda DFT uygulamalarnda ani bir art olmasna sebep oldu. Ayrca baka algoritmalarn gelitirilmesine n ayak olmutur. Tm bu algoritmalar Hzl Fourier Dnm (FFT) algoritmalar olarak bilinir. Bu algoritmalar ile DFT hesab iin yaplmas gereken ilem says byk lde azaltlarak ilem kolayl salanmtr. Her ne kadar dnm olarak adlandrlsa, Hzl Fourier Dnm (FFT) Ayrk Fourier Dnm (DFT)den farkl deildir. FFT, DFT hesaplanmas iin etkili ve ekonomik bir algoritmadr.

Verimli Hesaplama : Verimli bir ekilde tasarlanm algoritmada ilem says veri rnei bana sabit olmaldr ve bundan dolay toplam ilem says Ne bal olarak lineer olmaldr. Genel olarak bir toplama ilemi iin gereken ileme (processing) zaman bir arpma ilemi iin gereken ileme zamanna gre ok daha azdr. Bu yzden daha ok 4

1

Cooley, J.W., Tukey, J.W., An Algorithm for the Machine Computation of Complex Fourier Series, Mathematics of Computation, Vol. 19, pp. 297-301, April 1965.

12

gerel arpma ve 2 gerel toplama gerektiren komples arpma ilemleri saysn dikkate alacaz.kn { WN } faktrnn periyodiklik ve simetri zellikleri kullanlarak ilem says

azaltlabilir.

Periyodiklik zelliikn k ( WN = WN ( n + N ) = WN k + N ) n

Simetri zelliikn WN + N /2 = WNkn

Periyodiklik ve simetri zelliklerinin ilem saysn azaltmadaki faydasn bir rnekle grelim. rnek 3.3: Drt noktal bir DFTnin hesaplanmas ve hesaplanmas iin verimli bir algoritma gelitirilmesi,

X (k ) = x(n)W4 nk , 0 n 3,n =0

3

W4 = e j 2 / 4 = j

zm: Yukardaki hesaplama 16 tane kompleks arpma ilemi ieren matris formunda gsterilebilir: X (0) W40 W40 X (1) 0 1 = W4 W4 X (2) W40 W42 0 3 X (3) W4 W4 W40 W40 x(0) W42 W43 x(1) W44 W46 x(2) W46 W49 x(3)

Verimli Yaklam: Periyodiklii kullanarak,W40 = W44 = 1 ; W41 = W49 = j W42 = W46 = 1 ; W43 = j

bu eitlikleri yukardaki matris formunda yerine koyarsak aadaki ifadeyi elde ederiz.

X (0) 1 1 1 1 x(0) X (1) 1 j 1 j x(1) = X (2) 1 1 1 1 x(2) X (3) 1 j 1 j x(3)

13

Buradan aadaki denklemleri elde edebiliriz:X (0) = x (0) + x (1) + x (2) + x (3) = [ x (0) + x (2) ] + [ x (1) + x (3) ] X (1) = x (0) jx (1) x (2) + jx (3) = [ x (0) x (2) ] j [ x (1) x (3) ] X (2) = x (0) x (1) + x (2) x (3) = [ x (0) + x (2) ] [ x (1) + x (3) ] X (3) = x (0) + jx (1) x (2 ) jx (3) = [ x (0) x (2) ] + j [ x (1) x (3) ]h1 h2 g1 g2 h1 h2 g1 g2

Dolaysyla verimli bir algoritma,Basamak 1 g1 = x(0) + x(2) g 2 = x(1) + x(3) h1 = x(0) x(2) h2 = x(1) x(3) Basamak 2 X (0) = g1 + g 2 X (1) = h1 + jh2 X (2) = g1 g 2 X (3) = h1 + jh2

Bu algoritmaya gre yaplacak ilem sadece 2 kompleks arpmay ierir. Bu algoritmann yaps ekil 3.5deki gibidir.

ekil 3.5: rnek 3.3 iin tasarlanm algoritma yaps

Hzl Fourier Dnm (FFT) Algoritmalar DFTnin hesaplanmasnda birok farkl algoritma gelitirilmitir. Bu algoritmalarn ilem saysn azaltmak iin temelde kulland zellikler temel fonksiyon olan WNin periyodiklik ve simetri zelliidir. Burada Parala-Birletir yaklamn (dividecombine approach) kullanarak tretilen radix-R FFT algoritmalarndan radix-2 ( yani data boyu N = 2k olan veriler iin) algoritmas olan Zamanda Desimasyonlu FFT (decimation-in-time FFT) ve Frekansda Desimasyonlu FFT (decimation-in-frequency FFT) algoritmalarn inceleyeceiz.

14

Zamanda Desimasyonlu FFT aretin uzunluu olan N says FFT algoritmalarnda nemli rol oynamaktadr. Nnin ikinin katlar olmas durumunda algoritma basit ve etkin olmaktadr. N = 2 R olmakla birlikte bu algoritmaya Radix-2 FFT algoritmas denir. N ift tamsay olup x(n) dizisiN / 2 uzunluklu iki diziye ayrlabilir. Bu ayrmda, ilk dizinin elemanlar tek say

indisli, ikinci dizinin elemanlar ift say indisli seilir ve n = 2r ift indisliler iin,n = 2r + 1 tek indisliler iin kullanlr . Bu ayrm aada gsterilmitir;

Xk = =

x ( n )W n ift( N / 2 ) 1

nk N

+

n te k 2 rk N

x ( n )W Nn k( N / 2 ) 1

x ( 2 r )W

+

r= 0

x ( 2 r + 1)W N( 2 r + 1 ) k

r= 0

(3.30)

k = 0 ,1, 2 ..... N 1WN2 = WN / 2 ifadesi kullanlarak aadaki ekle getirilir;Xk

=

( N / 2 ) 1

x ( 2 r )W Nr k/ 2 + W Nk

( N / 2 ) 1

r= 0

x ( 2 r + 1)W Nr k/ 2k N

r= 0

(3.31)

= A F D [ N / 2 ift n o k ta la r ] + W

A F D [ N / 2 te k n o k ta la r ]

Burada N / 2 uzunluunda iki DFT yardmyla N uzunluklu dizinin DFTsi hesaplanmaktadr. x(n) dizisinin tek ve ift noktalar;x ( n ) = x ( 2 n ) ; n = 0 , 1, 2 , ..., ( N / 2 ) 1 x t ( n ) = x ( 2 n + 1) ; n = 0 , 1, 2 , ..., ( N / 2 ) 1

(3.32)

eklinde gsterelim. (3.32)deki tanmlar (3.31)de yerine konularak

X

k

=

( N / 2 ) 1

x ( n )W

n=0

nk N /2

+W

k N

( N / 2 ) 1

x t ( n )W

n=0

nk N /2

(3.33)

bulunur. Bu balantda X k + ( N / 2) hesaplanrsa

X k + ( N / 2) =ifade edilir.

( N / 2) 1

n=0

x ( n)W

n ( k + ( N / 2)) N /2

+W

( k + ( N / 2)) N

( N / 2) 1

n=0

x t ( n)WNn (/ k + ( N / 2)) 2

(3.34)

W Nn N / 2 = e j 2 /( N / 2 ) N /2 W N /2 = 1

( nN / 2 )

= e j 2 n = 1

ifadeleri kullanlarak,

15

X k +(N / 2) =

( N / 2 ) 1

x ( n )W

n=0

nk N /2

W

k N

( N / 2 ) 1

n=0

x t ( n )W Nn k 2 /

(3.35)

elde edilir. k indeksini 0 k ( N / 2) 1 aralnda snrlayarak ift ve tek noktalarn DFTleri ayr ayr belirtilebilir:

X k = X =t k

( N / 2) 1

n =0 n=0

nk x (n)WN / 2

( N / 2) 1

(3.36)

x (n)W

t

nk N /2

Bu tanmlardan yararlanarak (3.33) ve (3.35) bantlar tekrar yazlabilir:

X k = X k + WNk X ktk X k + ( N / 2) = X k WN X kt

k = 0,1, 2,..., ( N / 2) 1N-noktal DFT'nin tek ve ift noktalarnn oluturduu N / 2 noktal iki DFTden eldeedilebilecei grlmektedir. Ayn ekilde, N / 2 noktal iki DFT de yeniden belirlenecek N / 4 noktal tek ve ift noktal dizilerden benzer biimde elde edilir.

N = 2 L varsayldnda L adm gidilecek olursa, sonuta sadece 2 noktal bir dizininDFTsinin hesab yeterli olmaktadr. Takip eden rnekte bu durum ayrntl bir ekilde aklanmaktadr.

rnek 3.4: Zamanda desimasyonlu FFT algoritmasn aklayabilmek amacyla sekiz noktal bir dnm ele alalm. Buna gre, N = 8 ve N = 2 L ' den L = 3 olmaktadr. ekil 3.6, sekiz noktal DFT'nin iki adet drt noktal DFT'ye ayrtrlmasn gstermektedir. Bu ayrtrma ilemine devam ederek drt noktal DFT'ler de iki noktal DFT'lere ekil 3.7'de gsterildii gibi ayrtrlabilir. En son aamada N / 2 adet iki noktal DFT elde edilecektir. DFT tanmndan, bu ilem u ekilde basitleecektir

X (0) = x(0) + x(1) X (1) = x(0) x(1)ekil 3.8, sekiz noktal zamanda desimasyonlu FFT'nin ak diagramn gstermektedir. Bu ak diagram zerinden adm ile (bkz. ekil 3.9) x(n), 0 n 7 dizisinin FFT'si u ekilde hesaplanabilir:

16

Adm 1 0 x ' (0) = x(0) + WN x(4) = x(0) + x(4)x ' (4) = x(0) + WN4 x(4) = x(0) x(4)0 x ' (2) = x(2) + WN x(6) = x(2) + x(6)

x ' (6) = x(2) + WN4 x(6) = x(2) x(6)0 x ' (1) = x(1) + WN x(5) = x(1) + x(5) 4 x ' (5) = x(1) + WN x(5) = x(1) x(5) 0 x ' (3) = x(3) + WN x(7) = x(3) + x(7)

x ' (7) = x(3) + WN4 x(7) = x(3) x(7)

Adm 2 0 x '' (0) = x ' (0) + WN x ' (2) = x ' (0) + x ' (2) = x(0) + x(4) + x(2) + x(6)x '' (4) = x ' (4) + WN2 x ' (6) = x(0) x(4) + WN2 { x(2) + x(6)} x '' (2) = x ' (0) + WN4 x ' (2) = x ' (0) x ' (2) = x(0) + x(4) { x(2) + x(6)}6 6 x '' (6) = x ' (4) + WN x ' (6) = x(0) x(4) + WN { x(2) + x(6)} 0 x '' (1) = x ' (1) + WN x ' (3) = x ' (1) + x ' (3) = x(1) + x(5) + x(3) + x(7) 2 x '' (5) = x ' (5) + WN2 x ' (7) = x(1) x(5) + WN { x(3) x(7)}

x '' (3) = x ' (1) + WN4 x ' (3) = x ' (1) x ' (3) = x(1) + x(5) { x(3) + x(7)}6 6 x '' (7) = x ' (5) + WN x ' (7) = x(1) x(5) + WN { x(3) x(7)}

Adm 3 0 X (0) = x '' (0) + WN x '' (1) = x '' (0) + x '' (1)1 X (1) = x '' (4) + WN x '' (5)

X (2) = x '' (2) + WN2 x '' (3)3 X (3) = x '' (6) + WN x '' (7)

X (4) = x '' (0) + WN4 x '' (1) = x '' (0) x '' (1)5 X (5) = x '' (4) + WN x '' (5) 6 X (6) = x '' (2) + WN x '' (3) 7 X (7) = x '' (6) + WN x '' (7)

Son olarak 2. admda bulunan deerlere 3. admda yerlerine konulursa,

17

X (0) = x(0) + x(4) + x(2) + x(6) + x(1) + x(5) + x(3) + x(7)2 1 X (1) = x(0) x(4) + WN { x(2) + x(6)} + WN { x(1) x(5) + WN2 { x(3) x(7)}}

X (2) = x(0) + x(4) { x(2) + x(6)} + WN2 { x(1) + x(5) { x(3) + x(7)}} X (4) = x(0) + x(4) + x(2) + x(6) { x(1) + x(5) + x(3) + x(7)}

6 3 6 X (3) = x(0) x(4) + WN { x(2) + x(6)} + WN { x(1) x(5) + WN { x(3) x(7)}}

5 X (5) = x(0) x(4) + WN2 { x(2) + x(6)} + WN { x(1) x(5) + WN2 { x(3) x(7)}} 6 X (6) = x(0) + x(4) { x(2) + x(6)} + WN { x(1) + x(5) { x(3) + x(7)}}

6 7 6 X (7) = x(0) x(4) + WN { x(2) + x(6)} + WN { x(1) x(5) + WN { x(3) x(7)}}

elde edilmi olur.

ekil 3.6: Sekiz noktal DFT'nin zamanda desimasyon ile iki adet drt noktal DFT'ye ayrtrlmas

18

ekil 3.7: ki adet drt noktal DFT'nin zamanda desimasyon ile drt adet iki noktal DFT'ye ayrtrlmas

ekil 3.8: Sekiz noktal zamanda desimasyonlu FFT iin ak diagram

19

ekil 3.9: Sekiz noktal zamanda desimasyonlu FFT iin ak diagram

Frekansta Desimasyonlu FFT Alternatif FFT algoritmas diziyi orta noktasndan ikiye ayrarak ve ayn ilem uygulanarak gelitirilebilir.x (1) (n) = x(n) x (2) (n) = x(n + N / 2) n = 0,1, 2.......( N / 2) 1

biiminde ikiye ayrlsn.

X

k

= = =

N 1 n=0

x ( n ) W Nn k x ( n )W x ( n )Wnk N

( N / 2 ) 1

+ +

n=0

n=N /2

N 1

x ( n ) W Nn k x ( n + N / 2 )W N( n + ( N/ 2 )) k

(3.37)

( N / 2 ) 1 n=0

nk N

( N / 2 ) 1

n=0

20

eklinde yazlabilir. Tanmlamalar yerlerine konursa,

Xk =

( N / 2 ) 1

n=0

x (1) ( n )W Nn k +

( N / 2 ) 1

n=0

x ( 2 ) ( n )W N( n + ( N / 2 )) k

(3.38)

elde edilir. Frekans desimasyonunda ift ve tek frekans domeni noktalar X 2 k ve X 2 k +1

k = 0,1,..., ( N / 2) 1 aralnda kullanlarak DFT elde edilebilir. k yerine 2k koyarsak,

X

2k

=

( N / 2 ) 1

n=0

x (1 ) ( n )W N2 n k +

( N / 2 ) 1

n=0

x ( 2 ) ( n )W N( n + ( N / 2 )) 2 k

yazlabilir.2 WN nk = WNnk2 ve WNkN = 1 zelliklerinden yararlanlarak, /

X 2k =

( N / 2 ) 1

x ( n )W

(1)

n=0

nk N /2

+

( N / 2 ) 1

n=0

x ( 2 ) ( n )W Nnk 2 /

(3.39)

elde edilir.

k yerine 2k + 1 konarak ve benzer ekilde

X

2 k +1

= =

( N / 2 ) 1

x

(1 )

( n )W

n=0

n ( 2 k +1) N

+

( N / 2 ) 1

n=0

x ( 2 ) ( n )W N( n + ( N / 2 )( 2 k + 1 )) W Nn x ( 2 ) ( n )W Nn k 2W NN k W NN / 2 /

( N / 2 ) 1

n=0

W Nn x (1 ) ( n )W Nn k 2 /

( N / 2 ) 1

n=0

elde edilir.

WNNk = 1 ve WNN / 2 = 1 zelliklerinden yararlanarak,

X 2 k +1 =

( N / 2 ) 1

n=0

W Nn x (1) ( n )W Nnk 2 /

( N / 2 ) 1

n=0

W Nn x ( 2 ) ( n )W Nnk 2 /

(3.40)

elde edilir.

k = 0,1,..., ( N / 2) 1 iin X 2 k ve X 2 k +1 'den N iin frekansta desimasyonlu FFTgrlmektedir:X X2k

=

( N / 2 ) 1

n=0

x (1 ) ( n ) + x ( 2 ) ( n ) W

nk N /2

2 k +1

=

( N / 2 ) 1

(3.41)nk N /2

n=0

(2) n (1 ) x ( n ) x ( n ) W N W

21

Hesaplama Says KarlatrlmasDFT hesaplanmasnda gereklidir. FFT

N2

karmak arpma ve

N ( N 1) karmak toplamaoluan dizinin DFT'sinin

yardmyla

N = 2R

noktadan

hesaplanmasnda NR / 2 karmak arpma ve NR harmak toplama ilemi yeterlidir. Adm says R = log 2 N olarak yazlrsa ilem younluu asndan DFT ile FFT kyaslanabilir.

Matlab Uygulamalarrnek 3.5: DFT ile FFT arasndaki ilem sresinin kyaslanmas. TIC ve TOC fonksiyonu kullanlarak yaplabilir. TIC fonksiyonu zamanlaycy balatr TOC fonksiyonuda zamanlayc bilgisini okur. N=2048; x=rand(1,N); tic fft(x,N); toc tic radix2hfd(x,N); toc tic n=[0:1:N-1]; k=[0:1:N-1]; WN=exp(-j*2*pi/N); nk=n'*k; WNnk=WN.^nk; Xk=x*WNnk; toc elapsed_time = 0.0940 elapsed_time = 56.172000 elapsed_time = 17.8750

22

rnek 3.6: Zamanda desimasyonlu FFT algoritmasnn incelenmesi. function[X]=radix2hfd(x,M) if nargin ==2 N=M; else N=length(x); end %global M; N=length(x); L=log2(N); if L==1 X=[x(1)+x(2) x(1)-x(2)] end if L>1 WN=exp(-j*2*pi/N); W(1,:)=WN.^([0:1:N/2-1]); x0(1,:)=x(1:2:end); x1(1,:)=x(2:2:end); X0(1,:)= radix2hfd(x0)+W.* radix2hfd(x1); X1(1,:)= radix2hfd(x0)-W.* radix2hfd(x1); X=[X0 X1]; end

dev 3.2:1) N=8 iin frekansda desimasyonlu Hzl Fourier Dnmnn ak diyagramn iziniz ve sekiz noktal FFT'yi rnek 3.4'dekine benzer ekilde admda hesaplaynz. 2) Matlabda fft komutu kullanmadan frekans desimasyonlu FFT algoritmasn retiniz.

23