ฉันมีไมโครโฟนที่วัดเสียงเมื่อเวลาผ่านไปในหลาย ๆ ตำแหน่งในอวกาศ เสียงที่ถูกบันทึกทั้งหมดมาจากตำแหน่งเดียวกันในอวกาศ แต่เนื่องจากเส้นทางที่แตกต่างจากจุดต้นทางไปยังไมโครโฟนแต่ละตัว สัญญาณจะถูกเปลี่ยน (เวลา) และผิดเพี้ยน ความรู้เบื้องต้นได้ถูกนำมาใช้เพื่อชดเชยเวลาที่ดีที่สุดเท่าที่จะทำได้ แต่ก็ยังมีการเปลี่ยนแปลงเวลาอยู่ในข้อมูล ยิ่งตำแหน่งการวัดใกล้เคียงกับสัญญาณมากเท่าไหร่
ฉันสนใจที่จะจำแนกยอดเขาโดยอัตโนมัติ ด้วยสิ่งนี้ฉันหมายความว่าฉันกำลังมองหาอัลกอริทึมที่ "มอง" ที่สัญญาณไมโครโฟนสองตัวในพล็อตด้านล่างและ "จดจำ" จากตำแหน่งและรูปคลื่นที่มีสองเสียงหลักและรายงานตำแหน่งเวลาของพวกเขา:
sound 1: sample 17 upper plot, sample 19 lower plot,
sound 2: sample 40 upper plot, sample 38 lower plot
ในการทำเช่นนี้ฉันวางแผนที่จะทำการขยาย Chebyshev รอบจุดสูงสุดแต่ละจุดและใช้เวกเตอร์ของสัมประสิทธิ์ Chebyshev เป็นอินพุตไปยังอัลกอริธึมคลัสเตอร์ (k-mean?)
ดังตัวอย่างต่อไปนี้เป็นส่วนหนึ่งของสัญญาณเวลาที่วัดที่ตำแหน่งใกล้เคียงสอง (สีน้ำเงิน) ประมาณ 5 ชุดโดย Chebyshev มากกว่า 9 ตัวอย่าง (สีแดง) รอบสองยอด (วงกลมสีน้ำเงิน):
การประมาณค่อนข้างดี :-)
อย่างไรก็ตาม; ค่าสัมประสิทธิ์ Chebyshev สำหรับพล็อตด้านบนคือ:
Clu = -1.1834 85.4318 -39.1155 -33.6420 31.0028
Cru =-43.0547 -22.7024 -143.3113 11.1709 0.5416
และค่าสัมประสิทธิ์ Chebyshev สำหรับพล็อตล่างคือ:
Cll = 13.0926 16.6208 -75.6980 -28.9003 0.0337
Crl =-12.7664 59.0644 -73.2201 -50.2910 11.6775
ฉันต้องการเห็น Clu ~ = Cll และ Cru ~ = Crl แต่ดูเหมือนจะไม่เป็นเช่นนี้ :-(
อาจมีพื้นฐานอีกมุมมองที่เหมาะกว่าในกรณีนี้หรือไม่
คำแนะนำเกี่ยวกับวิธีดำเนินการต่อ (ฉันใช้ Matlab)?
ขอบคุณล่วงหน้าสำหรับคำตอบ!