Deney : Ayrı Fourier Dönüşümü (DFT) & Hızlı Fourier Dönüşümü (FFT) Amaç Bu deneyin amacı Ayrı Fourier Dönüşümü (DFT) ve Hızlu Fourier Dönüşümünün (FFT) tanıtılmasıdır. Giriş Bir öncei deneyde ayrı-zamanlı Fourier dönüşümünü incelemişti. Ayrı-zamanlı Fourier dönüşümü mutla toplanabilir diziler için freans bölgesi gösterimini sağlamatadır. Anca, Fourier dönüşümü sonsuz uzunluta bir dizi için tanımlıdır ve daha önemlisi, süreli bir değişen olan ω açısal freansının bir fonsiyonudur. MATLAB ullanıren dizileri sınırlandırmamız ve sınırlı sayıda nota için değerlendirme yapmamız gereir. Ayrı Fourier Dönüşümü (DFT) bu problemleri gidermetedir. Ayrı zamanlı Fourier dönüşümü (DFT), ayrı zamanlı sinyal işleme algoritma ve sistemlerinin analizi, tasarımı, gerçeleştirilmesi ile doğrusal filtreleme, orelasyon analizi ve spetrum analizi gibi sinyal işleme uygulamalarında önemli bir rol oynar. DFT nin bu öneme sahip olmasının ardındai temel neden DFT yi hesaplamata ullanılan verimli algoritmaların varlığıdır. DFT, Fourier dönüşümünün eşit aralılı freanslardai örnelerine özdeştir. Sonuç olara -notalı bir DFT nin hesaplanması Fourier dönüşümünün örneğinin, eşit aralılı freanslarla ( w = 2 π / ), z-düzlemindei birim çember üzerinde nota ile hesaplanmasına arşılı gelir. Burada temel amaç -notalı DFT nin hesaplanması için verimli algoritmaların ullanılmasıdır. Bu algoritmalar orta olara hızlı Fourier dönüşümü (FFT) algoritmaları adını alır. 1
Ayrı Fourier Dönüşümü (DFT) Ayrı-zaman Fourier dönüşümü (DTFT) aşağıdai şeilde verilir. ( j ω jωn X e ) = F{ x( n)} = x( n) e (.1) F{} operatörü x( n ) ayrı işaretini gerçel değerli ω nın armaşı değerli ve süreli j bir fonsiyonu olan X ( e ω j ) ya dönüştürmetedir. X ( e ω ) yı Δ ω aralılarıyla j periyodi olara örnelediğimizi varsayalım. X ( e ω ), 2π periyodunda bir fonsiyon olduğundan dolayı sadece temel freans aralığında alan örneler yeterli olacatır. Kolaylı için ω < 2π aralığında tane eşit aralılı örne alalım ( Δ ω = 2 π/ ). Eğer (.1) denlemini ω = 2π / notasında değerlendirece olursa: j2π/ j2πn/ ( ) = ( ) = 1,, 2,, 1 X e x n e (.2) L uzunluğunda sınırlı uzunlulu bir x( n ) dizisinin ( xn ( ) =, n < ve n L için) Fourier dönüşümü aşağıdai şeilde verilir: L 1 jω jω n X( e ) = F{ x( n)} = x( n) e (.) j X ( e ω ) yı eşit aralılı ω = 2π /, = 12,,,, 1 ( L) freanslarında örnelediğimizde oluşan örneler şelindedir. n L 1 j2π/ j2πn/ X( ) = X( e ) = x( n) e (.4) L için xn ( ) = olduğundan, 1 j2π n/ ( ) = ( ) = 1,, 2,, 1 X x n e (.5) elde edilir. Burada verilen ilişi ( L ) uzunlulu bir X ( n ) dizisini uzunlulu bir freans dizisine { X ( )} dönüştürme işlemidir. Freans örneleri, Fourier j dönüşümü X ( e ω ) yı ayrı freans notasında değerlendirere bulunduğu için, (.5)'de verilen ilişi x( n ) nin Ayrı Fourier Dönüşümü (DFT) olara adlandırılır. 1 xn X e n (.6) 1 j2π n/ ( ) = ( ) = 1,, 2,, 1 işlemi ise ters DFT (IDFT) olara adlandırılır. 2
DFT'nin özellileri Özelliler ispatsız olara verilecetir. X ( ), x( n ) in -notalı DFT si olsun. 1) Doğrusallı DFT { ax( n) + by( n)} = a DFT{ x()} n + b DFT{ yn ( )} (.7) 2) Periyodili x( n+ ) = x( n) X ( + ) = X( ) (.8) Periyodili özelliği DFT ve IDFT dönüşüm formüllerinden çımatadır. ) Bir dizinin dairesel simetriliği Gördüğümüz üzere, L uzunlulu x( n ) dizisinin -notalı DFT'si, x( n ) in periyodi olara genişletilmesiyle elde edilen periyotlu x ( n ) dizisinin ( x ( n) = x( n l )) -notalı DFT sine eşittir. Periyodi x ( n ) dizisini adar p l= sağa ötelediğimizi varsayalım. Böylece farlı bir periyodi dizi elde ederiz. Sınırlı uzunlulu x ( n) = x ( n ) = x( n l ) (.9) ' p p x ( n) = l= ' xp n n ( ), 1, dışında dizisi x( n ) dizisinin dairesel ötelemesiyle elde edilmiştir. Bu ilişi Şeil.1'de = 4 için gösterilmiştir. p p
Şeil.1: Bir dizinin dairesel ötelenmesi 4
4) DFT'nin simetri özellileri DFT'nin simetri özellileri Fourier dönüşümü için uygulanan yöntemin terarıyla elde edilebilir. -uzunlulu x( n ) ve DFT'sinin armaşı değerli olduğunu varsayalım. Diziler aşağıdai şeilde verilebilir. xn ( ) = x( n) + jx( n) n 1 (.1) R I X( ) = X ( ) + jx ( ) 1 (.11) (.1) u, (.5) de verilen DFT ifadesine yerleştirere, R R R I I 1 2πn 2πn X ( ) = [ x ( n)cos + x ( n)sin ] (.12) 2πn 2πn X ( ) [ x ( n)sin x ( n)cos ] 1 = I R I (.1) elde edilir. Benzer şeilde (.11) i, (.6)'da verilen IDFT ifadesine yerleştirere πn x ( n) [ X ( )cos X ( )sin ] 1 1 2π 2 = n R R I = πn x ( n) [ X ( )sin X ( )cos ] 1 1 2π 2 = n I R + I = (.14) (.15) 5) Gerçel-değerli diziler x( n ) gerçel-değerli ise, DFT tanımıdan aşağıdai özelli bulunur. Dolayısıyla, X ( ) = X( ) olacatır. X ( ) = X ( ) = X( ) (.16) 6) Gerçel ve çift diziler x( n ) gerçel ve çift ise, yani (.1)'den XI ( ) = olur. Böylece DFT xn ( ) = x ( n) n 1 (.17) 2π n X( ) = XR ( ) = x( n)cos, 1 1 (.18) şelinde basitleşir. Bu fonsiyon gerçel ve çifttir. X ( ) = olduğundan IDFT aşağıdai şeilde basitleşir. I 5
π n xn ( ) = X( )cos, n 1 1 1 2 = (.19) 7) Gerçel ve te diziler x( n ) gerçel ve te ise, yani (.12)'den XR ( ) = olur. Böylece DFT xn ( ) = x ( n), n 1 (.2) 2π n X( ) = j x( n)sin, 1 1 (.21) şelinde basitleşir. Bu fonsiyon armaşı ve tetir. Bundan dolayı IDFT aşağıdai şeilde basitleşir. j 2π n xn ( ) = X( )sin, n 1 1 = (.22) 8) Sanal değerli diziler ( x( n) = jxi ( n )) Bu durumda 1 2π n XR( ) = xi( n)sin (.2) 1 2π n XI( ) = xi( n)cos (.24) 9) Dairesel evrişim ise x ( n) X ( ) x ( n) X ( ) (.25) 1 1 2 2 Burada, x ( n ) 1 x2( n) X1( ) X2( ) (.26) olup 1 x ( n ) 1 x2( n) = x1( m) x2(( n m)) (.27) m= dairesel evrişimi belirtmetedir. (( n m)) = ( n m)mod Dairesel evrişimin nasıl gerçelendiğini daha sonra bir örnele göreceğiz (Örne.2). 6
1) Çarpım 1 x1( nx ) 2( n) X1( ) 2 X ( ) (.28) Örne.1 x( n ), 4-notalı bir dizi olsun. 1 n xn ( ) = dışında a) Ayrı zaman Fourier dönüşümünü hesaplayın ve genli ve fazını çizin. b) x( n ) in 4-notalı DFT sini hesaplayın. c) x( n ) in 16-notalı DFT sini hesaplayın. Çözüm a) Ayrı-zaman Fourier dönüşümü aşağıdai şeilde verilir. jω jωn jω j2ω jω 1 e X( e ) = x( n) e = 1+ e + e + e = 1 e j4w jw sin 2ω = e sin( ω / 2) jω / 2 Böylece jω sin 2ω X( e ) = ve sin( ω / 2) jω X( e ) = ω sin2ω 2 sin( ω/ 2) > ± π < ω sin2ω 2 sin( ω/ 2) b) (5.7) ullanara 4-notalı DFT hesaplayalım. 4( ) = ( ) j2π n 4 = 1,, 2, X x n e MATLAB ullanara bunu yapabiliriz. >>[:-1]; % n için satır vetörü >>=[:-1]; % için satır vetörü >>W=exp(-1i*2*pi/); % Wn vetörü >>n=n'*; % n değerlerini içeren x matris >>Wn=W.^n; % DFT matrisi >>X4=x*Wn; % DFT atsayıları için satır vetörü >> magx4=abs(x4); phax4=angle(x4); 7
4 AZFD genli X 2 1.2.4.6.8 1 1.2 1.4 1.6 1.8 2 freans/pi 15 AZFD faz 1 5 açi -5-1 -15.2.4.6.8 1 1.2 1.4 1.6 1.8 2 freans/pi Şeil.2: Genli ve faz diyagramı 4 AFD genli, =4 X4 2 1.5 1 1.5 2 2.5.5 4 15 AFD faz, =4 1 5 açi -5-1 -15.5 1 1.5 2 2.5.5 4 Şeil.: 4 -notalı DFT 8
c) (.5)'i ullanara 16-notalı DFT hesaplayalım. 15 16( ) = ( ) j2π n 16 = 1,, 2,, 15 X x n e MATLAB ullanara bunu yapabiliriz. >>x16=[x zeros(1,-length(x))]; % sıfır dolgulama >>[:-1]; % n için satır vetörü >>=[:-1]; % için satır vetörü >>W=exp(-j*2*pi/); % Wn vetörü >>n=n'*; % n değerlerini içeren x matris >>Wn=W.^n; % DFT matrisi >>X16=x16*Wn; % DFT atsayıları için satır vetörü >>magx16=abs(x16); phax16=angle(x16); 4 AFD genli, =16 X16 2 1 2 4 6 8 1 12 14 16 15 AFD faz, =16 1 5 açi -5-1 -15 2 4 6 8 1 12 14 16 Şeil.4: 16 -notalı DFT DTFT, 4-notalı DFT ve 16-notalı DFT arşılaştırılara DFT'nin DTFT'nin örnelenmesinden oluştuğunu görebiliriz. Freans bölgesinde alınan örne sayısı DFT'nin uzunluğunu vermetedir. 9
Örne.2 : x 1 ( n ) = {1, 2, } ve x2 ( n ) = {1, 2,, 4} olma üzere 4-notalı dairesel evrişimi ( x 1 ( n) x 2 ( n )) hesaplayınız. Çözüm: x ( ) 1 n -notalı bir dizi olduğundan il önce onu sıfır dolgulayara 4-notalı uzunluğa getirmemiz gereir. Bu problemi hem zaman hem freans bölgesinde çözeceğiz. Zaman bölgesinde (.28) ullanılıren freans bölgesinde ise (.5) ile verilen DFT ullanılacatır. 1) Zaman bölgesi yalaşımı 4-notalı dairesel evrişim aşağıdai şeilde verilir. x ( n) 1 x ( n) = x ( m) x (( n m)) 2 1 2 4 m= dairesel olara atlanmış ve ötelenmiş x2(( n m)) 4 dizisini oluşturmamız, bunu x ( ) 1 m ile çarpmamız, ve her n için bu çarpım değerlerini toplamamız geremetedir. x 1 ( n ) = {1, 2,, } ve x ( ) {124} 2 n =,,, göz önüne alalım. n = için 1 2 4 m= m= i m= n = 1 için x ( m) x (( m)) = [{12}{142}],,,,,, [{1, 8, 9, } = 18 i x ( m) x ((1 m)) = [{1, 2,, }{21,, 4, }] 1 2 4 m= m= m= n = 2 için [{2, 2, 12, } = 16 i x ( m) x ((2 m)) = [{1, 2,, }{, 21,, 4}] 1 2 4 m= m= m= n = için [{, 4,, } = 1 1
i x ( m) x (( m)) = [{1, 2,, } {4,, 2, 1}] 1 2 4 m= m= m= [{466},,, = 16 Böylece x ( n) x ( n ) = {1816116},,, olur. 1 2 2) Freans bölgesi yalaşımı Bu yalaşımda il önce x 1 ( n ) ve x 2 ( n ) için 4-notalı DFT hesaplanır ve bunlar birbiriyle çarpılır. Sonucun IDFT'si alınara dairesel evrişim elde edilir. x ( ) 1 n nin DFT'si x ( ) 1 n ={1, 2,, }, X ( ) ={6 2 2j 2 2 2 j} 1,,, + x ( ) 2 n nin DFT'si x ( n ) ={124},,,, X ( ) ={1 2 2j 2 2 2 j} 2 2, +,, X1( ) X2( ) ={6, 8, 4, 8} IDFT sonrası x ( n) x ( n ) = {1816116},,, 1 2 Ödev.1: 1) 2 uzunlulu ( ) 5cos( π π xn = n) + sin( n), n 1, işareti verilmiş olsun. Dizinin 7 1 DFT sini = 2, 128, 512 uzunluları için hesaplayınız ve bu -notalı DFT'lerin genliğini çizdiriniz. DTFT, 2-notalı DFT, 128-notalı DFT ve 512-notalı DFT'yi arşılaştırınız (DFT hesaplama için bir program yazmalısınız). 2) a) MATLAB'de dairesel evrişim işleminin gerçeleştiren bir program yazınız. (Yazdığınız program herhangi değeri için çalışmalı ve girişine verdiğiniz aynı uzunlulu ii dizinin dairesel evrişimini zaman bölgesinde hesaplamalıdır.) b) x1=[:.1:.9]; x2=[2:-.1:1.1]; omutları ile üreteceğiniz ii dizinin dairesel evrişimini a) şıında yazmış olduğunuz program ile elde ediniz. ) Aşağıdai diziler için dairesel evrişimi zaman bölgesinde hesaplayınız. MATLAB yardımıyla freans bölgesinde de hesaplayınız. 2. soruda yazmış olduğunuz dairesel evrişim programını bu ii dizi için çalıştırara bulduğunuz sonuçları doğrulayınız. x ( ) 1 n ={,,, 1 1 1}, x ( ) 2 n = {1,, 1, 1} 11
Hızlı Fourier Dönüşümü (FFT) Ayrı Fourier dönüşümünü terar hatırlayaca olursa, 1 n X( ) = x( n) W 1 (.29) Burada W ( 2 π / ) j = e 'dir. (.29) denlemiyle gösterilen Ayrı Fourier Dönüşümünün (DFT) doğrudan hesaplanmasında her bir X ( ) değeri için adet armaşı çarpma ve 1 adet armaşı toplama işlemi yapılmatadır. Bundan dolayı adet DFT değeri bulunuren, 2 adet çarpma ve ( 1) adet toplama işlemi gerelidir. Ayrıca her armaşı çarpma işlemi dört gerçel çarpma ve ii gerçel toplama işlemi ve her bir armaşı toplama ii gerçel toplama işlemi ile gerçelenmetedir. Sonuç olara, dizi uzunluğu olan nin büyü olması durumunda DFT nin doğrudan bulunması ço fazla mitarda işlem yapılmasını geretirir. Yani, sayısı artaren yapılan işlem sayısı yüse hızla artmata ve işlem sayısı abul edilemez bir seviyeye doğru gitmetedir. 1965 yılında Cooley ve Tuey Ayrı Fourier Dönüşümü için gereli işlem mitarını azaltaca bir prosedür geliştirdiler 1. Bu prosedür, sayısal işaret işleme ve diğer alanlarda DFT uygulamalarında ani bir artış olmasına sebep oldu. Ayrıca başa algoritmaların geliştirilmesine ön aya olmuştur. Tüm bu algoritmalar Hızlı Fourier Dönüşüm (FFT) algoritmaları olara bilinir. Bu algoritmalar ile DFT hesabı için yapılması gereen işlem sayısı büyü ölçüde azaltılara işlem olaylığı sağlanmıştır. Her ne adar dönüşüm olara adlandırılsa, Hızlı Fourier Dönüşümü (FFT) Ayrı Fourier Dönüşümü (DFT) den farlı değildir. FFT, DFT hesaplanması için etili ve eonomi bir algoritmadır. Verimli Hesaplama : Verimli bir şeilde tasarlanmış algoritmada işlem sayısı veri örneği başına sabit olmalıdır ve bundan dolayı toplam işlem sayısı e bağlı olara lineer olmalıdır. Genel olara bir toplama işlemi için gereen işleme (processing) zamanı bir çarpma işlemi için gereen işleme zamanına göre ço daha azdır. Bu yüzden daha ço 4 1 Cooley, J.W., Tuey, J.W., An Algorithm for the Machine Computation of Complex Fourier Series, Mathematics of Computation, Vol. 19, pp. 297-1, April 1965. 12
gerçel çarpma ve 2 gerçel toplama geretiren omples çarpma işlemleri sayısını diate alacağız. { W n } fatörünün periyodili ve simetri özellileri ullanılara işlem sayısı azaltılabilir. Periyodili Özelliği W = W = W n ( n+ ) ( + ) n Simetri Özelliği W n+ /2 = W n Periyodili ve simetri özellilerinin işlem sayısını azaltmadai faydasını bir örnele görelim. Örne.: Dört notalı bir DFT nin hesaplanması ve hesaplanması için verimli bir algoritma geliştirilmesi, X( ) = x( n)w n, n, 4 j2 /4 W4 = e π = j Çözüm: Yuarıdai hesaplama 16 tane omples çarpma işlemi içeren matris formunda gösterilebilir: X() W4 W4 W4 W 4 x() 1 2 X(1) x(1) W4 W4 W4 W4 = 2 4 6 X(2) W x(2) 4 W4 W4 W4 6 9 X() W x() 4 W4 W4 W4 Verimli Yalaşım: Periyodiliği ullanara, W = W = 1 ; W = W = j 4 1 9 4 4 4 4 W = W = 1; W = j 2 6 4 4 4 bu eşitlileri yuarıdai matris formunda yerine oyarsa aşağıdai ifadeyi elde ederiz. X() 1 1 1 1 x() X(1) 1 j 1 j x(1) = X(2) 1 1 1 1 x(2) X() 1 j 1 j x() 1
Buradan aşağıdai denlemleri elde edebiliriz: [ ] [ ] X () = x() + x(1) + x(2) + x() = x() + x(2) + x(1) + x() g1 g2 [ ] [ ] X (1) = x() jx(1) x(2) + jx() = x() x(2) j x(1) x() h1 h2 [ ] [ ] X (2) = x() x(1) + x(2) x() = x() + x(2) x(1) + x() g1 g2 [ ] [ ] X () = x() + jx(1) x(2) jx() = x() x(2) + j x(1) x() Dolayısıyla verimli bir algoritma, Basama 1 Basama 2 g = x() + x(2) X() = g + g 1 1 2 g = x(1) + x() X(1) = h + jh 2 1 2 h = x() x(2) X(2) = g g 1 1 2 h = x(1) x() X() = h + jh 2 1 2 h1 h2 Bu algoritmaya göre yapılaca işlem sadece 2 omples çarpımayı içerir. Bu algoritmanın yapısı Şeil.5 dei gibidir. Şeil.5: Örne. için tasarlanmış algoritma yapısı Hızlı Fourier Dönüşümü (FFT) Algoritmaları DFT nin hesaplanmasında birço farlı algoritma geliştirilmiştir. Bu algoritmaların işlem sayısını azaltma için temelde ullandığı özelliler temel fonsiyon olan W in periyodili ve simetri özelliğidir. Burada Parçala-Birleştir yalaşımını (dividecombine approach) ullanara türetilen radix-r FFT algoritmalarından radix-2 ( yani data boyu = 2 olan veriler için) algoritması olan Zamanda Desimasyonlu FFT (decimation-in-time FFT) ve Freansda Desimasyonlu FFT (decimation-in-frequency FFT) algoritmalarını inceleyeceğiz. 14
Zamanda Desimasyonlu FFT İşaretin uzunluğu olan sayısı FFT algoritmalarında önemli rol oynamatadır. nin iinin atları olması durumunda algoritma basit ve etin olmatadır. = olmala birlite bu algoritmaya Radix-2 FFT algoritması denir. çift tamsayı olup x( n ) dizisi /2 uzunlulu ii diziye ayrılabilir. Bu ayrımda, il dizinin elemanları te sayı indisli, iinci dizinin elemanları çift sayı indisli seçilir ve 2r çift indisliler için, 2r+ 1 te indisliler için ullanılır. Bu ayrım aşağıda gösterilmiştir; X = x( n) W + x( n) W W n n n çift n te ( / 2) 1 ( / 2) 1 2 r (2r + 1) = x(2 r) W + x(2r + 1) W r= r= 2 /2 (.) =,1, 2... 1 = W ifadesi ullanılara aşağıdai şele getirilir; ( / 2) 1 ( / 2) 1 r r = (2 ) /2 + (2 + 1) /2 r= r= = + (.1) X x r W W x r W A FD[ /2 çift notalar] W AFD[ /2 te notalar] Burada /2 uzunluğunda ii DFT yardımıyla uzunlulu dizinin DFT si hesaplanmatadır. x( n ) dizisinin te ve çift notaları; 2 R ç x ( n) = x(2 n); n =,1, 2,..., ( / 2) 1 t x ( n) = x(2n + 1); n =,1, 2,..., ( / 2) 1 (.2) şelinde gösterelim. (.2) dei tanımlar (.1) de yerine onulara ( / 2 ) 1 ( / 2 ) 1 ç n t n = ( ) /2 + ( ) /2 n = n = (.) X x n W W x n W bulunur. Bu bağlantıda X + ( /2) hesaplanırsa ( /2) 1 ( /2) 1 ç n( + ( / 2)) ( + ( / 2)) t n( + ( / 2)) + ( /2) = ( ) /2 + ( ) /2 (.4) X x n W W x n W ifade edilir. n /2 j2 π /( /2) ( n / 2) j2π n W = e = e = 1 W /2 /2 = 1 ifadeleri ullanılara, 15
( /2) 1 ( /2) 1 ç n t n + ( /2) = ( ) /2 ( ) /2 (.5) X x n W W x n W elde edilir. indesini ( /2) 1 aralığında sınırlayara çift ve te notaların DFT leri ayrı ayrı belirtilebilir: ( /2) 1 ç ç n = ( ) /2 X x n W X ( /2) 1 t t n = x ( n) W/2 (.6) Bu tanımlardan yararlanara (.) ve (.5) bağıntıları terar yazılabilir: X = X + W X X = X W X ç t ç t + ( /2) =,1, 2,...,( / 2) 1 -notalı DFT'nin te ve çift notalarının oluşturduğu /2 notalı ii DFT den elde edilebileceği görülmetedir. Aynı şeilde, /2 notalı ii DFT de yeniden belirlenece /4 notalı te ve çift notalı dizilerden benzer biçimde elde edilir. = 2 L varsayıldığında L adım gidilece olursa, sonuçta sadece 2 notalı bir dizinin DFT sinin hesabı yeterli olmatadır. Taip eden örnete bu durum ayrıntılı bir şeilde açılanmatadır. Örne.4: Zamanda desimasyonlu FFT algoritmasını açılayabilme amacıyla seiz notalı bir dönüşümü ele alalım. Buna göre, = 8 ve = 2 L ' den L = olmatadır. Şeil.6, seiz notalı DFT'nin ii adet dört notalı DFT'ye ayrıştırılmasını göstermetedir. Bu ayrıştırma işlemine devam edere dört notalı DFT'ler de ii notalı DFT'lere Şeil.7'de gösterildiği gibi ayrıştırılabilir. En son aşamada /2 adet ii notalı DFT elde edilecetir. DFT tanımından, bu işlem şu şeilde basitleşecetir X () = x() + x(1) X (1) = x() x(1) Şeil.8, seiz notalı zamanda desimasyonlu FFT'nin aış diagramını göstermetedir. Bu aış diagramı üzerinden üç adım ile (bz. Şeil.9) xn ( ), n 7 dizisinin FFT'si şu şeilde hesaplanabilir: 16
Adım 1 ' x () = x() + W x(4) = x() + x(4) x (4) = x() + W x(4) = x() x(4) ' 4 x (2) = x(2) + W x(6) = x(2) + x(6) ' x (6) = x(2) + W x(6) = x(2) x(6) ' 4 x(1) = x(1) + W x(5) = x(1) + x(5) ' x(5) = x(1) + W x(5) = x(1) x(5) ' 4 x () = x() + W x(7) = x() + x(7) ' ' 4 x (7) = x() + W x(7) = x() x(7) Adım 2 '' ' ' ' ' x () = x() + W x(2) = x() + x(2) = x() + x(4) + x(2) + x(6) '' ' 2 ' 2 '' ' 4 ' ' ' '' ' 6 ' 6 x (4) = x(4) + W x(6) = x() x(4) + W x(2) + x(6) x (2) = x() + W x(2) = x() x(2) = x() + x(4) x(2) + x(6) x (6) = x(4) + W x(6) = x() x(4) + W x(2) + x(6) '' ' ' ' ' x (1) = x(1) + W x() = x(1) + x() = x(1) + x(5) + x() + x(7) '' ' 2 ' 2 '' ' 4 ' ' ' '' ' 6 ' 6 x (5) = x(5) + W x(7) = x(1) x(5) + W x() x(7) x () = x(1) + W x() = x(1) x() = x(1) + x(5) x() + x(7) x (7) = x(5) + W x(7) = x(1) x(5) + W x() x(7) Adım '' '' '' '' X () = x () + W x (1) = x () + x (1) X = x + W x '' 1 '' (1) (4) (5) X = x + W x '' 2 '' (2) (2) () X = x + W x '' '' () (6) (7) '' 4 '' '' '' (4) () (1) () (1) '' 5 '' (5) (4) (5) '' 6 '' (6) (2) () '' 7 '' (7) (6) (7) X = x + W x = x x X = x + W x X = x + W x X = x + W x Son olara 2. adımda bulunan değerlere. adımda yerlerine onulursa, 17
X() = x() + x(4) + x(2) + x(6) + x(1) + x(5) + x() + x(7) 2 1 2 (1) = () (4) + (2) + (6) + (1) (5) + () (7) X x x W x x W x x W x x 2 X(2) = x() + x(4) x(2) + x(6) + W x(1) + x(5) x() + x(7) 6 6 () = () (4) + (2) + (6) + (1) (5) + () (7) X x x W x x W x x W x x X (4) = x() + x(4) + x(2) + x(6) x(1) + x(5) + x() + x(7) 2 5 2 (5) = () (4) + (2) + (6) + (1) (5) + () (7) X x x W x x W x x W x x 6 X(6) = x() + x(4) x(2) + x(6) + W x(1) + x(5) x() + x(7) 6 7 6 (7) = () (4) + (2) + (6) + (1) (5) + () (7) X x x W x x W x x W x x elde edilmiş olur. Şeil.6: Seiz notalı DFT'nin zamanda desimasyon ile ii adet dört notalı DFT'ye ayrıştırılması 18
Şeil.7: İi adet dört notalı DFT'nin zamanda desimasyon ile dört adet ii notalı DFT'ye ayrıştırılması Şeil.8: Seiz notalı zamanda desimasyonlu FFT için aış diagramı 19
Şeil.9: Seiz notalı zamanda desimasyonlu FFT için aış diagramı Freansta Desimasyonlu FFT Alternatif FFT algoritması diziyi orta notasından iiye ayırara ve aynı işlem uygulanara geliştirilebilir. (1) x n = x n ( ) ( ) (2) x n = x n+ ( ) ( /2),1, 2...( / 2) 1 biçiminde iiye ayrılsın. X = 1 n = x( n) W n ( / 2 ) 1 1 n x n W n = n = / 2 = ( ) + x( n) W n ( / 2 ) 1 ( / 2 ) 1 n ( n+ ( / 2 )) x( n) W x( n / 2) W n = n = = + + (.7) 2
şelinde yazılabilir. Tanımlamalar yerlerine onursa, ( /2) 1 ( /2) 1 (1) n ( 2 ) ( n+ ( / 2 )) = ( ) + ( ) (.8) X x n W x n W elde edilir. Freans desimasyonunda çift ve te freans domeni notaları X ve 2 1 2 X + =,1,...,( / 2) 1 aralığında ullanılara DFT elde edilebilir. yerine 2 oyarsa, ( / 2) 1 ( / 2) 1 (1) 2 n (2) ( n+ ( /2))2 2 = ( ) + ( ) X x n W x n W yazılabilir. 2n n ve W 1 = W/2 W = özellilerinden yararlanılara, ( /2) 1 ( /2) 1 (1) n ( 2 ) n 2 = ( ) /2 + ( ) /2 (.9) X x n W x n W elde edilir. yerine 2 + 1 onara ve benzer şeilde ( / 2) 1 ( / 2) 1 (1) n (2 + 1) (2 ) ( n+ ( / 2 )(2 + 1)) 2 + 1 = ( ) + ( ) ( / 2) 1 ( / 2) 1 n (1) n n ( 2 ) n / 2 = W x ( n) W /2 W x ( n) W /2W W X x n W x n W elde edilir. W /2 1 ve W 1 = = özellilerinden yararlanara, ( /2) 1 ( /2) 1 n (1) n n ( 2) n 2+ 1 = ( ) /2 ( ) /2 (.4) X W x n W W x n W elde edilir. =,1,...,( / 2) 1 için X 2 ve X 2 + 1 'den için freansta desimasyonlu FFT görülmetedir: ( / 2 ) 1 (1) ( 2 ) n 2 = ( ) + ( ) / 2 n = X x n x n W ( / 2 ) 1 (1) ( 2 ) n n 2 + 1 = ( ) ( ) / 2 n = X x n x n W W (.41) 21
Hesaplama Sayısı Karşılaştırılması DFT hesaplanmasında 2 armaşı çarpma ve ( 1) armaşı toplama gerelidir. FFT yardımıyla = 2 R notadan oluşan dizinin DFT'sinin hesaplanmasında R /2 armaşı çarpma ve R harmaşı toplama işlemi yeterlidir. Adım sayısı R = log2 olara yazılırsa işlem yoğunluğu açısından DFT ile FFT ıyaslanabilir. Matlab Uygulamaları Örne.5: DFT ile FFT arasındai işlem süresinin ıyaslanması. TIC ve TOC fonsiyonu ullanılara yapılabilir. TIC fonsiyonu zamanlayıcıyı başlatır TOC fonsiyonuda zamanlayıcı bilgisini our. =248; x=rand(1,); tic fft(x,); toc tic radix2hfd(x,); toc tic [:1:-1]; =[:1:-1]; W=exp(-j*2*pi/); n=n'*; Wn=W.^n; X=x*Wn; toc elapsed_time =.94 elapsed_time = 56.172 elapsed_time = 17.875 22
Örne.6: Zamanda desimasyonlu FFT algoritmasının incelenmesi. function[x]=radix2hfd(x,m) if nargin ==2 =M; else =length(x); end %global M; =length(x); L=log2(); if L==1 X=[x(1)+x(2) x(1)-x(2)] end if L>1 W=exp(-j*2*pi/); W(1,:)=W.^([:1:/2-1]); x(1,:)=x(1:2:end); x1(1,:)=x(2:2:end); X(1,:)= radix2hfd(x)+w.* radix2hfd(x1); X1(1,:)= radix2hfd(x)-w.* radix2hfd(x1); X=[X X1]; end Ödev.2: 1) =8 için freansda desimasyonlu Hızlı Fourier Dönüşümünün aış diyagramını çiziniz ve seiz notalı FFT'yi Örne.4'deine benzer şeilde üç adımda hesaplayınız. 2) Matlab da fft omutu ullanmadan freans desimasyonlu FFT algoritmasını üretiniz. 2