Hızlı Fourier dönüşümü

testwiki sitesinden
11.52, 12 Aralık 2022 tarihinde imported>VectorVoyager tarafından oluşturulmuş 679 numaralı sürüm (görsel ekle)
(fark) ← Önceki sürüm | Güncel sürüm (fark) | Sonraki sürüm → (fark)
Gezinti kısmına atla Arama kısmına atla
İkiye bölmeli bir FFT örneği
Kosinüs dalgalarının toplamının ayrık Fourier analizi (10, 20, 30, 40 ve 50 Hz)

Hızlı Fourier dönüşümü (Fast Fourier Transform–FFT) bir dizinin ayrık Fourier dönüşümünü (DFT) ya da ters ayrık dönüşümünü hesaplayan bir algoritmadır. Fourier analizinde bir sinyal bulunduğu uzaydaki (genellikle zaman uzayı) gösteriminden frekans uzayıki gösterimine ya da tersine dönüştürülür. DFT'de ise ayrık veri dizileri farklı frekans öğelerine ayrılır.[1] Bu operasyon her ne kadar birçok alanda kullanışlı olsa da, doğrudan formüllerle hesabı hızlı ve pratik değildir; bu nedenle DFT hesabı için FFT algoritmaları kullanılmaktadır.

Aynı sinyalin zaman (yukarıdaki) ve frekans (alttaki) bazlı grafikleri. Alttaki grafik, üsttekinin Fourier dönüşümü ile oluşturulabilir.

FFT algoritmaları DFT dönüşüm matrisinin seyrek matrislere ayrıştırılması ile çalışır.[2] Bu şekilde DFT'nin karmaşıklığı O(N2)'den O(NlogN)'e düşürülebilmektedir; burada N veri boyutunu ifade eder. Veri boyutunun binler veya milyonlar mertebesinde olması durumunda FFT standart DFT'den çok daha hızlı çalışır. Yuvarlama hatası olması durumunda ise birçok FFT algoritmasının daha doğru sonuç verdiği belirtilebilir. Karmaşık sayı, grup teorisi ve sayılar teorisi temelli birçok farklı FFT algoritması bulunmaktadır. En yaygın FFT yöntemi Cooley–Tukey FFT algoritmasıdır.

FFT algoritmaları mühendislik, bilim, matematik ve müzikte sıklıkla kullanılmaktadır. Her ne kadar temelleri 1965'te popülerlik kazanmış olsa da, bazı temel yöntemlerinin geliştirilmesi 1805 yılına kadar dayanmaktadır.[1] Matematikçi Gilbert Strang, 1994 yılında FFT'yi "insan hayatındaki en önemli sayısal algoritmalardan biri" olarak tanımlamıştır.[3][4] IEEE'nin Computing in Science & Engineering dergisi ise FFT'ye "20. Yüzyılın En Önemli 10 Algoritması" listesinde yer vermiştir.[5]

Farklı programlama dillerinde FFT

Dil Komut/Fonksiyon Önkoşullar
R stats::fft(x) Yok
Octave/MATLAB fft(x) None
Python fft.fft(x) numpy
Mathematica Fourier[x] None
Julia fft(A [,dims]) FFTW

Ayrıca bakınız

Kaynakça

Şablon:Kaynakça

Dış bağlantılar

Şablon:Matematik-taslak

Şablon:Otorite kontrolü

  1. 1,0 1,1 Kaynak hatası: Geçersiz <ref> etiketi; Heideman_Johnson_Burrus_1984 isimli refler için metin sağlanmadı
  2. Kaynak hatası: Geçersiz <ref> etiketi; Loan_1992 isimli refler için metin sağlanmadı
  3. Kaynak hatası: Geçersiz <ref> etiketi; Strang_1994 isimli refler için metin sağlanmadı
  4. Kaynak hatası: Geçersiz <ref> etiketi; Kent_2002 isimli refler için metin sağlanmadı
  5. Kaynak hatası: Geçersiz <ref> etiketi; Dongarra_Sullivan_2000 isimli refler için metin sağlanmadı