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):
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!