Mikrofondan gelen sesin frekansını ölçmek?

Başlatan samuray84, 24 Şubat 2012, 16:06:59

samuray84

Arkadaşlar merhaba, bu pic olaylarına gireli fazla olmadı, bilgisayar kökenli olduğumdan tek hakim olduğum şey c, o yüzden ccs c ile birşeyler kurcalıyorum ama elektronik devreler ve entegreler konusunda biraz cahilim...

ben frekans ölçmek için devre ve kod buldum ama osilatör bağlayarak ölçmek için devreler... ama o devreye preamfili mikrofon bağladığımda tepki vermiyor. preamfinin cıkışını kulaklığa filan verdiğimde sesi duyuyorum ancak ölçtüğümde ne akım ne voltaj hiçbişey ölçmüyor.

TL071 entegresi var, 12 volt giriyorum. Acaba sesi bi şekilde cok daha fazla mı yükseltmem gerekiyor, ya da ses sinyalini girip dijital çıkış alabileceğim bir entegre ( varsa tabi) mi gerekiyor bilemedim, içinden de cıkamadım.

devrenin amacı tuner yapmak. Yani gitar akord etmek için telden doğru notanın gelip gelmediğini kontrol edecek.


Kabil ATICI

Ses devrelerinde analiz yapmak biraz farklı bir konudur. Sayısal devrelerde iş kolay,gerilim vardır veya yoktur. Analog devrede ise her şey olabilir.


ses devresinin dijital voltmetre ile ölçemeyeceğin gibi (analog ibreli ölçü aleti ile ) görebileceğin tek alet osilaskoptur.
Ses devreleri ile frekans analizi için spekturum analiz devresi gerekir. Çünkü çıkışta ölçtüğün veya gördüğün muhtemelen birleşik bir  frekanstır. Bunu frekansmetre ile ölçsen bile en güçlü olan sinyali ölçersin.

Bu frekans analiz devreleri için hızlı Fourier dönüşümü veya  Goertzel  algoritmasını kullanan devreleri internet üzerinde bulabilirsin. Bu tip devreler telefon tuşlarındaki ses bileşenlerini bulmak içinde kullanılmaktadır.
ambar7

cemilkendir

selamlar

büyük ihtimalle bulduğun devre ve kod sabit frekanslı sinyalleri ölçmek için dir ama ses sadece tek bir frekans barındırmaz içerisinde bir çok harnomik frekanslar vardır.

Fourier transform algoritmalarına bakın sesi picin adc sine gireceksiniz daha sonra bu bahsettiğim forurier ile girişdeki sinyalin içeridiği frekans bileşenlerini bulacaksın
sen yaptın mı diye sorarsan hayır ama bu şekilde yapıldığını biliyorum

ccs c nin driver dosyalarında "fft.c" (fast Fourier transform) dosyası vardı  onu kullanabilirsin hatta birde example program vardı belki yardımcı olur.

birde merak ettim neden kendin yapıyorusun bu cihazlar zaten çok ucuz ama amaç öğrenmekse tebrik ederim genelde yeni başlayan led yakıp söndürür  :)

kolay gelsin

samuray84

cevaplar için teşekkü ederim dostlar, fft 'yi araştırmaya ilk başladığımda duymuştum, ancak fft olmadan da yapılabilcek bişey benim istediğim. Ben frekansı ölçme kısmında takılmıyorum, daha o kısma gelemedim cünkü öncelikle ölçmem gereken frekans olması gerekiyor:)

yani asıl sorum, sesi ölçülebilir bi analog  veya dijital sinyale cevirme işini nasıl yapabilirim? çünkü preamfiden cıkan sinyal her neyse ne voltaj ne akım ölçebiliyorum, yada ölçmek icin farklı bir teknik mi var acaba?

yamak

LM386 gibi opamp ile sinyali yükseltebilirsiniz

samuray84

tl071 var, o da opamp ama hala amacıma ulaşamadım

Kabil ATICI

Opamplar ile analog band  filtreler ile yapabilirsin. ince hesap kitap gerektirir...
ambar7

samuray84

dostum amaç filtre yapmak da değil, sadece frekans hesaplamak istiyorum, yanılmıyorsam da çok zor birşey istemiyorum, ama nedense bu konuda kaynak bulamıyorum. Bu sitede de bu konuyla uğraşan olmamış sanırım, en azından kaynak gösterebilecek olan var mı? Sadece bir elektret mikrofondan gelen sesin frekansını hesaplatmak istiyorum.

