Fourier dönüşümü

  • Konbuyu başlatan Erdem⁣
  • Başlangıç tarihi

Erdem⁣

Katılımcı Üye
Katılım
14 Ocak 2013
Mesajlar
696
Puanları
58
Daha önce Fourier dönüşümünün matematiksel yönüyle ilgili kısaca bir ileti göndermişim.

Merak etmeyin, bu sefer Fourier dönüşümünün pratikte kullanımından bahsetmeye çalışacağım.

Öncelikle Hızlı Fourier dönüşümü ("Fast Fourier Transform") bu matematiksel işlemi yapan algoritmaya verilen ad. Ayrık Fourier dönüşüm ("Discrete Fourier Transform") ise yapılan matematiksel işlemin kendisi. Bu noktaya dikkatinizi çekmek istiyorum.

İnsan kulağı 20 Hz ile 20 KHz aralığındaki sesleri duyabiliyor.

Hz saniyedeki titreşimi, diğer bir ifadeyle bir işaretin sıklığını gösteriyor. Örneğin 1Hz sıklığında bir işaret denildiğinde saniyede sadece 1 kere titreşim yaptığını ön görebiliriz.

Daha önce gördünüz mü bilemiyorum. Sapana benzeyen, çatal şeklinde metalden yapılmış bir alet var. Bu metal parçasını sert bir zemine ya da duvara vurduğunuzda bir ses çıkartır. Saniyede 440 kere titreşim yapar.

Bu Batı Müziğinde La sesine (A) tekabül eder. Türk Müziğinde ise bu ses Re sesine karşılık gelir.

Bu metal parçası müzisyenler tarafından bazı enstrümanları akord etmek için kullanılır.

Gene şimdi kaldı mı bilemiyorum. Ev telefonları da bu sesi veriyordu.

Saniyede 440 kere titreşim yaptığına göre bu işaretin sıklığı 440 Hertz'dir.

İnsanların duyabildiği seslerin üst eşiğinin saniyede 20.000 Hz olduğundan bahsetmiştik.

Nyquist kuramına göre işaretleri sağlıklı olarak ifade edebilmek için saniyede bunun en az iki katı örnek almak gerekiyor. Yani insanların duyabildiği bir sesi kaydedebilmek için en az saniyede 40.000 örnek almalıyım.

Bu temel bilgilerden sonra konumuza dönebiliriz. Saniyede 44100 tane örnek almak istiyoruz.

İki tane işaretimiz var. İlkinin sıklığı 50 Hz, genliği (tepe noktası) ise 0.7 volt. İkincisinin sıklığı 120 Hz, genliği ise 1 volt.

Bu iki işareti toplayıp bir de üzerlerine gürültü eklemek istiyorum. Zaman aralığımız 1 saniye.

fourier1.png
Burada sadece işaretlerin kendisi var. Henüz gürültü eklenmemiş. Ama neler olduğu pek belli olmuyor.

fourier2.png
Aman o da ne. Bu da işaretlere gürültü eklenmiş hali.
fourier3.png
Şimdi Fourier dönüşümünü aldık. Ama burada aslında aralık ikiye bölünüyor. Bir tarafta da bir aynanın yansıması gibi eksi değerler oluşuyor. Biz sadece artı değerleri aldık.

Belki Nyquist kuramının iki katı örnek almamızı önermesinin nedeni budur. Çünkü aralık ikiye bölünüyor.

Baktığımız zaman işaretlerin tepe noktalarını görebiliyoruz. Ama frekanslar çok belli değil. Belki daha iyisini yapabiliriz.

Şimdi zaman aralığını 100 mili saniyeye düşürüyorum.

fourier4.png
Artık sinüs işaretlerini görebiliyoruz. Bunlar gürültü eklenmeden ve birbirine eklenmeden önceki sinüs işaretleriydi.

fourier5.png
Gürültü eklendikten sonra güzelim işaretimiz ne hale gelmiş.
fourier6.png
Fourier dönüşümü aldık ve artık gürültü eklediğimiz işaretlerin sıklığını buradan net bir şekilde görebiliyoruz.

Buradaki diğer frekanslardaki dalgalanmalar ise eklediğimiz gürültüyü gösteriyor.
 
Konu Sah
Erdem⁣

Erdem⁣

Katılımcı Üye
Katılım
14 Ocak 2013
Mesajlar
696
Puanları
58
Daha önce iki işaretin Fourier dönüşümünü alacak şekilde yazdığım yazılımın şimdi sunucu üzerinde çalışacak sürümünü geliştirmeye çalışıyorum.

Yani kullanıcı etkileşimli olarak bu işaretleri oluşturup, sonuçlarını görebilecek.

Düşünün sıklığı 10 Hz ve genliği 1 volt olan bir işaretimiz olsun. Bu işarete sıklığı 30 Hz ve genliği 1/3 volt olan başka bir işaret ekliyorum. Tekrardan sıklığı 50 Hz ve genliği 1/5 volt olan başka bir işaret ekliyorum.

Desen gördüğünüz gibi bu şekilde

1, 3, 5, 7, 9, 11 ...

Her seferinde ilk işaretin sıklığını bu sayılarla çarpıp, genliğini ise bu sayılara bölüp işaretleri topluyorum.

Birbiri ile topladığımız işaretler sinüs şeklinde işaretler.

Ama bunları topladığınızda ortaya çıkan sonucu aşağıda görebilirsiniz. İşaret zamanla bir kare dalga haline geliyor.

Bunları ben elle ekledim ;)
toplam.png

Yazılımsal olarak bilgisayara daha fazla işaret ekletse idik bu işaret daha fazla kare dalgaya benzeyecekti.
fourier.png
Sanırım 7 tane işaret eklemişiz. Fourier dönüşümü ile bunu görebiliyoruz.
 
Konu Sah
Erdem⁣

Erdem⁣

Katılımcı Üye
Katılım
14 Ocak 2013
Mesajlar
696
Puanları
58
Daha önce iki işaretin Fourier dönüşümünü alacak şekilde yazdığım yazılımın şimdi sunucu üzerinde çalışacak sürümünü geliştirmeye çalışıyorum.

Uygulama yayında. Kendiniz test edebilirsiniz ;)

https://programlama.tk/uygulamalar/fourier
 

Yeni mesajlar

Forum istatistikleri

Konular
114,200
Mesajlar
803,716
Kullanıcılar
418,476
Son üye
Kadir Çalışkanelli

Yeni konular

Üst