autoworks24.com

ลดทอนสัญญาณรบกวนด้วย arduino

550.00฿

คำอธิบาย

ลดทอนสัญญาณรบกวนด้วย arduino

แต่ทราบกันไหมครับว่าสัญญาณที่ได้จากเซ็นเซอร์เหล่านี้ล้วนแล้วแต่มีสัญญาณรบกวนติดมาด้วยทั้งสิ้น สัญญาณรบกวนนี้เองหากไม่กำจัดหรือทำการลดทอนลงจะทำให้ค่าที่เราทำการคำนวณมีความคลาดเคลื่อนจะมากน้อยขึ้นอยู่กับปริมาณสัญญาณรบกวนที่หลุดเข้ามาในระบบนั้นเอง

บทความนี้นำเสนอขั้นตอนง่ายๆในการลดทอนสัญญาณรบกวนที่ทำได้ในซอฟแวร์ด้วยโค๊ดแค่ไม่กี่บรรทัดโดยไม่ต้องต่อวงจรเพิ่มเติม สามารถเขียนฟังชันลดทอนสัญญาณรบกวนแบบลูปได้ตามสูตร y(n)=(1-a)*x(n)+a*y(n-1) โดยที่ y(n) คือ สัญญาณที่ทำการฟิลเตอร์แล้วของลูปล่าสุด y(n-1) คือสัญญาณที่ถูกฟิลเตอร์แล้วแต่ว่าเป็นของลูปที่แล้ว ส่วน x(n) คือสัญญาณที่วัดได้ของลูปล่าสุด และ a คือค่าคงที่ของฟิลเตอร์ (มีค่าระหว่าง 0 ถึง 1) ถ้าใครไม่ทราบว่าจะให้ a มีค่าเท่าไร อาจจะเริ่มจา a=0.95 ก่อนก็ได้ แล้วค่อบปรับจูนค่าตามความหมาะสมหลังจากดูผลการรันแล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าคงที่

ใครอยากทดสอบประสิทธิภาพของวิธีนี้สามารถทดลองได้ตามโค๊ดด้านล่างซึ่งเป็นการจำลองสถานการณ์ว่าบอร์ดได้ต่อกับเซ็นเซอร์และรับสัญญาณที่มีสัญญาณรบกวนติดเข้ามาด้วย โดยใช้ a = 0.95 และค่าเบี่ยงเบนของสัญญาณรบกวนมีค่าเท่ากับหนึ่ง