bunu picin önüne bi adc mi opamp mı optocoupler mi koymak lazım ya da her neyse, pic'te hesap yaptırabileceğim bi sinyale nasıl cevirebilirim?

cemilkendir

biz yardım etmeye çalışıyoruz neden inanmıyorsun
bir devre şeması koymamışsın programını yazmamışsın bundan daha öte nasıl yardım edelim sana

ayrıyetten ses frekansı dediğin şey ölye sinyal jenaratöründen gelen tek bir frekans bileşeni olan bir işaret değildir
içerisinde bir çok farklı frekansda ses vardır yani bir tek frekans değil bir bandı kapsar

işte burada fft algoritmasını kullanarak bu band içerisindeki frekansları ve bu frekansların gücünü bulabiliriz

önemle belirtirim devre şeması koyman lazım yoksa kimse daha fazla bişey söyleyemez

Klein

Standart bir mikrofon preamplifikatörü senin işini görür. Amplifikatör girişine takılan bildiğimiz mikrofon preamplifikatörü. 
Bu amplifikatörün çıkışını ya komparatör ile ya da yüksek kazançlı bir amplifikatör ile dijitale çevirirsin. 
Arkadaşlar sesin özelliklerinden bahsetmiş. bu konuya girmeyeceğim.
Gitar akortu için kullanacağını söylemişsin. Gitar telinden çıkan seslerin frekans bileşimleri hakkında fikrim yok. Seni yanıltmış olmak istemem ama baskın sesin tek frekasta olacağını tahmin ediyorum.

z

#10
Amacın gitar tellerini doğru notaları verecek şekilde ayarlamak ise işi çok karmaşıklaştırmaya gerek yok. FFT gibi sinyalişleme tekniklerine  gerek kalmayabilir.

Sesi öncelikle digital formata çevirmek gerekiyor. İnternette aşağıdaki gibi bir çalışma buldum.

http://www.google.com.tr/url?q=http://www.picaxe.com/docs/picaxe_sound.pdf&sa=U&ei=qPlNT-vQGM-JhQfH0KEW&ved=0CC8QFjAI&usg=AFQjCNGVVgjL50LlWXtX-gYbWZMoKrPxKA

Q2 nin collektöründen sonra gelen devreyi kurma. (D1, C4, Q3 ve R8 olmasın)

Q2 Kollektorunu işlemcinin int kabul eden pinlerinden birisine gir.

Sistem nasıl çalışacak.

Gitar saf sinüsel bir ses değildir. Ana sinyale ilave olmuş pek çok sinüs içerir. Fakat tellerin ayarlamasını  telin ürettiği sesin ana bileşene göre yaparız. Yani harmonikler bizi ilgilendirmez.

Ses belli bir seviyeye yükseltilip komparatörle kırpılırsa ana sinyalin 1-0 geçişleri elde edilir. Bunun frekansını  timer ile klasik usullerle öğrenebilirsin.

Devreyi denemedim. Verdiğim şema kesin işini görür diyemiyorum. Normalde opamp ile elektret mikrofon sinyali kolayca 3..4 vol seviyelerine yükseltilebilir. Hatta yüksek frekanslı harmoniklerin frekans ölçümündeki olumsuz etkisi alçak geçiren filitre ile kolayca zayıflatılabilir.

Bazı olayları gözlemlemek adına scop işini kolaylaştıracak. Scopun varmı?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

t2

Bu iş bilgisayarla çok kolay olur. Mümkünse bilgisayar kullanılmalı. Hava katar. bilgisyarlı gitar tuneri olur. bilgisayarlı oto balans gibi

samuray84

Alıntı yapılan: z - 29 Şubat 2012, 12:24:17
Amacın gitar tellerini doğru notaları verecek şekilde ayarlamak ise işi çok karmaşıklaştırmaya gerek yok. FFT gibi sinyalişleme tekniklerine  gerek kalmayabilir.

Sesi öncelikle digital formata çevirmek gerekiyor. İnternette aşağıdaki gibi bir çalışma buldum.

http://www.google.com.tr/url?q=http://www.picaxe.com/docs/picaxe_sound.pdf&sa=U&ei=qPlNT-vQGM-JhQfH0KEW&ved=0CC8QFjAI&usg=AFQjCNGVVgjL50LlWXtX-gYbWZMoKrPxKA

Q2 nin collektöründen sonra gelen devreyi kurma. (D1, C4, Q3 ve R8 olmasın)

