Ayrık Fourier dönüşümü

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ü (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.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. 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ü (), bir zaman domeni sinyalini eşdeğer frekans domeni sinyaline dönüştürmekte kullanılan DTFT ( - 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. 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, 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.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. 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ü (), Goertzel algoritması ve Hızlı Hartley dönüşümü () 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.