Fourier dönüşümü

Erdem⁣

Paylaşımcı üye
Katılım
14 Ocak 2013
Mesajlar
713
Puanları
106
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.
 
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.
 
Guzel bir çalışma, teşekkürler.
Konuyla ilgili olmayabilir belki bazı cihazlar var piyasada, bir hayvanın kaydedilmiş sesini insanin duyamayacagi forma dönüştürüp hayvanin duymaya devam etmesini sagliyor. Ultrasonik frekansa donuşturucu devreler sanirim.
 
Sunucuyu kapattık.

Ancak uygulamanın kaynak kodunu artık açık olarak paylaşıma açtık.

https://bitbucket.org/zayifakimkolu/programlama

fourier.py ismi ile bulabilirsiniz.

Aslında bu bir soru cevap sunucu uygulaması.

Meraklı olup da kurulumda yardım isteyen yazabilir.
 

Forum istatistikleri

Konular
129,867
Mesajlar
930,872
Kullanıcılar
452,732
Son üye
erencok

Yeni konular

Geri
Üst