Bagaimana saya dapat secara otomatis mengklasifikasikan puncak sinyal yang diukur pada posisi yang berbeda?


10

Saya memiliki mikrofon yang mengukur suara dari waktu ke waktu di berbagai posisi di ruang angkasa. Suara yang direkam semua berasal dari posisi yang sama di ruang angkasa tetapi karena jalur yang berbeda dari titik sumber ke setiap mikrofon; sinyal akan (waktu) bergeser dan terdistorsi. Pengetahuan apriori telah digunakan untuk mengkompensasi pergeseran waktu sebaik mungkin tetapi masih ada pergeseran waktu dalam data. Semakin dekat posisi pengukuran semakin mirip sinyal.

Saya tertarik untuk secara otomatis mengklasifikasikan puncak. Maksud saya, saya mencari algoritma yang "melihat" dua sinyal mikrofon dalam plot di bawah ini dan "mengenali" dari posisi dan bentuk gelombang bahwa ada dua suara utama dan melaporkan posisi waktu mereka:

sound 1: sample 17 upper plot, sample 19 lower plot,
sound 2: sample 40 upper plot, sample 38 lower plot

Untuk melakukan ini, saya berencana untuk melakukan ekspansi Chebyshev di sekitar setiap puncak dan menggunakan vektor koefisien Chebyshev sebagai input ke algoritma cluster (k-means?).

Sebagai contoh di sini adalah bagian-bagian dari sinyal waktu yang diukur pada dua posisi terdekat (biru) didekati dengan 5 suku seri Chebyshev di atas 9 sampel (merah) di sekitar dua puncak (lingkaran biru): masukkan deskripsi gambar di sini

Perkiraannya cukup bagus :-).

Namun; koefisien Chebyshev untuk plot atas adalah:

Clu = -1.1834   85.4318  -39.1155  -33.6420   31.0028
Cru =-43.0547  -22.7024 -143.3113   11.1709    0.5416

Dan koefisien Chebyshev untuk plot yang lebih rendah adalah:

Cll = 13.0926   16.6208  -75.6980  -28.9003    0.0337
Crl =-12.7664   59.0644  -73.2201  -50.2910   11.6775

Saya ingin melihat Clu ~ = Cll dan Cru ~ = Crl, tapi sepertinya tidak demikian :-(.

Mungkin ada dasar ortogonal lain yang lebih cocok dalam kasus ini?

Adakah saran tentang bagaimana melanjutkan (saya menggunakan Matlab)?

Terima kasih sebelumnya atas jawaban apa pun!


1
Tampaknya Anda secara inheren membuat asumsi bahwa "bentuk" puncak, ketika diekspresikan dalam ruang vektor koefisien polinomial Chebyshev, adalah kontinu (yaitu perubahan kecil dalam bentuk satu bagian dari puncak akan mempengaruhi perubahan kecil dalam koefisien). Apakah Anda punya alasan untuk percaya bahwa ini masalahnya? Kedengarannya Anda telah memilih alat Anda tanpa memastikan itu menyelesaikan masalah.
Jason R

Agar lebih jelas, dengan cara apa Anda berusaha "mengklasifikasikan" puncak? Apakah Anda mencoba mengaitkan pengukuran dari berbagai sensor yang sesuai dengan puncak identik? Apakah Anda memiliki beberapa cara lain di mana Anda dapat mengukur waktu relatif penundaan apriori dan kemudian menggunakan informasi itu untuk klasifikasi?
Jason R

Hai Jason R. Saya telah memperbarui pertanyaan saya untuk membuat semuanya lebih jelas.
Andy

Saya sebenarnya mencoba mereproduksi langkah-langkah dalam makalah "Interpretasi Struktural Otomatis Melalui Klasifikasi Seismik Horizon" (Borgos et al). Saya telah mencoba menjelaskan masalahnya secara lebih umum.
Andy

@Andy Bisakah Anda jelaskan bagaimana ko-efisiensi tersebut sesuai dengan garis merah yang ditunjukkan di sini? Mereka tampaknya tidak berkorelasi ...
Spacey

Jawaban:


2

Sepertinya Anda memiliki satu sumber, x [n], dan beberapa sinyal mikrofon . Dengan asumsi bahwa jalur propagasi Anda dari sumber ke mikrofon cukup linier dan tidak berbeda waktu, Anda dan cukup memodelkan jalur tersebut sebagai fungsi transfer. Jadi pada dasarnya Anda memiliki manayi[n]

yi[n]=hi[n]x[n]
hi[n]adalah respons impuls dari fungsi transfer dari sumber ke mikrofon "i". Fungsi transfer ini memiliki respons amplitudo dan fase yang berbeda. Jika mereka cukup berbeda, masing-masing sinyal mikrofon akan sangat berbeda dan tidak ada alasan untuk percaya bahwa puncak sebenarnya akan muncul di tempat yang sama. Dalam kebanyakan lingkungan akustik, mereka akan "berbeda" jika mikrofon lebih dari seperempat panjang gelombang terpisah untuk frekuensi yang diinginkan (atau di mana ada energi non-sepele dalam spektrum).

Jika Anda dapat mengukur fungsi transfer, Anda dapat memfilter setiap sinyal mic dengan kebalikan dari fungsi transfer tersebut. Ini akan membuat sinyal mic jauh lebih mirip dan mengurangi efek penyaringan.

Alternatifnya adalah menggabungkan semua sinyal mic menjadi beamformer yang mengoptimalkan pickup dari sumber tetapi menolak yang lainnya. Ini juga harus menyediakan versi yang cukup "bersih" dari sinyal sumber.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.