Ayrık Fourier dönüşümü
Ayrık Fourier Dönüşümü (İngilizce: DFT, Discrete Fourier Transform), Fourier analizinde kullanılan özel bir Fourier dönüşümüdür.
Tanım
şeklinde bir dizi verilmiş olsun. Bu dizinin Ayrık Fourier dönüşümü
ve Ters Fourier dönüşümü ise
şeklindedir. Yukarıdaki eşitliklerde görünen aşağıdaki gibidir.
Ayrık Fourier dönüşümü ile elde edilen katsayıları karmaşık sayılardır. Ancak öğesi gerçeldir. Geri kalan karmaşık sayılar aşağıdaki bağıntıya göre birbirlerinin eşlenikleridir.
Ayrık zamanlı Fourier dönüşümü
Ayrık zamanlı Fourier dönüşümü (DTFT), ayrık zamanlı sinyal işleme algoritma ve sistemlerinin analizi, tasarımı, gerçekleştirilmesi ile doğrusal filtreleme, korelasyon analizi ve spektrum analizi gibi sinyal işleme uygulamalarında önemli bir rol oynar. DTFT’nin bu öneme sahip olmasının ardındaki temel neden DTFT’yi hesaplamakta kullanılan verimli algoritmaların varlığıdır[1][2].
DTFT, Fourier dönüşümünün eşit aralıklı frekanslardaki örneklerine özdeştir. Sonuç olarak N-noktalı bir DTFT’nin hesaplanması Fourier dönüşümünün N örneğinin, N eşit aralıklı frekanslarla (w_k=2*pi*kn), z-düzlemindeki birim çember üzerinde N nokta ile hesaplanmasına karşılık gelir. Burada temel amaç N-noktalı DTFT’nin hesaplanması için verimli algoritmaların kullanılmasıdır. Bu algoritmalar ortak olarak hızlı Fourier dönüşümü (FFT) algoritmaları adını alır. En yüksek verimin elde edilebilmesi için FFT algoritmaları DTFT’nin N değerlerinin hepsini hesaplamalıdır.
Bir algoritmanın ya da gerçeklemenin karmaşıklığını ve verimini ölçmenin birçok yolu vardır. Bunun sonucundaki final değerlendirme hem mevcut teknolojiye hem de uygulamaya bağlıdır. Hesaplama karmaşıklığını ölçmek için aritmetik çarpma ve toplamaların sayısı kullanılacaktır[1]. Algoritmalar, genel amaçlı dijital bilgisayarlarda ya da özel amaçlı mikroişlemcilerde gerçekleştirildiklerinde hesaplama hızı, çarpma ve toplamaların sayısıyla doğrudan ilişkilidir.
Hızlı Fourier Dönüşümü (İngilizce: FFT, Fast Fourier Transform), bir zaman domeni sinyalini eşdeğer frekans domeni sinyaline dönüştürmekte kullanılan DTFT (İngilizce: Discrete Fourier Transform - Ayrık Fourier Dönüşümü) tabanlı verimli bir algoritmadır. Bu bölümde çeşitli gerçek zamanlı FFT örnekleri gerçekleştirilecektir.
Hızlı Fourier Dönüşümü algoritması, Nkompleks noktalı bir data serisinin sonlu Fourier dönüşümünü yaklaşık Nlog2N işlemle hesaplayan bir metottur[3]. Algoritmanın gerçekten de büyüleyici bir tarihi vardır. Bu algoritma, 1965’te James Cooley ve John Tukey tarafından açıklandığında[4], Fourier analizinin N^2 işlemle orantılı olan ve orantı faktörünün trigonometrik fonksiyonların simetri özellikleri kullanılarak azaltılabileceğine inanan birçok kişi tarafından büyük ilgi topladı. O yıllarda N^2 işlemli metotları kullanan bilgisayarlar yüzlerce saatlik bir işlem süresine ihtiyaç duymaktaydı. Cooley ve Tukey’in makalesinin etkisiyle Rudnick, 1942’de Danielson ve Lanczos’un önerdiği bir metodu geliştirerek Nlog2N sayıda işlem yapan kendi bilgisayar programını tanımladı.
Cooley ve Tukey’in hızlı Fourier dönüşümü algoritması N kompozit (yani iki ya da daha fazla sayının çarpımı gibi) veya 2’nin bir kuvveti olmadığında bile uygulanabilir olmasından dolayı genel bir algoritmadır. Eskiden saatlerce süren hesaplamalar Cooley ve Tukey’in algoritması ile dakikalar içerisinde gerçekleştirilebilir bir hale gelmiştir[4].
Trigonometrik fonksiyonların hem simetri hem de periyodiklik özelliğini kullanan hesaplama algoritmaları, yüksek hızlı dijital bilgisayarlar çağının çok daha öncesinde bilinmekteydi. O zamanlarda manüel hesaplamayı 2 kat dahi azaltacak yeni bir düzen bile literatürde yerini almaktaydı. Runge 1905’te ve daha önce bahsedildiği üzere Danielson ve Lanczos da 1942’de N^2 işlem yerine Nlog2N ile orantılı sayıda işlem yapan algoritmaları tanımlamışlardı. Fakat ta ki 1965’te Cooley ve Tukey ayrık Fourier dönüşümünü hesaplamak için algoritmalarını yayınlamadan önce oldukça azaltılmış hesap yükü elde etme olasılığı görmezlikten gelinmişti. Bu makale, ayrık Fourier dönüşümünün sinyal işlemedeki uygulamalarını ve oldukça verimli hesaplama algoritmalarının bulunmasını tetikledi.
DTFT, zaman alanı dizisini eş değer frekans alanı dizisine çevirir. Ters DTFT ise geri işlemi gerçekleştirerek frekans alanı dizisinden eş değer zaman alanı sinyali geri elde eder. FFT, DTFT’ye göre daha az hesap yapmasına karşın oldukça verimli bir algoritma tekniğidir. FFT DSP’de frekans spektrum analizi için en yaygın olarak kullanılan operasyondur. FFT algoritmaları, uzunluğundaki bir dizinin ayrık Fourier dönüşümü hesabını daha küçük DTFT’lere ayrıştırma temel prensibine dayanmaktadır[1]. Bu temel prensip çeşitli farklı algoritmalarla gerçekleştirildiğinde hesaplama hızında kayda değer bir artış elde edilmektedir. Bir FFT’yi hesaplamak için iki farklı prosedür uygulanmaktadır. Bunlar; x[n] zaman dizisinin daha küçük alt dizilere bölündüğü zamanda desimasyon (örnek seyreltme) ve ayrık Fourier dönüşümü dizisi katsayıları X[k]’nın daha küçük alt dizilere ayrıştırıldığı frekansta desimasyon algoritmalarıdır. FFT’in Ayrık Kosinüs dönüşümü (İngilizce: DCT, Discrete Cosine Transform), Goertzel algoritması ve Hızlı Hartley dönüşümü (İngilizce: Fast Hartley Transform) gibi birkaç varyasyonu da kullanılmaktadır. Özellikle son yıllarda DCT, sağladığı yüksek sıkıştırma oranı sayesinde gerçek zamanlı uygulamalarda tercih edilmektedir[5].
Kaynakça
- Oppenheim A. V. , Schafer, R.W., Discrete-Time Signal Processing, 2nd Ed., Prentice-Hall, Inc., Upper Saddle River, NJ, 1999
- Proakis, J.G., Manolakis, D.G., Digital Signal Processing, Principles, Algorithms and Applications, 4th Ed., Prentice-Hall, Upper Saddle River, NJ, 2007
- Cooley, J.W., Lewis, P.A.W., Welch, P.D., Historical Notes on the Fast Fourier Transform, IEEE Trans. Audio Electroacoustics, Vol. AU-15,pp. 76-79, June 1967
- 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
- Gonzalez, R.C., Woods R.E., Digital Image Processing, 2nd Ed., Prentice Hall, Upper Saddle River, NJ, 2002
Ayrıca bakınız
Dış bağlantılar
- Matlab tutorial on the Discrete Fourier Transformation 15 Aralık 2012 tarihinde Wayback Machine sitesinde arşivlendi.
- Interactive flash tutorial on the DFT
- Mathematics of the Discrete Fourier Transform by Julius O. Smith III 14 Temmuz 2006 tarihinde Wayback Machine sitesinde arşivlendi.
- Fast implementation of the DFT - coded in C and under General Public License (GPL) 25 Eylül 2019 tarihinde Wayback Machine sitesinde arşivlendi.
- The DFT “à Pied”: Mastering The Fourier Transform in One Day 23 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
- Explained: The Discrete Fourier Transform