sound localization (insan sesin yönünü nasıl bulur)

Başlatan biomer, 26 Eylül 2006, 00:29:30

biomer

herkese yeniden selam. yukarda projemi baya bir acmistim. biz cross-corr da ve corelasyonda takıldık, bunu birazda uygulamalı anlatacak arkadas olursa sevinirim. kendimiz bir algorithma gelistirdik ama su an %100 dogrulukla calısmıyor bir takım hataları var.
korelasyon analizini biraz daha acarsanız sevinirim. "picustam" baya bişilerden bahsetmiştin daha once, biraz daha acabilirmisin biz bunun algoritmasında takıldık. ilgilenen arkadaslara simdiden teşekkürler...
Boğulacaksan büyük denizlerde boğul...

picusta

Evet bu konu aslinda çok önemli. Intercorr (ingilizce cross corr) aslinda sinyal islemenin temeli diyebiliriz.
ögrenci iken (geçen seneden önce) programlanabilir hesap makinemde  bu fonksyonu yazdim, iki deger tablosundan intercorr yaparak sonucu 3. bir tabloya yaziyordu. (2 ayrik sinyalden 1 ayrik sinyal).

Burda programi tekrar yazalim.öncelikle formülü matematiksel biçimde buraya yaz.
Sonra yazdigin program nedir? nerde zorlandin? Dogru sonuç verip vermedigini nasil hesapliyorsunuz? Simülasyon programi olarak bilgisayarda ne var (Matlab, Labview, Mustig?)?
Yaptiginiz islemlerin blok diyagrami nasil (giris nedir, sonra hangi islemlerden geçiyor...)

Hatirladigim kadari ile en az iç içe 2 for döngüsü kullanmak gerekiyor. Yapi su sekilde:
for (i=.., i<.., i++)
.
.
.
         for (j=..,j<.., j++)
         .
         .
         .
.
.
.

Daha kisa yazabilen belki board'da vardir. önce su formülü görelim.

biomer

hıımmm....
biraz acayım o zaman ne yaptığımızı, corelasyon icin program yazmadık....MATLAB ın  hazır fonksiyonlarını kullandık... "xcorr".
nasıl kullanacagımızı denemek icin bilgisayarda ses kaydettik, bunu zaman kayması ekledik, her birini önce kendisiyle xcorr yaptık. sonra birbiriyle xcorr yaptık. sonra max. ı hangi zamana karsılık geliyorsa bunları birbirnden cıkardık ve böylece zaman farkını elde ettik.
bilmiyorum ama cok mu baasit düsündüm.... su an sistemin matematiksel modellesi (yaklasım tarzımızla) ve ses kayıt devresiyle ugrasmaktayım. bu corelasyon mevzusuunu tam anlamadım da ondan acayım dedim. bir kac yazı buldum TDOA diye kısaltmıslar time difference of arrival mı ne.
adamlar antenlerle yer tespitinde kullanıyorlarmıs onları anlamaya calısıyorum.
pek senin istedigin bilgileri yazamadım ama...
yorumla artık sen...
kolay gele
Boğulacaksan büyük denizlerde boğul...

picusta

Alıntı Yapsonra birbiriyle xcorr yaptık. sonra max. ı hangi zamana karsılık geliyorsa bunları birbirnden cıkardık ve böylece zaman farkını elde ettik.
Tamam mantik olarak dogru. Yani 2 sinyali birbirleri ile intercorr.
Elde ettiginiz sonuç dogru mu? bu elde ettigin fonksyonu plot ettin mi? Intercorr'un paramtereleri neler, kaç örnek üstünden?
Alıntı Yapcorelasyon mevzusuunu tam anlamadım da ondan acayım dedim
correlasyon'un matematiksel formülünü buldun mu? Anlatan hangi siteleri buldun?
Alıntı Yapses kayıt devresiyle ugrasmaktayım
Projenin sonunda yapman gereken elektronik devremi?
Sorularina daha çok soru ile cevap veriyorum, ama böylece daha net bir cevap elde edeceksin, üstelik baska üyeler de yardim edebilir.
--------------------------
intercorr'dan max'i aldiktan sonra elde ettigin TDOA.
Eger sadece bu degerle düzlemde ses kaynaginin konumunu bulmak istiyorsan bulacagin hyperbolik bir egri (birçok nokta).
Daha çok "mikrofonun" olsa tam olarak bir nokta bulabilirsin.
http://www.control.isy.liu.se/~fredrik/reports/03icasspgustafsson.pdf

