Fourier Dönüşümü ile Bardak Kırmak

Merhaba Arkadaşlar,
Fourier dönüşümünü teorik olarak anlattıktan sonra pratik bir uygulama gerçekleştirmenin konuyu daha kalıcı şekilde öğrenmenizi sağlayacağını düşünüyorum. Bu nedenle bu yazıda Fourier dönüşümünün bir bardağı kırmamıza nasıl yardımcı olabileceği konusuna değineceğim. Evet bu yazıdan sonra kimse matematiğin ve fiziğin gücünün hafife alınmaması gerektiğini öğrenecektir. 🙂

Bu yazıda başlamadan önce frekans uzayından bahsettiğimiz yazıyı buraya tıklayarak okumanızı tavsiye ederim. Şimdi hepinizin muhtemelen benzer bir versiyonunu gördüğü bir video izleyelim.

Video 1. Sesi ile bardak kıran çocuk

İlk başta bardağı kırabilmek için çok şiddetli bir sese ihtiyacımız olduğunu düşünebilirsiniz, ancak videoda görüldüğü gibi çocuk bardağı kırmak için ses tellerine o kadar da çok zorlamıyor. Peki bu durumda bardak nasıl kırılıyor?

Bunu anlayabilmek için lisedeki fizik derslerinde gördüğümüz rezonans kavramını hatırlamamız gerekiyor. Bu kavramı kısaca salınım etkisi altında olan bir sistemin genliğinin sonsuza gitme eğilimi göstermesi olarak tanımlanabilir. Bu etkinin görülmesi için etki eden salınımın frekansının sistemin doğal frekansına eşit olması gerekir.

Bu tanıma göre bardağı kırabilmek için yüksek şiddetli bir sese değil de uygun frekanslı bir sese ihtiyacımız olduğunu anlıyoruz. Peki ihtiyacımız olan frekansı nasıl öğreneceğiz? Burada yardımımıza fourier yetişiyor. 🙂 Daha önce fourier dönüşümü ile frekans uzayında inceleme yapabildiğimizi söylemiştik. Bu tam da rezonans frekansını bulabilmek için ihtiyacımız olan şey. Şimdi kırmak istediğimiz bardağa çay kaşığı ile vurarak ses kaydı yapalım.

Ses Dosyası 1. Vuruş frekansı yüksek kayıt

Bu ses kaydının frekans analizini Matlab programını kullanarak gerçekleştirelim. Neden Matlab diye soracak olursanız ilk sebep analizin çok kolay yapılabilmesi, ikinci sebep ise alışkanlık. 🙂 Aşağıda analiz için yazdığım kodları ve Şekil 1’de Ses Dosyası 1 için oluşan program çıktısını görebilirsiniz.

clc; clear; close all; 
% Zaman ve frekans eksenleri -------- 
Fs = 16000; 
T  = 5; 
t  = 0:1/Fs:T-(1/Fs); 
len= length(t); 
f  = 0:Fs/len:Fs/2; 

% Ses kaydinin yapilmasi ------------ 
myRecObj = audiorecorder(Fs, 16, 1); 
recordblocking(myRecObj, T); 
rec = getaudiodata(myRecObj); 

% Fourier donusumunun alinmasi ------ 
recFourier = fft(rec); 
P2 = abs(recFourier/len); 
P1 = P2(1:len/2+1); 
P1(2:end-1) = 2*P1(2:end-1); 

% Gorsellestirme -------------------- 
subplot(2,1,1); 
plot(t,rec); 
xlabel("Zaman [sn]"); ylabel("Genlik"); 
subplot(2,1,2); 
plot(f,P1); 
xlabel("Frekans [Hz]"); ylabel("Genlik");
Şekil 1. Ses Dosyası 1 için program çıktısı

Burada görüldüğü gibi kaydettiğimiz seste iki frekans oldukça baskındır. Bunlar birinci ve ikinci rezonans frekanslarıdır. Şimdi bu sonuçların  bardağa vuruş sıklığına göre değişip değişmediğini merak edebilirsiniz. Bunu ben de merak ettim ve bardağa bu kez daha seyrek vurarak programı tekrar çalıştırdım. Bu durumdaki çıktı Şekil 2’de görülmektedir.

Ses Dosyası 2. Vuruş frekansı düşük kayıt
Şekil 2. Ses Dosyası 2 için program çıktısı

Gerçekten büyüleyici değil mi? 🙂 Sonuçta net olarak bardağımızın (benim kullandığım bardak için) birinci rezonans frekansının 2769Hz olduğu öğrenmiş olduk. Şimdi bu bardağı kırabilmek için tek yapmamız gereken bu frekansta bir ses üretmek olacaktır. Bunu yine Matlab ile kolaylıkla yapabiliriz. 

clear; clc; close all; 
% Ses verisinin uretilmesi ---- 
Fs = 16000; 
T = 5; 
t = 0:1/Fs:T-(1/Fs); 
f = 2769; ses= sin(2*pi*f*t); 

% Uretilen sesin calinmasi ---- 
sound(ses, Fs);

Ben harici bir hoparlör kullanmadığım ve kırılan bardağın parçalarının laptobumun klavyesinin arasına girmesini istemediğim için denemeyi biraz uzaktan yaptım. Galiba bu nedenle bardağı kıramadım. 🙂 Ancak harici bir hoparlör bulduğumda bunu tekrar deneyeceğimi söyleyebilirim. Eğer sizin deneme fırsatınız varsa sonucu yorum olarak yazarsanız sevinirim. Böylelikle bir garip uygulama yazısının sonuna geldik. Yakın zamanda görüşmek üzere. 🙂

“Fourier Dönüşümü ile Bardak Kırmak” için 8 yanıt

  1. Kırılan parçaların laptop klavyesine kaçmaması için, kısa süreliğine klavye üstünü bir bez ya da poşet ile kapatabilirsiniz🤔

    1. Evet yapabilirdim ancak bir anne için çocuğu neyse bir mühendis için de bilgisayarı o dur. Bu nedenle çocuğumun yakınında bir bardağın kırılmasını istemedim. 🤓 Dediğim gibi harici bir hoparlör bulduğumda ilk yapacağım şeyin hoparlörü bilgisayara bağlamak ikinci şeyin ise bunu denemek olacağına emin olabilirsiniz. 😊

  2. Bunu en kısa zamanda beni bilgisayarımda denemeliyiz 🙂 Güzel bir yazı olmuş böyle ilgi çekici yazıların devamını bekliyoruz.

    1. Teşekkür ederim efendim. Vakit buldukça bir şeyler yazmaya çalışıyorum. Elektronik haberleşmeye olan bakış açınızı bir miktar değiştirebildiysem ne mutlu bana 😅

  3. Abi ben yapmak istiyorumda bende matlab yok. Başka bir yolu varmıdır bardağın frekansını ölçüp o frekansta ses oluşturabileceğimiz basit bir program?

    1. Merhaba Ali,
      Evet bu işlemi herhangi bir programda yapabilirsin. Şuan benim elimde bu programın farklı bir dildeki hali yok. Ancak python ile aynı programı kolaylıkla yazabileceğini düşünüyorum. Sadece mikrofona ve hoparlöre işleminin nasıl gerçekleştiğini, fourier dönüşümünün nasıl yapıldığını araştırırsan programı oluşturabilirsin. Sorun yaşaman durumunda benimle iletişime geçebilirsin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir