ตัวกรองแบบดิจิตอลที่ใช้งานง่ายค่าเฉลี่ยการเคลื่อนที่แบบเสวนา EMA เป็นตัวกรองอิมมูร์อิมพีเรียล IIR แบบไม่ จำกัด จำนวนที่สามารถใช้งานแอพพลิเคชัน DSP ฝังตัวได้จำนวนมากต้องใช้ RAM เพียงเล็กน้อยและใช้พลังงานคอมพิวเตอร์อะไรคือ Filter. Filters มาในรูปแบบอะนาล็อกและดิจิตอลและมีอยู่เพื่อลบความถี่เฉพาะจากสัญญาณตัวกรองอนาล็อกทั่วไปคือตัวกรอง RC ต่ำที่แสดงด้านล่างตัวกรองแบบตัวกรองมีลักษณะการตอบสนองความถี่ของพวกเขาซึ่งเป็นความถี่เท่าใดการตอบสนองของขนาดที่ลดทอนลงและเปลี่ยนเฟส response การตอบสนองความถี่สามารถวิเคราะห์ได้โดยใช้ Laplace transform ซึ่งกำหนดฟังก์ชันการถ่ายโอนในโดเมน S สำหรับวงจรข้างต้นฟังก์ชันการถ่ายโอนจะได้รับสำหรับ R เท่ากับ 1 กิโลโอห์มและ C เท่ากับ 1 microfarad การตอบสนองของขนาดคือ แสดงด้านล่างหมายเหตุว่าแกน x เป็นลอการิทึมเครื่องหมายติ๊กทุกครั้งที่เป็น 10 ครั้งมากกว่าที่ผ่านมาแกน y อยู่ในเดซิเบลซึ่งเป็นฟังก์ชันลอการิทึมของเอาท์พุทตัด fre quent สำหรับตัวกรองนี้คือ 1000 rad หรือ 160 Hz นี่คือจุดที่มีการถ่ายโอนพลังงานน้อยกว่าครึ่งหนึ่งที่ความถี่หนึ่งจากอินพุทไปยังเอาต์พุตของตัวกรองตัวกรองอะนูลต้องใช้ในการออกแบบฝังตัวเมื่อสุ่มตัวอย่างสัญญาณโดยใช้ ตัวแปลงสัญญาณอนาล็อกเป็นดิจิตอล ADC ADC จับเฉพาะความถี่ที่มีความถี่ในการสุ่มตัวอย่างเพียงครึ่งเดียวตัวอย่างเช่นถ้า ADC มีการสุ่มตัวอย่าง 320 ตัวอย่างต่อวินาทีตัวกรองด้านบนจะมีความถี่ตัดเป็น 160Hz ระหว่างสัญญาณกับอินพุตของ ADC ไปที่ ป้องกันตัวพิมพ์ใหญ่ซึ่งเป็นปรากฏการณ์ที่ความถี่สูงแสดงในตัวอย่างสัญญาณเป็นความถี่ต่ำกว่าตัวกรองสำคัญตัวกรองสำคัญลดความถี่ในซอฟต์แวร์แทนที่จะใช้ส่วนประกอบอะนาล็อกการดำเนินการของพวกเขารวมถึงการสุ่มตัวอย่างสัญญาณอะนาล็อกกับ ADC แล้วใช้อัลกอริทึมซอฟต์แวร์สองทั่วไป แนวทางการออกแบบเพื่อกรองข้อมูลแบบดิจิตอลคือตัวกรอง FIR และตัวกรอง IIR ฟิลเตอร์ฟิลเตอร์ Impulse Response ตัวกรอง FIR ใช้จำนวน จำกัด ของ sampl es เพื่อสร้างค่าเอาท์พุทค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายคือตัวอย่างของการกรอง FIR แบบ low pass ความถี่ที่สูงขึ้นจะลดทอนลงเพราะค่าเฉลี่ยทำให้สัญญาณออกมาได้อย่างราบรื่นฟิลเตอร์มีข้อ จำกัด เนื่องจากผลลัพธ์ของตัวกรองถูกกำหนดโดยจำนวนตัวอย่างที่ จำกัด ของอินพุท ตัวอย่างเช่น 12 ตัวกรองค่าเฉลี่ยเคลื่อนที่จะเพิ่ม 12 ตัวอย่างล่าสุดจากนั้นหารด้วย 12 ผลลัพธ์ของตัวกรอง IIR จะถูกกำหนดโดยตัวรับสัญญาณอินพุทไม่ จำกัด จำนวนตัวกรอง IIR ตัวกรอง Impulse Response IIR เป็นตัวกรองแบบดิจิตอล ที่ส่งออกเป็น inifinetely ในทางทฤษฎีได้รับอิทธิพลจากการป้อนข้อมูลค่าเฉลี่ยเคลื่อนที่ที่อธิบายเป็นตัวอย่างของตัวกรอง IIR ต่ำที่ผ่านการคำนวณอัตราการเคลื่อนที่เฉลี่ยตัวกรองเฉลี่ยที่ใช้แทน EMA ใช้น้ำหนักเลขยกตัวอย่างให้แต่ละตัวเพื่อคำนวณค่าเฉลี่ย ดูเหมือนซับซ้อนสมการที่รู้จักกันในการกรองแบบดิจิทัลสำนวนเป็นสมการความแตกต่างเพื่อคำนวณเอาท์พุทเป็นเรื่องง่ายในสมการด้านล่าง y คือเอาท์พุท x เป็นอินพุทและ alpha เป็นค่าคงที่ซึ่งกำหนดค่าความถี่ cutoff เพื่อวิเคราะห์ว่าตัวกรองนี้มีผลกระทบต่อความถี่ของเอาท์พุทอย่างไรการใช้ฟังก์ชันถ่ายโอนโดเมน Z จะใช้การตอบสนองของขนาดจะแสดงไว้ด้านล่างสำหรับ alpha เท่ากับ 0 5.The y แกน x เป็นลอการิทึมจาก 0 001 ถึง pi แผนที่ความถี่ในโลกแห่งความจริงไปยังแกน x ซึ่งศูนย์จะเป็นแรงดันไฟฟ้า DC และ pi เท่ากับครึ่งความถี่การสุ่มตัวอย่างความถี่ใด ๆ ที่เป็น มากกว่าครึ่งหนึ่งของความถี่ในการสุ่มตัวอย่างจะ aliased ดังกล่าวตัวกรองอนาล็อกสามารถมั่นใจได้ในทางปฏิบัติความถี่ทั้งหมดในสัญญาณดิจิตอลต่ำกว่าครึ่งหนึ่งของความถี่ในการสุ่มตัวอย่างตัวกรอง EMA เป็นประโยชน์ในการออกแบบฝังตัวด้วยเหตุผลสองประการประการแรกมันเป็นเรื่องง่ายที่จะปรับ ความถี่ cutoff การลดค่า alpha จะลดความถี่ cutoff ของ filter ตามที่แสดงไว้โดยการเปรียบเทียบ alpha 0 5 ด้านบนกับ plot ด้านล่างที่ alpha 0 1.Second, EMA เป็นรหัสที่ง่ายและต้องการเพียงเล็กน้อย comp การใช้รหัสของตัวกรองใช้สมการความแตกต่างมีการดำเนินการคูณสองและการดำเนินการเพิ่มเติมสำหรับแต่ละเอาต์พุตนี้จะละเว้นการดำเนินการที่จำเป็นสำหรับการปัดคณิตศาสตร์จุดคงที่ตัวอย่างเฉพาะล่าสุดจะต้องเก็บไว้ในแรม มากกว่าการใช้ตัวกรองค่าเฉลี่ยเคลื่อนที่ที่มีจุด N ซึ่งต้องการการคูณและการบวกรวมทั้ง N ตัวอย่างที่จะเก็บไว้ในแรมรหัสต่อไปนี้ใช้ตัวกรอง EMA โดยใช้จุดคณิตศาสตร์แบบ 32 บิตโค้ดด้านล่างเป็นตัวอย่างของวิธี เพื่อใช้ฟังก์ชั่นด้านบนฟิลเตอร์อะนาล็อกและดิจิตอลเป็นส่วนสำคัญของการออกแบบที่ฝังตัวช่วยให้นักพัฒนาสามารถกำจัดความถี่ที่ไม่พึงประสงค์ได้เมื่อทำการวิเคราะห์อินพุทเซ็นเซอร์เพื่อให้ตัวกรองดิจิตอลมีประโยชน์ตัวกรองอนาล็อกต้องลบความถี่ทั้งหมดที่อยู่เหนือการสุ่มตัวอย่าง ความถี่ตัวกรอง IIR แบบดิจิทัลสามารถเป็นเครื่องมือที่มีประสิทธิภาพในการออกแบบฝังตัวที่มีทรัพยากร จำกัด ค่าเฉลี่ยของ EMA แบบเสแสร้งคือ exa mple ของตัวกรองดังกล่าวที่ทำงานได้ดีในการออกแบบฝังตัวเนื่องจากหน่วยความจำต่ำและความต้องการพลังงานคอมพิวเตอร์การตอบสนองความถี่ของตัวกรองเฉลี่ยที่ใช้การตอบสนองความถี่ของระบบ LTI เป็น DTFT ของการตอบสนองต่อแรงกระตุ้นตอบสนองต่อแรงกระตุ้นของ L - ค่าเฉลี่ยเคลื่อนที่ของตัวอย่างคือเนื่องจากตัวกรองค่าเฉลี่ยเคลื่อนที่เป็น FIR การตอบสนองต่อความถี่ลดลงเป็นผลรวมที่ จำกัด เราสามารถใช้ข้อมูลประจำตัวที่มีประโยชน์มากในการเขียนการตอบสนองตามความถี่ที่เราได้ให้ aej N 0 และ ML 1 เรา อาจสนใจขนาดของฟังก์ชันนี้เพื่อหาความถี่ที่จะได้รับผ่านตัวกรองที่ไม่มีการลดทอนและที่ถูกลดทอนด้านล่างเป็นพล็อตของขนาดของฟังก์ชันนี้สำหรับ L4 สีแดง 8 สีเขียวและสีน้ำเงิน 16 ช่วงแกนนอนมีตั้งแต่ zero ต่อเรเดียนต่อตัวอย่างสัญญาณว่าในทั้งสามกรณีการตอบสนองต่อความถี่มีลักษณะ lowpass ค่าคงที่เป็นศูนย์ความถี่ในอินพุทผ่านตัวกรองที่ไม่มีการลดทอนบางความถี่ที่สูงขึ้น h เป็น 2 จะถูกกำจัดออกโดยตัวกรองอย่างไรก็ตามหากเจตนาคือการออกแบบตัวกรอง lowpass เราก็ยังไม่ได้เป็นอย่างดีบางส่วนของความถี่ที่สูงขึ้นจะถูกลดทอนเพียงประมาณ 1 10 สำหรับค่าเฉลี่ยเคลื่อนที่ 16 จุด หรือ 1 3 สำหรับค่าเฉลี่ยเคลื่อนที่สี่จุดเราสามารถทำอะไรได้ดีกว่าที่คิดไว้ข้างต้นสร้างขึ้นโดยรหัส Matlab ต่อไปนี้omega 0 pi 400 pi H4 1 4 1-exp - i omega 4 1-exp - i iega H8 1 8 1-exp - i omega 8 1-exp-i omega H16 1 16 1-exp - i omega 16 1-exp-i omega พล็อตโอเมก้า, abs H4 abs H8 abs H16 แกน 0, pi, 0, 1.Copyright 2000- - University of California, Berkeley ตัวกรองต่ำ - เหล่านี้เป็นส่วนใหญ่บันทึกย่อมันจะไม่สมบูรณ์ในแง่ใด ๆ มันมีอยู่เพื่อให้มีเศษข้อมูลที่เป็นประโยชน์ชี้แจงการชั่งน้ำหนักเฉลี่ยเคลื่อนที่ EWMA เป็นชื่อสำหรับสิ่งที่น่าจะเป็นที่ง่ายที่สุด การสร้างโดเมนแบบเรียลไทม์ของ LowPass แบบแรกสำหรับข้อมูลแบบไม่ต่อเนื่องตัวกรองนี้ใช้ค่าเฉลี่ยในการเคลื่อนที่โดยเฉลี่ยซึ่งทำให้มันเป็นผู้ติดตามที่เฉื่อยชา ของสัญญาณเข้าอย่างตรงไปตรงมาก็จะตอบสนองช้าเพื่อการเปลี่ยนแปลงอย่างรวดเร็วเนื้อหาความถี่สูงในขณะที่ยังคงตามแนวโน้มโดยรวมของสัญญาณเนื้อหาความถี่ต่ำมันถูกชั่งน้ำหนักโดยตัวแปรเห็นเพื่อให้สามารถเปลี่ยนแปลงความไวของ ในกรณีที่คุณต้องการตัวอย่างในช่วงเวลาปกติเช่นเสียงคุณสามารถเกี่ยวข้องกับเนื้อหาความถี่ได้ในกรณีเหล่านี้คุณมักต้องการคำนวณชุดข้อมูลขาออกที่ถูกกรองสำหรับชุดข้อมูลอินพุตโดยลูปผ่านรายการทำสิ่งที่คล้ายคลึงกันหรือแบบฟอร์มที่เทียบเท่ากัน รู้สึกมากขึ้นข้อมูลที่ใช้งานง่ายการเปลี่ยนแปลงในการส่งออกกรองเป็นสัดส่วนกับจำนวนของการเปลี่ยนแปลงและชั่งน้ำหนักตามความแรงของตัวกรองอาจช่วยพิจารณาวิธีการใช้เอาท์พุทกรองล่าสุดให้ความเฉื่อยของระบบขนาดเล็กที่มีขนาดใหญ่ 1- ในอดีตยังทำให้สำหรับ RC ขนาดใหญ่หมายความว่าเอาท์พุทจะปรับเฉื่อยมากขึ้นและควรแสดงสัญญาณรบกวนน้อยกว่าเนื่องจากความถี่ในการตัดสัญญาณลดลงการตรวจสอบมีขนาดใหญ่กว่า 1 - เล็กกว่า RC หมายความว่าเอาท์พุทจะปรับให้เร็วขึ้น e ความเฉื่อยน้อยกว่า แต่จะมีความไวต่อสัญญาณรบกวนมากขึ้นเนื่องจากความถี่ในการตัดจะสูงกว่าการตรวจสอบเนื่องจากการคำนวณเป็นแบบเฉพาะประเทศกรณีที่คุณต้องการค่าล่าสุดสามารถหลีกเลี่ยงการจัดเก็บอาร์เรย์ที่มีขนาดใหญ่ได้โดยการทำดังต่อไปนี้สำหรับตัวอย่างใหม่ ๆ แต่ละอันมักเป็นพวงของ ครั้งในแถวเพื่อให้แน่ใจว่าเราปรับเพียงพอในกรณีของการสุ่มตัวอย่างที่ไม่เป็นเช่นนั้นจะเกี่ยวข้องกับความเร็วของการปรับตัวมากกว่าเนื้อหาความถี่มันยังคงมีความเกี่ยวข้อง แต่ข้อสังเกตเกี่ยวกับความถี่ที่ใช้เนื้อหาน้อยลงอย่างเคร่งครัดคุณมักต้องการ ใช้อาร์เรย์หน่วยความจำเป็นลอย - แม้ว่าคุณจะกลับ ints - เพื่อหลีกเลี่ยงปัญหาที่เกิดจากข้อผิดพลาดในการปัดเศษส่วนใหญ่ของปัญหาเมื่ออัลฟ่าแตกต่างตัวคูณลอยน้อยกว่า 1 จะกลายเป็น 0 ในหล่อ truncatng เป็นจำนวนเต็มสำหรับ ตัวอย่างเช่นเมื่อ alpha เท่ากับ 0 01 ความแตกต่างของสัญญาณที่มีขนาดเล็กกว่า 100 จะทำให้การปรับค่าเป็น 0 ผ่านการตัดทอนจำนวนเต็มดังนั้นตัวกรองจะไม่ปรับค่า ADC ตามจริงดังนั้น OLMA จึงมีการเพิ่มเลขในเนื่องจากแต่ละตัวกรองใหม่ เอาต์พุตใช้ค่าทั้งหมดได้อย่างมีประสิทธิภาพก่อนที่จะมีประสิทธิภาพและมีน้ำหนักลดลงอย่างมากแสดงลิงก์ zikipedia สำหรับการอภิปรายเพิ่มเติมตัวอย่างเชิงกราฟภาพจาก arduinoscope - กราฟที่เคลื่อนที่ด้วยตัวอย่างล่าสุดทางด้านซ้ายสัญญาณดิบด้านบนเป็น ไม่กี่วินาทีที่คุ้มค่าของการสุ่มตัวอย่าง ADC จาก pin ลอยด้วยนิ้วสัมผัสมันทุกขณะนี้แล้วคนอื่น ๆ เป็น lowpassed รุ่นของมันที่กำลังเพิ่มขึ้นบางสิ่งบางอย่างที่จะต้องทราบเกี่ยวกับรูปร่าง it. the การปรับชี้แจง slowish ไป การตอบสนองแบบขั้นบันไดเหมือนกับตัวเก็บประจุที่ชาร์จไฟได้เร็วโดยเริ่มจากช้าลงและช้าลงเพราะสัดส่วนของความแตกต่างด้านซ้ายทำให้เกิดการสึกหรอของ spikes ขนาดใหญ่เพียงเล็กน้อยซึ่งเป็นไปได้ที่จะกรองยากเกินไปแม้ว่าคำตัดสินนั้นจะขึ้นอยู่กับ มากในความเร็วในการสุ่มตัวอย่างและความถี่เนื้อหาการปรับตัวของคุณ needs. in ในภาพที่สองการสั่นแบบเต็มช่วงออกมาครึ่งหนึ่งไม่มากเพราะการกรอง แต่ยัง ส่วนใหญ่เนื่องจากตัวอย่างดิบมากที่สุดรอบมีอิ่มตัวที่ปลายทั้งสองของช่วง ADC s, และความถี่ cutoff ส่วนบทความนี้เป็น stub อาจกองบันทึกกึ่งจัดเรียงไม่ได้ตรวจสอบอย่างดีจึงอาจไม่ถูกต้อง บิตรู้สึกอิสระที่จะละเว้นแก้ไขหรือบอก me. is ปัจจัยการทำให้ราบรื่นในทางทฤษฎีระหว่าง 0 0 และ 1 0 ในทางปฏิบัติมักจะ 0 2 และมักจะ 0 1 หรือเล็กเพราะเหนือที่คุณแทบจะไม่ทำใด ๆ กรองใน DSP มัน มักจะใช้ on. t dt ที่เขียนอย่างสม่ำเสมอช่วงเวลาระหว่างตัวอย่างการทดแทนการสุ่มตัวอย่าง rate. a การเลือกเวลา tau คงที่ aka RC หลังดูเหมือนว่าการอ้างอิงไปยังตัวต้านทาน-plus-capacitor วงจรซึ่งยังไม่ lowpass โดยเฉพาะ RC ให้ เวลาที่ค่าใช้จ่ายตัวเก็บประจุเพื่อถ้าคุณเลือกใกล้ RC dt คุณจะได้รับ alphas สูงกว่า 5 และความถี่ตัดที่อยู่ใกล้ความถี่ Nyquist เกิดขึ้นที่ 0 666 ตรวจสอบซึ่งกรองออกน้อยที่ มันทำให้กรองเป็นธรรม pointless. In การปฏิบัติคุณจะ oft en เลือก RC ที่อย่างน้อยสองสามตัวของ dt ซึ่งหมายความว่าอยู่ในลำดับที่ 0 1 หรือน้อยกว่าเมื่อการสุ่มตัวอย่างเกิดขึ้นในช่วงเวลาที่เข้มงวดเช่นเสียงความสัมพันธ์ของ RC กับความถี่ถูกกำหนดไว้อย่างชัดเจนตัวอย่างเช่น ความถี่ในการตัดความถี่จะถูกกำหนดไว้เป็นอย่างดีตัวอย่างเช่นเมื่อ RC 0 002sec การตัดเฉือนอยู่ที่การสุ่มตัวอย่าง 200Hz, 2000Hz และ 20000Hz ซึ่งทำให้ alphas เท่ากับ 0 7, 0 2 และ 0 024 ตามลำดับที่ความเร็วในการสุ่มตัวอย่างเดียวกัน alpha ที่ต่ำกว่าคือการปรับตัวให้เข้ากับค่าใหม่และการตรวจสอบความถี่ cutoff ที่ต่ำกว่าสำหรับความถี่ต่ำสุด lowpass. at แรกการตอบสนองเกือบสมบูรณ์ flat. at ความถี่นี้การตอบสนองคือ -3dB เริ่มหดตัวลงใน knee. at โค้งงอนุ่มนวลขึ้นความถี่สูงจะลดลงที่ 6db octave 20dB decade. Higher-order จะหลุดออกไปได้เร็วขึ้นและมีหัวเข่าที่แข็งขึ้นสังเกตว่ายังมี เฟสซึ่งล่าช้าหลังการป้อนข้อมูลขึ้นอยู่กับ freque ncy จะเริ่มต้นเร็วกว่า falloff amplitude และจะ -45 องศาที่ความถี่ข้อเข่าตัวอย่างการตรวจสอบ Arduino ส่วนบทความนี้เป็น stub อาจเป็นกองบันทึกครึ่งเรียงลำดับไม่ได้ตรวจสอบอย่างดีจึงอาจมีบิตไม่ถูกต้องรู้สึก อิสระที่จะละเว้นแก้ไขหรือบอกฉันนี่คือรุ่นหน่วยความจำหนึ่งชิ้นสำหรับเมื่อคุณสนใจเฉพาะมูลค่าการส่งออกล่าสุดเท่านั้น
Comments
Post a Comment