Q2 Kollektorunu işlemcinin int kabul eden pinlerinden birisine gir.

Sistem nasıl çalışacak.

Gitar saf sinüsel bir ses değildir. Ana sinyale ilave olmuş pek çok sinüs içerir. Fakat tellerin ayarlamasını  telin ürettiği sesin ana bileşene göre yaparız. Yani harmonikler bizi ilgilendirmez.

Ses belli bir seviyeye yükseltilip komparatörle kırpılırsa ana sinyalin 1-0 geçişleri elde edilir. Bunun frekansını  timer ile klasik usullerle öğrenebilirsin.

Devreyi denemedim. Verdiğim şema kesin işini görür diyemiyorum. Normalde opamp ile elektret mikrofon sinyali kolayca 3..4 vol seviyelerine yükseltilebilir. Hatta yüksek frekanslı harmoniklerin frekans ölçümündeki olumsuz etkisi alçak geçiren filitre ile kolayca zayıflatılabilir.

Bazı olayları gözlemlemek adına scop işini kolaylaştıracak. Scopun varmı?

hocam çok teşekkür ederim, osiloskop elimde yok ama okulun labında da uğraşabilirim devreyi kurduktan sonra. O aşamada muhtemelen tekrar danışmam gereken sıkıntılar olacak. Yine yardımcı olacağınızı düşünerekten şimdiden çok çok teşekkür ediyorum 

bir de bu devre 0 ve 3v arası analog output veriyor imiş. Bunu direk ccp1 girişine bağlarsam frekansı ölcmek icin geriye kalan kısmı kodla çözebilirim diye düşündüm, doğru mu düşündüm yoksa önce biraz daha outputu yükseltip dijitale cevirmek mi gerekir

samuray84

Alıntı yapılan: z - 29 Şubat 2012, 12:24:17
Amacın gitar tellerini doğru notaları verecek şekilde ayarlamak ise işi çok karmaşıklaştırmaya gerek yok. FFT gibi sinyalişleme tekniklerine  gerek kalmayabilir.

Sesi öncelikle digital formata çevirmek gerekiyor. İnternette aşağıdaki gibi bir çalışma buldum.

http://www.google.com.tr/url?q=http://www.picaxe.com/docs/picaxe_sound.pdf&sa=U&ei=qPlNT-vQGM-JhQfH0KEW&ved=0CC8QFjAI&usg=AFQjCNGVVgjL50LlWXtX-gYbWZMoKrPxKA

Q2 nin collektöründen sonra gelen devreyi kurma. (D1, C4, Q3 ve R8 olmasın)

Q2 Kollektorunu işlemcinin int kabul eden pinlerinden birisine gir.

Sistem nasıl çalışacak.

Gitar saf sinüsel bir ses değildir. Ana sinyale ilave olmuş pek çok sinüs içerir. Fakat tellerin ayarlamasını  telin ürettiği sesin ana bileşene göre yaparız. Yani harmonikler bizi ilgilendirmez.

Ses belli bir seviyeye yükseltilip komparatörle kırpılırsa ana sinyalin 1-0 geçişleri elde edilir. Bunun frekansını  timer ile klasik usullerle öğrenebilirsin.

Devreyi denemedim. Verdiğim şema kesin işini görür diyemiyorum. Normalde opamp ile elektret mikrofon sinyali kolayca 3..4 vol seviyelerine yükseltilebilir. Hatta yüksek frekanslı harmoniklerin frekans ölçümündeki olumsuz etkisi alçak geçiren filitre ile kolayca zayıflatılabilir.

Bazı olayları gözlemlemek adına scop işini kolaylaştıracak. Scopun varmı?

hocam çok teşekkür ederim, osiloskop elimde yok ama okulun labında da uğraşabilirim devreyi kurduktan sonra. O aşamada muhtemelen tekrar danışmam gereken sıkıntılar olacak. Yine yardımcı olacağınızı düşünerekten şimdiden çok çok teşekkür ediyorum 

bir de bu devre 0 ve 3v arası analog output veriyor imiş. Bunu direk ccp1 girişine bağlarsam frekansı ölcmek icin geriye kalan kısmı kodla çözebilirim diye düşündüm, doğru mu düşündüm yoksa önce biraz daha outputu yükseltip dijitale cevirmek mi gerekir

omereliusuk

#14
"soundcard scope" bir arattır. ses kartından osilaskop programı. mikrofon girişine veya line_in girişine yapılan uygulamaları ekranda osc gibi gösteriyor.