Bir bilgisayar mühendisi için programlama dili, öğrendiklerini sınadığı, deneyler yaptığı bir laboratuardır ve mühendisler deneylerini, kestiremedikleri sonuçları gözlemlemek için değil, öngördükleri sonuçları doğrulamak için yaparlar...

Daha önce hızlı fourier dönüşümü ile ilgili bir yazı yayınlamıştım. Bu yazı da, fourier dönüşümü ile elde edilen frekans verilerini kullanarak genlik-zaman verilerini elde etme yöntemi olan ters fourier dönüşümü ile ilgili.
Aslında "domen" kelimesinden pek hoşlanmadım ama dijital sinyal işlemede sık kullanılan bir terim olduğu için ne ifade ettiğini bilmekte fayda var. Bu terimi örneklerle açıklamak daha kolay. Bir sinyal örneklendiğinde o sinyal ile ilgili zamana bağlı genlik bilgisi elde edilir. Zaman belli aralıklarda ilerlerken, genlik de ona göre değerlere sahip olur. Bu durumda "veriler zaman domenindedir" denir. Ya da örneğin frekans değerleri ilerledikçe her bir değere karşılık gelen genliklerin tutulduğu veriler için "frekans domenindedir" denir. Yani bir fonksiyonun sahip olduğu değişkenin cinsi o fonksiyonun domenini belirler dersek sanırım yanlış olmaz.
Fourier dönüşümü, zaman domeninde bulunan bir sinyali frekans domeninde elde eder. Ters fourier da adından anlaşılacağı gibi bunun tersini yapar.
Ters fourier dönüşüm formülü:
N-1
___
1 \ j(2*(PI)/N)*k*n
--- /__ x[n] e
N n=0
Formül, hızlı fourier dönüşüm formülünün neredeyse aynısı. Detayları, hangi harfin neyi simgelediğini, hızlı fourier dönüşümü ile ilgili yazıda yazdığım için tekrar yazmayacağım. Yalnız şunun vurgulanmasında fayda var; fourier dönüşümünde sanal düzlem üzerinde vektörler elde ediyorduk(a-jb) ve bu vektörlerin uzunluğunu hesaplıyorduk: (a^2+b^2)^(1/2). Ters fouriera vektörün uzunluğunu değil, kendisini göndermemiz gerekiyor. Ters fourier dönüşüm algoritması her vektörün sanal ve gerçel bileşenlerini toplar ve bu toplamı işleme sokar. Yani formülde görülen x[n], elde edilen n. vektörün sanal ve gerçel bileşenlerinin toplamını simgeler.
Yayınlanma Tarihi: 05 Aralık 2009 Cumartesi - 16:27
Anahtar Kelimeler: fourier, dönüşümü, hızlı fourier, ters fourier, örnekler, domen, domain, frequency domain, inverse fourier, transform, IFFT, FFT
Yorumlar ( 4 )
Egemen B.#1
22/12/2010, 01:17
"Ters fouriera vektörün uzunluğunu değil, kendisini göndermemiz gerekiyor." derken bu eksik bilgiyi nasıl tamamlayabileceğimizi anlatabilirseniz sevinirim.
Hüseyin Atasoy#2
22/12/2010, 10:17
"...vektörün uzunluğunu değil, kendisini göndermemiz gerekiyor..." derken şunu kastediyorum:
Normalde fourier dönüşümünde sonuç olarak çok boyutlu sanal vektörler elde ediyoruz ve bu vektörlerin boylarını hesaplıyoruz. İki boyutlu bir vektörün boyu, kendisini meydana getiren bileşenlerin karelerinin toplamının karekökü hesaplanarak elde edilir.
Eğer konuyu doğru anlamışsam fourier dönüşümünde elde edilen vektörlerin sadece boylarını kullanılarak ters fourier dönüşümü gerçekleştirilmez. Çünkü aynı boyda sonsuz farklı vektör vardır. Bir değişiklik yapılıp ardından ters fourier işlemi uygulanacaksa, değişiklik vektörlerin boyları üzerinde değil, vektörlerin kendileri ya da bileşenleri üzerinde yapılmalı. Ama elde edilen vektörlerin sanal bileşenlere sahip olduğu da göz önünde bulundurulmalı.
Mehmet T.#3
28/06/2011, 13:46
Frekans domeninde elde ettiğimiz bilgilerden yaralanarak seçtiğimiz bir frekanstaki sesleri nasıl silebiliriz yada ayırabiliriz. Ters F. dönüşüm yapmadan önce frekans domeninde yapılacak değişiklikler bunu sağlar mı? Nasıl bir değişiklik yapmalıyım? Teşekkürler.
Hüseyin Atasoy#4
28/06/2011, 18:20
Evet, bu mümkün. Ama FFT ile tüm frekans değerlerinin hesaplanması yerine sadece belli frekansları eleyen veya geçiren frekans filtreleri tasarlanabilir...
Yorum/Görüş Bildir