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

25 May 2019,
Share: 

ในงานด้าน 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 ที่อ่านได้จากครั้งที่แล้ว)

Suggestion blogs

Arduino ตอน9 วิธีใช้ Analog output (PWM) ใน arduino

สวัสดีครับ วันนี้เราจะมาเรียนรู้การใช้งาน Analog output หรือ PWM ใน Arduino กันครับ โดยปกติแล้ว Arduino จะทํางานกับข้อมูลหรือ I/O ที่เป็นแบบ Digital HIGH/LOW (0V/5V) แต่ในบางกรณีเราอาจจําเป็นต้องใช้งาน I/O ที่เป็นแบบ Analog (0v, 1V, 2V...5V) เพื่อใช้ควบคุมอุปกรณ์ที่เป็นแบบ Analog เช่น ความสว่างของหลอดไฟ, ควบคุมความเร็วของ Motor ฯลฯ

เปลี่ยน port xrdp raspberry pi

สวัสดีครับ ในบทความที่แล้วผมเขียนเรื่องการ ติดตั้ง xrdp ไปแล้ว ในบทความนี้ผมจะมาสอนวิธีเปลี่ยน port ของ xrdp

Brave Browser คืออะไร

สวัสดีครับ ในบทความนี้ผมจะแนะนํา Browser ตัวนึงที่ชื่อว่า Brave ซึ่งในเนื้อหาจะแนะนําว่า Brave Browser คืออะไร ต่างจาก Browser ทั่วไปอย่าง Chrome, Firefox อย่างไร


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

Build with ❤️ and Astro.

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