Elektronik ortamda Ayr¬k Fourier Dönü¸sümü
Prof. Dr. Erhan Co¸skun
Karadeniz Teknik Üniversitesi, Fen Fakültesi, Matematik Bölümü MAT4012 Endüstriyel Matematik
Uzaktan E¼gitim Ders-III E-posta:erhan@ktu.edu.tr
14 Nisan 2020
Özet
Ayr¬k(discrete) Fourier dönü¸ sümünün elektronik ortamda nas¬l gerçekle¸stirilece¼ gini
klasik yöntem ve
H¬zl¬Fourier Dönü¸süm algoritmas¬yard¬m¬yla inceleyece¼ giz.
Özet
Ayr¬k(discrete) Fourier dönü¸ sümünün elektronik ortamda nas¬l gerçekle¸stirilece¼ gini
klasik yöntem ve
H¬zl¬Fourier Dönü¸süm algoritmas¬yard¬m¬yla inceleyece¼ giz.
Özet
Ayr¬k(discrete) Fourier dönü¸ sümünün elektronik ortamda nas¬l gerçekle¸stirilece¼ gini
klasik yöntem ve
H¬zl¬Fourier Dönü¸süm algoritmas¬yard¬m¬yla inceleyece¼ giz.
Hat¬rlatma
c = [ f
0, f
1, , f
N 1]
Tvektörünün ayr¬k Fourier dönü¸sümünü hat¬rlayal¬m.
w = e
2πi /N,
B = [ W
0W
1W
N 1] = 2 6 6 6 4
1 1 1
1 w w
N 1.. . .. . .. .
1 w
(N 1)w
(N 1)23 7 7
7 5 matrisi
için
Ayr¬k Fourier- >
c = F ( f ) = 1
N Bf (1)
olarak tan¬mlanmaktad¬r. Ters Fourier - >
f = Bc (2)
Hat¬rlatma
c = [ f
0, f
1, , f
N 1]
Tvektörünün ayr¬k Fourier dönü¸sümünü hat¬rlayal¬m.
w = e
2πi /N,
B = [ W
0W
1W
N 1] = 2 6 6 6 4
1 1 1
1 w w
N 1.. . .. . .. .
1 w
(N 1)w
(N 1)23 7 7
7 5 matrisi
için
Ayr¬k Fourier- >
c = F ( f ) = 1
N Bf (1)
olarak tan¬mlanmaktad¬r. Ters Fourier - >
f = Bc (2)
Hat¬rlatma
c = [ f
0, f
1, , f
N 1]
Tvektörünün ayr¬k Fourier dönü¸sümünü hat¬rlayal¬m.
w = e
2πi /N,
B = [ W
0W
1W
N 1] = 2 6 6 6 4
1 1 1
1 w w
N 1.. . .. . .. .
1 w
(N 1)w
(N 1)23 7 7
7 5 matrisi
için
Ayr¬k Fourier- >
c = F ( f ) = 1
N Bf (1)
olarak tan¬mlanmaktad¬r. Ters Fourier - >
f = Bc (2)
Hat¬rlatma
c = [ f
0, f
1, , f
N 1]
Tvektörünün ayr¬k Fourier dönü¸sümünü hat¬rlayal¬m.
w = e
2πi /N,
B = [ W
0W
1W
N 1] = 2 6 6 6 4
1 1 1
1 w w
N 1.. . .. . .. .
1 w
(N 1)w
(N 1)23 7 7
7 5 matrisi
için
Ayr¬k Fourier- >
c = F ( f ) = 1
N Bf (1)
olarak tan¬mlanmaktad¬r.
Ters Fourier - >
f = Bc (2)
Hat¬rlatma
c = [ f
0, f
1, , f
N 1]
Tvektörünün ayr¬k Fourier dönü¸sümünü hat¬rlayal¬m.
w = e
2πi /N,
B = [ W
0W
1W
N 1] = 2 6 6 6 4
1 1 1
1 w w
N 1.. . .. . .. .
1 w
(N 1)w
(N 1)23 7 7
7 5 matrisi
için
Ayr¬k Fourier- >
c = F ( f ) = 1
N Bf (1)
olarak tan¬mlanmaktad¬r.
Ters Fourier - >
Ayr¬k Fourier interaktif Uygulamalar¬
Ayr¬k Fourier interaktif Uygulamalar¬
Örnek 1
>> f = [ 1 1 ]
0sütun vektörünün Ayr¬k Fourier dönü¸ sümünü yukar¬da verilen Program yard¬m¬yla hesaplay¬n¬z.
>> c=fourier(f) c =
0.00000 - 0.00000i
1.00000 - 0.00000i
elde ederiz.
Ayr¬k Fourier interaktif Uygulamalar¬
Örnek 2
>> f = [ 1 1 1 1 ]
0sütun vektörünün Ayr¬k Fourier dönü¸ sümünü yukar¬da verilen program yard¬m¬yla hesaplay¬n¬z.
>> f=[1 1 1 -1]’;
>> fourier(f)
0.50000 + 0.00000i
0.00000 - 0.50000i
0.50000 + 0.00000i
-0.00000 + 0.50000i
H¬zl¬Fourier dönü¸süm yöntemi
Yukar¬da ifade edilen Ayr¬k fourier dönü¸sümü B matrisinin N N boyutunda bir matris olmas¬durumunda N
2adet çarpma i¸slemi yap¬lmas¬n¬gerektirir.
Bu ise çok say¬da elemana sahip olan f dizileri veya f matrisleri için çok fazla bilgisayar sistem kayna¼ g¬kullan¬m¬n¬gerektirir.
Bu durumda B matrisinin özelliklerinde faydalanmak suretiyle verilen dizi alt parçalara bölünmek suretiyle ayr¬k Fourier dönü¸sümü
gerçekle¸stirir.
Söz konusu yönteme H¬zl¬Fourier Dönü¸ sümü(Fast Fourier Transform) ad¬verilir ve MATLAB/OCTAVE ortam¬nda ¤t() fonksiyonu
yard¬m¬yla gerçekle¸stirilir.
H¬zl¬Fourier dönü¸süm yöntemi
Yukar¬da ifade edilen Ayr¬k fourier dönü¸sümü B matrisinin N N boyutunda bir matris olmas¬durumunda N
2adet çarpma i¸slemi yap¬lmas¬n¬gerektirir.
Bu ise çok say¬da elemana sahip olan f dizileri veya f matrisleri için çok fazla bilgisayar sistem kayna¼ g¬kullan¬m¬n¬gerektirir.
Bu durumda B matrisinin özelliklerinde faydalanmak suretiyle verilen dizi alt parçalara bölünmek suretiyle ayr¬k Fourier dönü¸sümü
gerçekle¸stirir.
Söz konusu yönteme H¬zl¬Fourier Dönü¸ sümü(Fast Fourier Transform) ad¬verilir ve MATLAB/OCTAVE ortam¬nda ¤t() fonksiyonu
yard¬m¬yla gerçekle¸stirilir.
H¬zl¬Fourier dönü¸süm yöntemi
Yukar¬da ifade edilen Ayr¬k fourier dönü¸sümü B matrisinin N N boyutunda bir matris olmas¬durumunda N
2adet çarpma i¸slemi yap¬lmas¬n¬gerektirir.
Bu ise çok say¬da elemana sahip olan f dizileri veya f matrisleri için çok fazla bilgisayar sistem kayna¼ g¬kullan¬m¬n¬gerektirir.
Bu durumda B matrisinin özelliklerinde faydalanmak suretiyle verilen dizi alt parçalara bölünmek suretiyle ayr¬k Fourier dönü¸sümü
gerçekle¸stirir.
Söz konusu yönteme H¬zl¬Fourier Dönü¸ sümü(Fast Fourier Transform) ad¬verilir ve MATLAB/OCTAVE ortam¬nda ¤t() fonksiyonu
yard¬m¬yla gerçekle¸stirilir.
H¬zl¬Fourier dönü¸süm yöntemi
Yukar¬da ifade edilen Ayr¬k fourier dönü¸sümü B matrisinin N N boyutunda bir matris olmas¬durumunda N
2adet çarpma i¸slemi yap¬lmas¬n¬gerektirir.
Bu ise çok say¬da elemana sahip olan f dizileri veya f matrisleri için çok fazla bilgisayar sistem kayna¼ g¬kullan¬m¬n¬gerektirir.
Bu durumda B matrisinin özelliklerinde faydalanmak suretiyle verilen dizi alt parçalara bölünmek suretiyle ayr¬k Fourier dönü¸sümü
gerçekle¸stirir.
Söz konusu yönteme H¬zl¬Fourier Dönü¸ sümü(Fast Fourier Transform) ad¬verilir ve MATLAB/OCTAVE ortam¬nda ¤t() fonksiyonu
yard¬m¬yla gerçekle¸stirilir.
H¬zl¬Fourier dönü¸süm yöntemi
Örnek 3
f = [ 1 1 1 1 ]
0nin Ayr¬k Fourier Dönü¸ sümünü ¤t program¬yard¬m¬yla hesaplay¬n¬z.
>> f = [ 1 1 1 1 ]
0;
>> ¤t(f)
ans =
2 + 0i
0 - 2i
2 + 0i
0 + 2i
Uyar¬
¤t ile elde etti¼ gimiz sonuçlar¬n, fourier program¬ile elde edilenlerin 4 kat¬oldu¼ guna dikkat ediniz.
Uzunlu¼ gu N olan vektör için ¤t() ile elde edilen sonuçlar, fourier() ile elde etti¼ gimiz sonuclar¬n N kat¬na e¸sit olur.
Bile¸sen say¬s¬fazla olan uygulamalar için ¤t() kullan¬lmal¬d¬r.
fourier() program¬n¬sadece yöntemin nas¬l çal¬¸st¬¼ g¬n¬göstermek
amac¬yla inceliyoruz.
Uyar¬
¤t ile elde etti¼ gimiz sonuçlar¬n, fourier program¬ile elde edilenlerin 4 kat¬oldu¼ guna dikkat ediniz.
Uzunlu¼ gu N olan vektör için ¤t() ile elde edilen sonuçlar, fourier() ile elde etti¼ gimiz sonuclar¬n N kat¬na e¸sit olur.
Bile¸sen say¬s¬fazla olan uygulamalar için ¤t() kullan¬lmal¬d¬r.
fourier() program¬n¬sadece yöntemin nas¬l çal¬¸st¬¼ g¬n¬göstermek
amac¬yla inceliyoruz.
Uyar¬
¤t ile elde etti¼ gimiz sonuçlar¬n, fourier program¬ile elde edilenlerin 4 kat¬oldu¼ guna dikkat ediniz.
Uzunlu¼ gu N olan vektör için ¤t() ile elde edilen sonuçlar, fourier() ile elde etti¼ gimiz sonuclar¬n N kat¬na e¸sit olur.
Bile¸sen say¬s¬fazla olan uygulamalar için ¤t() kullan¬lmal¬d¬r.
fourier() program¬n¬sadece yöntemin nas¬l çal¬¸st¬¼ g¬n¬göstermek
amac¬yla inceliyoruz.
Uyar¬
¤t ile elde etti¼ gimiz sonuçlar¬n, fourier program¬ile elde edilenlerin 4 kat¬oldu¼ guna dikkat ediniz.
Uzunlu¼ gu N olan vektör için ¤t() ile elde edilen sonuçlar, fourier() ile elde etti¼ gimiz sonuclar¬n N kat¬na e¸sit olur.
Bile¸sen say¬s¬fazla olan uygulamalar için ¤t() kullan¬lmal¬d¬r.
fourier() program¬n¬sadece yöntemin nas¬l çal¬¸st¬¼ g¬n¬göstermek
amac¬yla inceliyoruz.
H¬zl¬Fourier dönü¸sümü
1967 y¬l¬nda J. Cooley ve J. Tukey, B matrisinin özelliklerini inceleyerek söz konusu çarpma i¸sleminin
N = 2
liçin N
2adet çarpma i¸slemi yerine çok daha küçük olan
1
2
Nl =
12N log
2( N ) adet çarpma i¸slemi ile h¬zl¬biçimde gerçekle¸stirilebilece¼ gini göstermi¸slerdir.
B Fourier matrisi ile h¬zl¬çarpma i¸slemini gerçekle¸stiren bu algoritma
H¬zl¬Fourier Algoritmas¬olarak adland¬r¬lm¬¸st¬r.
H¬zl¬Fourier dönü¸sümü
1967 y¬l¬nda J. Cooley ve J. Tukey, B matrisinin özelliklerini inceleyerek söz konusu çarpma i¸sleminin
N = 2
liçin N
2adet çarpma i¸slemi yerine çok daha küçük olan
1
2
Nl =
12N log
2( N ) adet çarpma i¸slemi ile h¬zl¬biçimde gerçekle¸stirilebilece¼ gini göstermi¸slerdir.
B Fourier matrisi ile h¬zl¬çarpma i¸slemini gerçekle¸stiren bu algoritma
H¬zl¬Fourier Algoritmas¬olarak adland¬r¬lm¬¸st¬r.
H¬zl¬Fourier dönü¸sümü
1967 y¬l¬nda J. Cooley ve J. Tukey, B matrisinin özelliklerini inceleyerek söz konusu çarpma i¸sleminin
N = 2
liçin N
2adet çarpma i¸slemi yerine çok daha küçük olan
1
2
Nl =
12N log
2( N ) adet çarpma i¸slemi ile h¬zl¬biçimde gerçekle¸stirilebilece¼ gini göstermi¸slerdir.
B Fourier matrisi ile h¬zl¬çarpma i¸slemini gerçekle¸stiren bu algoritma
H¬zl¬Fourier Algoritmas¬olarak adland¬r¬lm¬¸st¬r.
H¬zl¬Fourier algoritmas¬, B
2m 2mmatrisi ile B
m mmatrisinin elemanlar¬aras¬ndaki a¸sa¼ g¬daki gözlemi esas al¬r:
n = 2m için w
n2= w
m, w
m= e
2πi /mdir.
Gerçekten de
w
n2= ( e
2πi /n)
2= e
4πi /n= e
4πi /(2m)= e
2πi /m= w
mdir.
H¬zl¬Fourier Dönü¸sümü
N = 4 için algoritmay¬inceleyelim:w
4= e
2πi /4= i ,
B
4= 2 6 6 4
1 1 1 1
1 w w
2w
31 w
2w
4w
61 w
3w
6w
93 7 7 5 =
2 6 6 4
1 1 1 1
1 i 1 i
1 1 1 1
1 i 1 i
3
7 7
5
H¬zl¬Fourier Dönü¸sümü
N = 4 için algoritmay¬inceleyelim:w
4= e
2πi /4= i ,
B
4= 2 6 6 4
1 1 1 1
1 w w
2w
31 w
2w
4w
61 w
3w
6w
93 7 7 5 =
2 6 6 4
1 1 1 1
1 i 1 i
1 1 1 1
1 i 1 i
3
7 7
5
H¬zl¬Fourier Dönü¸sümü
c = F ( f )
= 1 4 B
4f
= 1 4
2 6 6 4
1 1 1 1
1 i 1 i
1 1 1 1
1 i 1 i
3 7 7 5
2 6 6 4
f
0f
1f
2f
33 7 7 5
= 1 4
2 6 6 4
f
0+ f
1+ f
2+ f
3f
0if
1f
2+ if
3f
0f
1+ f
2f
3f
0+ if
1f
2if
33
7 7
5
H¬zl¬Fourier Dönü¸sümü
N = 2 için w
2= e
2πi /2= 1,
B
2= 1 1
1 w = 1 1
1 1
dir.
f
0= [ f
0, f
2] , f
00= [ f
1, f
3] olmak üzere f nin tek ve çift indisli terimleri
ile iki alt dizi olu¸stural¬m:
H¬zl¬Fourier Dönü¸sümü
N = 2 için w
2= e
2πi /2= 1,
B
2= 1 1
1 w = 1 1
1 1
dir.
f
0= [ f
0, f
2] , f
00= [ f
1, f
3] olmak üzere f nin tek ve çift indisli terimleri
ile iki alt dizi olu¸stural¬m:
H¬zl¬Fourier Dönü¸sümü
N = 2 için w
2= e
2πi /2= 1,
B
2= 1 1
1 w = 1 1
1 1
dir.
f
0= [ f
0, f
2] , f
00= [ f
1, f
3] olmak üzere f nin tek ve çift indisli terimleri
ile iki alt dizi olu¸stural¬m:
ü
y
0= B
2f
0= 1 1
1 1
f
0f
2= f
0+ f
2f
0f
2= y
00y
10y
00= B
2f
00= 1 1
1 1
f
1f
3= f
1+ f
3f
1f
3= y
000y
100tan¬mlayal¬m.
H¬zl¬Fourier Dönü¸sümü
y
0= y
00+ ( w
4)
0y
000= f
0+ f
2+ f
1+ f
3, y
1= y
10+ ( w
4)
1y
100= f
0f
2i ( f
1f
3)
y
2= y
00( w
4)
0y
000= f
0+ f
2( f
1+ f
3) ,
y
3= y
10( w
4)
1y
100= f
0f
2+ i ( f
1f
3)
olarak tan¬mlayal¬m.
H¬zl¬Fourier Dönü¸sümü
y
0= y
00+ ( w
4)
0y
000= f
0+ f
2+ f
1+ f
3, y
1= y
10+ ( w
4)
1y
100= f
0f
2i ( f
1f
3)
y
2= y
00( w
4)
0y
000= f
0+ f
2( f
1+ f
3) ,
y
3= y
10( w
4)
1y
100= f
0f
2+ i ( f
1f
3)
olarak tan¬mlayal¬m.
H¬zl¬Fourier Dönü¸sümü
Bu durumda
y = 2 6 6 4
y
0y
1y
2y
33 7 7 5 =
2 6 6 4
f
0+ f
1+ f
2+ f
3f
0if
1f
2+ if
3f
0f
1+ f
2f
3f
0+ if
1f
2if
33 7 7 5 = B
4f
olup,
c = F ( f ) = 1
4 B
4f = 1 4 y elde ederiz.
Yukar¬da özetlenen i¸slemler H¬zl¬Fourier yöntemininin bir ad¬m¬n¬
olu¸sturmaktad¬r.
H¬zl¬Fourier Dönü¸sümü
Bu durumda
y = 2 6 6 4
y
0y
1y
2y
33 7 7 5 =
2 6 6 4
f
0+ f
1+ f
2+ f
3f
0if
1f
2+ if
3f
0f
1+ f
2f
3f
0+ if
1f
2if
33 7 7 5 = B
4f
olup,
c = F ( f ) = 1
4 B
4f = 1 4 y elde ederiz.
Yukar¬da özetlenen i¸slemler H¬zl¬Fourier yöntemininin bir ad¬m¬n¬
olu¸sturmaktad¬r.
H¬zl¬Fourier Dönü¸sümü
Bu durumda
y = 2 6 6 4
y
0y
1y
2y
33 7 7 5 =
2 6 6 4
f
0+ f
1+ f
2+ f
3f
0if
1f
2+ if
3f
0f
1+ f
2f
3f
0+ if
1f
2if
33 7 7 5 = B
4f
olup,
c = F ( f ) = 1
4 B
4f = 1 4 y elde ederiz.
Yukar¬da özetlenen i¸slemler H¬zl¬Fourier yöntemininin bir ad¬m¬n¬
olu¸sturmaktad¬r.
H¬zl¬Fourier Dönü¸sümü
Bu durumda
y = 2 6 6 4
y
0y
1y
2y
33 7 7 5 =
2 6 6 4
f
0+ f
1+ f
2+ f
3f
0if
1f
2+ if
3f
0f
1+ f
2f
3f
0+ if
1f
2if
33 7 7 5 = B
4f
olup,
c = F ( f ) = 1
4 B
4f = 1 4 y elde ederiz.
Yukar¬da özetlenen i¸slemler H¬zl¬Fourier yöntemininin bir ad¬m¬n¬
olu¸sturmaktad¬r.
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Öteyandan
B
2f
0= 1 1
1 1
f
0f
2= f
0+ f
2f
0f
2i¸sleminin çarpma i¸slemi yapmaks¬z¬n gerçekle¸stirilebilece¼ gine dikkat
edelim
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Birinci sat¬r f
0nün bile¸senler toplam¬, ikinci sat¬r ise bile¸senler fark¬d¬r.
Benzer sonuç B
2f
00için de geçerlidir.
16 adet çarpma i¸slemi ile gerçekle¸stirilebilen B
4f çarp¬m¬, çarpma i¸slemi gerektirmeyen
B
2f
0ve B
2f
00ile sadece y
0ve y
00den y nin elde edilmesi için gerekli 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Yani N
2= 16 i¸slem , 2
l= N = 4 için l = 2 = log
2( N ) ile
1
2
Nl =
12N log
2( N ) = 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Birinci sat¬r f
0nün bile¸senler toplam¬, ikinci sat¬r ise bile¸senler fark¬d¬r.
Benzer sonuç B
2f
00için de geçerlidir.
16 adet çarpma i¸slemi ile gerçekle¸stirilebilen B
4f çarp¬m¬, çarpma i¸slemi gerektirmeyen
B
2f
0ve B
2f
00ile sadece y
0ve y
00den y nin elde edilmesi için gerekli 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Yani N
2= 16 i¸slem , 2
l= N = 4 için l = 2 = log
2( N ) ile
1
2
Nl =
12N log
2( N ) = 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Birinci sat¬r f
0nün bile¸senler toplam¬, ikinci sat¬r ise bile¸senler fark¬d¬r.
Benzer sonuç B
2f
00için de geçerlidir.
16 adet çarpma i¸slemi ile gerçekle¸stirilebilen B
4f çarp¬m¬, çarpma i¸slemi gerektirmeyen
B
2f
0ve B
2f
00ile sadece y
0ve y
00den y nin elde edilmesi için gerekli 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Yani N
2= 16 i¸slem , 2
l= N = 4 için l = 2 = log
2( N ) ile
1
2
Nl =
12N log
2( N ) = 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Birinci sat¬r f
0nün bile¸senler toplam¬, ikinci sat¬r ise bile¸senler fark¬d¬r.
Benzer sonuç B
2f
00için de geçerlidir.
16 adet çarpma i¸slemi ile gerçekle¸stirilebilen B
4f çarp¬m¬, çarpma i¸slemi gerektirmeyen
B
2f
0ve B
2f
00ile sadece y
0ve y
00den y nin elde edilmesi için gerekli 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Yani N
2= 16 i¸slem , 2
l= N = 4 için l = 2 = log
2( N ) ile
1
2
Nl =
12N log
2( N ) = 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Birinci sat¬r f
0nün bile¸senler toplam¬, ikinci sat¬r ise bile¸senler fark¬d¬r.
Benzer sonuç B
2f
00için de geçerlidir.
16 adet çarpma i¸slemi ile gerçekle¸stirilebilen B
4f çarp¬m¬, çarpma i¸slemi gerektirmeyen
B
2f
0ve B
2f
00ile sadece y
0ve y
00den y nin elde edilmesi için gerekli 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Yani N
2= 16 i¸slem , 2
l= N = 4 için l = 2 = log
2( N ) ile
1
2
Nl =
12N log
2( N ) = 4 adet çarpma i¸slemi ile gerçekle¸stirilmi¸stir.
Kelebek diagram¬ile H¬zl¬Fourier Dönü¸sümü
Kelebek diagram¬ad¬verilen diagramla, yukar¬daki i¸slemler a¸sa¼ g¬daki gibi ¸sematik olarak gösterilebilir:
f
0! y
00: = f
0+ f
2! y
0: = y
00+ w
40y
000% %
f
2& y
10: = f
0f
2! y
1: = y
10+ w
41y
100%
f
1y
000: = f
1+ f
3& y
2: = y
00w
40y
000%
f
3& y
100: = f
1f
3& y
3: = y
10w
41y
100Kelebek diagram¬ile H¬zl¬Fourier Dönü¸sümü
Kelebek diagram¬ad¬verilen diagramla, yukar¬daki i¸slemler a¸sa¼ g¬daki gibi ¸sematik olarak gösterilebilir:
f
0! y
00: = f
0+ f
2! y
0: = y
00+ w
40y
000% %
f
2& y
10: = f
0f
2! y
1: = y
10+ w
41y
100%
f
1y
000: = f
1+ f
3& y
2: = y
00w
40y
000%
f
3& y
100: = f
1f
3& y
3: = y
10w
41y
100Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
f nin çift ve tek indisli bile¸senlere ayr¬ld¬¼ g¬na dikkat edelim.
Daha aç¬kça son sütundan w
4= i için,
y
0: = y
00+ w
40y
000= f
0+ f
2+ f
1+ f
3= f
0+ f
1+ f
2+ f
3y
1: = y
10+ w
4y
100= f
0f
2i ( f
1f
3) = f
0if
1f
2+ if
3y
2: = y
00w
40y
000= f
0+ f
2( f
1+ f
3) = f
0f
1+ f
2f
3y
3: = y
10w
4y
100= f
0f
2( i )( f
1f
3) = f
0+ if
1f
2if
3elde ederiz.
Buradan
y = B
4f ve
c = F ( f ) = 1
4 B
4f = 1
4 y
oldu¼ gu kolayca görülür
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
f nin çift ve tek indisli bile¸senlere ayr¬ld¬¼ g¬na dikkat edelim.
Daha aç¬kça son sütundan w
4= i için,
y
0: = y
00+ w
40y
000= f
0+ f
2+ f
1+ f
3= f
0+ f
1+ f
2+ f
3y
1: = y
10+ w
4y
100= f
0f
2i ( f
1f
3) = f
0if
1f
2+ if
3y
2: = y
00w
40y
000= f
0+ f
2( f
1+ f
3) = f
0f
1+ f
2f
3y
3: = y
10w
4y
100= f
0f
2( i )( f
1f
3) = f
0+ if
1f
2if
3elde ederiz.
Buradan
y = B
4f ve
c = F ( f ) = 1
4 B
4f = 1
4 y
oldu¼ gu kolayca görülür
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
f nin çift ve tek indisli bile¸senlere ayr¬ld¬¼ g¬na dikkat edelim.
Daha aç¬kça son sütundan w
4= i için,
y
0: = y
00+ w
40y
000= f
0+ f
2+ f
1+ f
3= f
0+ f
1+ f
2+ f
3y
1: = y
10+ w
4y
100= f
0f
2i ( f
1f
3) = f
0if
1f
2+ if
3y
2: = y
00w
40y
000= f
0+ f
2( f
1+ f
3) = f
0f
1+ f
2f
3y
3: = y
10w
4y
100= f
0f
2( i )( f
1f
3) = f
0+ if
1f
2if
3elde ederiz.
Buradan
y = B
4f ve
c = F ( f ) = 1
4 B
4f = 1
4 y
oldu¼ gu kolayca görülür
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
f nin çift ve tek indisli bile¸senlere ayr¬ld¬¼ g¬na dikkat edelim.
Daha aç¬kça son sütundan w
4= i için,
y
0: = y
00+ w
40y
000= f
0+ f
2+ f
1+ f
3= f
0+ f
1+ f
2+ f
3y
1: = y
10+ w
4y
100= f
0f
2i ( f
1f
3) = f
0if
1f
2+ if
3y
2: = y
00w
40y
000= f
0+ f
2( f
1+ f
3) = f
0f
1+ f
2f
3y
3: = y
10w
4y
100= f
0f
2( i )( f
1f
3) = f
0+ if
1f
2if
3elde ederiz.
Buradan
y = B
4f ve
c = F ( f ) = 1
4 B
4f = 1
4 y
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Örnek 4
Kelebek diyagram¬ve klasik yöntem ile f = [ 1, 2, 3, 4 ] dizisinin H¬zl¬
Fourier dönü¸ sümünü hesaplay¬n¬z.
Kelebek diyagram¬ile
1 ! y
00: = 1 + 3 = 4 ! y
0: = y
00+ w
40y
000% % = 10
3 & y
10: = 2 ! y
1: = y
10+ w
41y
100% = 2 + 2i 2 y
000: = 6 & y
2: = y
00w
40y
000% = 2
4 & y
100: = 2 4 = 2 & y
3: = y
10w
41y
100= 2 2i için
1 1
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Klasik yöntemle de
c = 1 4
2 6 6 4
1 1 1 1
1 i 1 i
1 1 1 1
1 i 1 i
3 7 7 5
2 6 6 4
1 2 3 4
3 7 7 5 = 1
4 2 6 6 4
10 2 + 2i
2 2 2i
3 7 7 5
elde ederiz.
Kelebek diyagram¬ile H¬zl¬Fourier Dönü¸sümü
Klasik yöntemle de
c = 1 4
2 6 6 4
1 1 1 1
1 i 1 i
1 1 1 1
1 i 1 i
3 7 7 5
2 6 6 4
1 2 3 4
3 7 7 5 = 1
4 2 6 6 4
10 2 + 2i
2 2 2i
3 7 7 5
elde ederiz.
Al¬¸st¬rma 1
1
f = [ 1, 0, 2, 1 ] dizisi verilsin. f nin Ayr¬k Fourier dönü¸ sümünü klasik yöntem ve
kelebek diyagram¬(h¬zl¬Fourier algoritmas¬) yard¬m¬yla hesaplay¬n¬z.
2
f = [ 1, 1, 0, 1 ] dizisi verilsin. f nin Ayr¬k Fourier dönü¸ sümünü klasik yöntem ve
kelebek diyagram¬ile hesaplay¬n¬z.
3