z

"Corelation"u nasıl kullanacağınızı anlamadım. Bu yöntemi kullanıp ses kaynağını lokalize edebilmek için  konuşan kişinin hep aynı kelimeyi söylemesi gerekmez mi?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

picusta

Alıntı yapılan: "z""konuşan kişinin hep aynı kelimeyi söylemesi gerekmez mi?
Hayir, iste korelasyonun "özelligi bu abi".
Sen madem Z domenindeymissin, söyle bakalim orda korrelasyon nasil oluyor?

z

Alıntı YapSen madem Z domenindeymissin, söyle bakalim orda korrelasyon nasil oluyor?

Bizim köydeki duruma değil de sizin köydeki (zaman köyü) duruma bakalım.

İki fonksiyondan birisini zamanda katlayıp diğeri ile çarpımını  integre edince konvolüsyonu veriyor ya,

Eğer fonskiyonu zaman düzleminde katlamadan aynı işlemi yaparsak korelasyonu bulmuş oluruz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

biomer

Alıntı YapProjenin sonunda yapman gereken elektronik devremi?

projenin sonunda yapmam gereken devre değil, devre isleyecegimiz sesi alabbilmek icin tasarlanması gerekiyor anahedef devre değil fakat devre olmadan da sinyali isleyemiyoruz.

Alıntı Yapintercorr'dan max'i aldiktan sonra elde ettigin TDOA.
Eger sadece bu degerle düzlemde ses kaynaginin konumunu bulmak istiyorsan bulacagin hyperbolik bir egri (birçok nokta).
biz bunları aramızda tartısırken dile geitrdik ama sonradan gerek burda ve gerekse arastırmalarımda bunun boyle oldugunu adamlar ortaya koymuslar zaten...
biz de noktayı bulabilmek icin 2 sagda 2 tane de solda olmak üzere kulak sistemi icinde toplam 4 mikrofon kullanacagız.

Alıntı Yapcorrelasyon'un matematiksel formülünü buldun mu? Anlatan hangi siteleri buldun?
site olarak değilde bilimsel makale olarak elimde birkac bişi var.

Alıntı YapBu yöntemi kullanıp ses kaynağını lokalize edebilmek için konuşan kişinin hep aynı kelimeyi söylemesi gerekmez mi?
bence gerekmez zaten konusulan  ses  alıcılara belli bir zaman farkıyla gitmekte olup biz de bunu corele edip zaman farkını buluyoruz. yani aynı datayı birbirine gore işleme sokuyorsun.

karsılıklı soru sormaktan memnunum, ilgi gösterdiğiniz için teşekkürü  borç bilirim
Boğulacaksan büyük denizlerde boğul...

picusta

Alıntı Yapprojenin sonunda yapmam gereken devre değil, devre isleyecegimiz sesi alabbilmek icin tasarlanması gerekiyor anahedef devre değil fakat devre olmadan da sinyali isleyemiyoruz.
Kisaca yapman gereken 4 kanalli ses girisi. Matlab islemi yapacak.
Bunu için söyle bir devre öneririm: PIC temelli bir devre. Bilgisayara hIzli seri baglanti veya USB. Mikrofonlardan sonra 5Khz'de frekans kesici antialiasing filtre, sonra 10KHz'de PIC'le örnekleme. Kanallar arasindaki ölçme süresini (birkaç usn) korrelasyon hesabina katabilirsin.
Alıntı Yapnoktayı bulabilmek icin 2 sagda 2 tane de solda olmak üzere kulak sistemi icinde toplam 4 mikrofon kullanacagız.
Vermis oldugum linktede (son sayfa) böyle yapmislar. toplam 6 intercorr (2 sag-sol,2 ön-arka ve 2 çapraz)yapip 6 TDOA'dan belirsizlikleri hesaba katarak noktalari bulmuslar.
Sende elde ettigin sonuçlari grafikleri paylasirsan seviniriz.