Uzayda birçok farklı pozisyonda zaman içinde sesi ölçen mikrofonlarım var. Kaydedilen seslerin tümü uzaydaki aynı konumdan kaynaklanır, ancak kaynak noktasından her mikrofona farklı yollar nedeniyle; sinyal (zaman) kaydırılır ve bozulur. Zaman kaymalarını mümkün olduğunca iyi telafi etmek için a priori bilgi kullanılmıştır, ancak yine de verilerde bir miktar zaman kayması vardır. Ölçüm konumları ne kadar yakınsa, sinyaller o kadar benzerdir.
Zirveleri otomatik olarak sınıflandırmakla ilgileniyorum. Bununla, aşağıdaki grafikteki iki mikrofon sinyaline "bakan" ve pozisyondan ve dalga biçiminden iki ana ses olduğunu ve zaman konumlarını bildiren bir algoritma aradığımı kastediyorum:
sound 1: sample 17 upper plot, sample 19 lower plot,
sound 2: sample 40 upper plot, sample 38 lower plot
Bunu yapmak için her tepe noktasında bir Chebyshev genişlemesi yapmayı ve Chebyshev katsayılarının vektörünü bir küme algoritmasına (k-ortalamaları?) Girdi olarak kullanmayı planlıyordum.
Bir örnek olarak, burada iki pik (mavi daireler) etrafında 9 numune (kırmızı) üzerinde 5 terim Chebyshev serisi ile yaklaşık olarak yakın iki pozisyonda (mavi) ölçülen zaman sinyallerinin parçaları bulunmaktadır:
Yaklaşık oldukça iyi :-).
Ancak; üst parsel için Chebyshev katsayıları:
Clu = -1.1834 85.4318 -39.1155 -33.6420 31.0028
Cru =-43.0547 -22.7024 -143.3113 11.1709 0.5416
Ve alt arsa için Chebyshev katsayıları:
Cll = 13.0926 16.6208 -75.6980 -28.9003 0.0337
Crl =-12.7664 59.0644 -73.2201 -50.2910 11.6775
Ben Clu ~ = Cll ve Cru ~ = Crl görmek istiyorum, ama durum böyle görünmüyor :-(.
Belki bu durumda daha uygun olan başka bir dikey temel var mı?
Nasıl işleneceğine dair herhangi bir tavsiye (Matlab kullanıyorum)?
Herhangi bir cevap için şimdiden teşekkür ederiz!