ขึ้นอยู่กับประเภทของเสียงและประเภทของสัญญาณ แสดงตัวอย่างถ้าคุณต้องการคำตอบที่ดี แต่โดยทั่วไปแล้วคุณอาจต้องการกรองสัญญาณความถี่ต่ำ ถ้าฉันเป็นคุณฉันจะใช้คลื่นความถี่ฟูริเยร์เพื่อดูว่าเสียงส่วนใหญ่เป็นความถี่สูงหรือไม่และสัญญาณที่ฉันสนใจส่วนใหญ่อยู่ในช่วงที่ต่ำกว่า หากพวกเขาทับซ้อนกันโอ้เป็นชีวิตที่ดี ฉันจะต้องคิดเพิ่มเติมเกี่ยวกับสิ่งต่าง ๆ
ตัวกรอง low-pass หนึ่งตัวที่ดีสำหรับสัญญาณรบกวนในหลาย ๆ กรณีคือตัวกรอง Savitzky-Golay มันอธิบายไว้ในสูตรตัวเลขและสำหรับ Python มีฟังก์ชั่นใน Python Numpy Cookbook มันเป็นเพียงการบิดด้วยเคอร์เนลขนาดเล็ก คุณเลือกขนาดหน้าต่างตามความกว้างของยอดเขาหรือคุณสมบัติอื่น ๆ กว้างพอที่จะขจัดเสียงรบกวน แต่ไม่กว้างกว่าคุณสมบัติ มันอาจจะเล็กพูดได้ห้าคะแนน
คุณยังเลือกคำสั่งพหุนาม - ปกติฉันใช้ 2 หรือ 4 คำสั่ง 2 ใช้ได้เมื่อหน้าต่างมีขนาดเล็ก <10 คะแนนหรือครอบคลุมรอบน้อยกว่าครึ่งรอบ (ถ้าสัญญาณของคุณคล้ายไซน์) ในขณะที่ลำดับ 4 คือ จับคู่รูปร่างที่บิดเบี้ยวได้ดีกว่า แต่ชอบที่จะมีประมาณ 9 คะแนนขึ้นไป แต่ขึ้นอยู่กับรูปร่างและความถี่ของเสียง
อย่างที่คนอื่นพูดในความคิดเห็นการค้นหาอนุพันธ์อาจไม่ใช่กลยุทธ์ที่ดีที่สุด แต่ถ้าคุณต้องการค้นหาอนุพันธ์ตัวกรอง Savitzky-Golay สามารถทำเช่นนั้นได้ - การปรับให้เรียบและรายงานอนุพันธ์แทนที่จะเป็นสัญญาณ