Merhaba,
Ayrık zamanlı Fourier dönüşümü (DFT), 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.
DFT’nin bu öneme sahip olmasının ardındaki temel neden DFT’yi hesaplamakta kullanılan verimli algoritmaların varlığıdır.
DFT, Fourier dönüşümünün eşit aralıklı frekanslardaki örneklerine özdeştir. Sonuç olarak N-noktalı bir DFT’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ı DFT’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ı DFT’nin N değerlerinin hepsini hesaplamalıdır.
Hızlı Fourier Dönüşümü (FFT-Fast Fourier Transform), bir zaman domeni sinyalini eşdeğer frekans domeni sinyaline dönüştürmekte kullanılan DFT (Discrete Fourier Transform – Ayrık Fourier Dönüşümü) tabanlı verimli bir algoritmadır.
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’de Cooley ve 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’de 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’de 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.
DFT, zaman alanı dizisini eş değer frekans alanı dizisine çevirir. Ters DFT ise geri işlemi gerçekleştirerek frekans alanı dizisinden eş değer zaman alanı sinyali geri elde eder.FFT, DFT’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 DFT’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 DCT (Ayrık Kosinüs Dönüşümü – Discrete Cosine Transform), Goertzel algoritması ve Hızlı Hartley Dönüşümü (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.
FFT :
Burada WnN/2 terimi k’ye yani giriş işaretine bağlı değildir. Bu durumda, onceden hesaplanabilmesi için, W katsayı ifadesinin trigonometrik karşılığını yazarsak:
Genel anlamda gelen işaretin frekans moduna dönüştürme işlemlerini inceledikten sonra.
Fiziki ortamdan gelen işaret ortamda hali hazırda varolan işaretler karışaçağından elimizde bizim istediğimizden kısmen farklı bir işaret bulunacaktır.
Dışarıdan bizim işaretimize karışan işaretler gürültü olarak ifade edilir. İşaret üzerinde istediğimiz sonuçları elde edebilimemiz için işaretteki gürültüleri elimizden geldiği kadarıyla elimine etmeliyiz. Elimizden geldiği kadar diyorum çünkü gürültüyü sıfıra indirmek pratikte mümkün değildir.
Şimdi işaret işlemede gürültü elimine etmek için kullanılan filtre tekniklerine deyinip ve son olarak bizim uygulamada kullandığımız filtreye gireceğiz.