การเขียนโปรแกรม low pass filter

25 May 2019

Share to:

ในงานด้าน hardware ที่มีการอ่านข้อมูลจาก sensor แน่นอนว่าข้อมูลที่ได้มาในแต่ละครั้งอาจจะมีข้อมูลที่ error หรือข้อมูลที่เพี้ยนไปจากความเป็นจริงบางช่วงเวลา ซึ่งเราไม่ต้องการข้อมูลพวกนั้นเช่น ถ้าเราต้องการวนลูปอ่านข้อมูลจาก Accelerometer เป็น sensor วัดความเร่ง ปกติแล้วเมื่อเราวนลูปอ่านข้อมูลจาก sensor พวกนี้จะได้ค่า error หรือสัญญานรบกวน ค่อนข่างสูง

Accelerometer

Image

เราสามารถเขียนโปรแกรมลดสัญญานรบกวนได้จากสมการนี้

y[now] = ( k*y[t] ) + ( ( 1-k )*y[t-1] )

อธิบายสูตร

  • y[now] คือ ค่าที่ถูก filter แล้ว ณ. เวลานั้น(รอบปัจจุบัน)
  • k คือ ระดับการกรองตั้งแต่ 0-1(1=ไม่ได้กรองเลย, 0=กรองออกหมดเลย)  ค่ายิ่งใกล้เคียง 0 มากจะยิ่งกรองมาก
  • y[t] คือ ค่าที่อ่านได้จาก sensor ในรอบปัจจุบัน
  • y[t-1] คือ ค่าที่ได้จาก sensor ในรอบก่อนหน้านี้(ค่าจาก sensor ที่อ่านได้จากครั้งที่แล้ว)

Copyright © 2019 - 2025 thiti.dev |  v1.46.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