Tuesday 18 July 2017

การย้าย ค่าเฉลี่ย ตามที่ ต่ำ ผ่านการ กรอง


ฉัน m coding อะไรในขณะที่ฉัน m การพวงของค่าในช่วงเวลาจากเข็มทิศฮาร์ดแวร์เข็มทิศนี้มีความถูกต้องมากและปรับปรุงมากมักจะมีผลว่าถ้า jiggles เล็กน้อยฉันสิ้นสุดกับค่าแปลกที่ s ลำพอง ไม่สอดคล้องกับเพื่อนบ้านของฉันฉันต้องการที่จะเรียบค่าเหล่านั้นออกมีการอ่านบางรอบก็จะปรากฏว่าสิ่งที่ฉันต้องการเป็นตัวกรองสูงผ่านตัวกรองต่ำผ่านหรือค่าเฉลี่ยเคลื่อนที่ย้ายเฉลี่ยฉันสามารถลงด้วยเพียง เก็บประวัติของ 5 ค่าล่าสุดหรือสิ่งใดและใช้ค่าเฉลี่ยของค่าที่ล่องในรหัสของฉันที่ฉันเพิ่งใช้ value. That ล่าสุดที่ควรฉันคิดว่าเรียบออก jiggles เหล่านั้นอย่าง แต่นัดฉันว่า มันอาจจะค่อนข้างไม่มีประสิทธิภาพและนี่อาจเป็นหนึ่งในปัญหาที่เป็นที่รู้จักไปยังโปรแกรมเมอร์ที่เหมาะสมซึ่งมีจริงๆฉลาด Clever คณิตศาสตร์ solution. I am แต่หนึ่งในโปรแกรมที่สอนตัวเองอันยิ่งใหญ่ด้วยตนเองโดยไม่ต้องฉีกขาดของการศึกษาอย่างเป็นทางการในสิ่งที่แม้ เกี่ยวกับคลุมเครือ CompSci หรือคณิตศาสตร์อ่านรอบ bit แนะนำว่าอาจเป็นตัวกรอง pass สูงหรือต่ำ แต่ฉันไม่สามารถหาสิ่งที่อธิบายในแง่เข้าใจกับสับเช่นฉันว่าผลของขั้นตอนวิธีเหล่านี้จะอยู่ในอาร์เรย์ของค่าให้ คนเดียววิธีการทำงานคณิตศาสตร์คำตอบให้ที่นี่เช่นเทคนิคจะตอบคำถามของฉัน แต่เฉพาะในแง่เข้าใจกับผู้ที่อาจจะรู้วิธีแก้ปัญหามันจะเป็นคนน่ารักมากและฉลาดแน่นอนที่สามารถอธิบาย ประเภทของปัญหานี้และวิธีการแก้ปัญหาการทำงานในแง่ที่เข้าใจศิลปะการศึกษาบัณฑิต 21 กันยายน 10 ที่ 13 01 ถ้าค่าเฉลี่ยเคลื่อนที่ของคุณจะต้องมีความยาวเพื่อให้บรรลุเรียบที่จำเป็นและคุณ don t ต้องจริงๆ เคอร์เนลใดรูปร่างหนึ่งแล้วคุณจะดีกว่าถ้าคุณใช้ exponentially decaying average. where ย้ายที่คุณเลือกเล็กเป็นค่าคงที่เหมาะสมเช่นถ้าคุณเลือก 1 - 1 n เล็ก ๆ ก็จะมีจำนวนเท่ากับค่าเฉลี่ยเป็นหน้าต่าง ของขนาด N, แต่กระจายแตกต่างกันไปกว่าคะแนนที่มีอายุมากกว่าอย่างไรก็ตามเมื่อค่าเฉลี่ยต่อไปของค่าเฉลี่ยเคลื่อนที่ขึ้นอยู่กับข้อมูลก่อนหน้านี้และข้อมูลของคุณเท่านั้นคุณจะต้องไม่เก็บคิวหรืออะไรก็ได้และคุณสามารถคิดเช่นนี้ได้ว่ากำลังทำอะไรเช่น " ฉันมีจุดใหม่ แต่ฉันไม่ไว้ใจจริงๆดังนั้นฉันจะเก็บค่าประมาณเก่าของการวัดของฉันไว้ 80 และเชื่อถือเฉพาะจุดข้อมูลใหม่นี้ 20 นั่นก็เหมือนกับการพูดว่า "ดีฉัน เชื่อใจจุดใหม่นี้ 20 และฉันจะใช้คะแนนอื่น ๆ อีก 4 คะแนนที่ฉันไว้ใจในจำนวนเดียวกันยกเว้นว่าแทนที่จะใช้คะแนนอื่น ๆ อีก 4 คะแนนคุณสมมติว่าค่าเฉลี่ยที่คุณทำในครั้งสุดท้ายเป็นค่าที่เหมาะสมเพื่อให้คุณสามารถใช้ค่าเดิมได้ work. answered Sep 21 10 at 14 27.Hey ฉันรู้ว่านี่คือ 5 ปีปลาย แต่ขอบคุณสำหรับคำตอบที่น่ากลัวฉัน m ทำงานในเกมที่มีการเปลี่ยนแปลงเสียงขึ้นอยู่กับความเร็วของคุณ แต่เนื่องจากการทำงานเกมช้า คอมพิวเตอร์ความเร็วจะผันผวนอย่างรุนแรงซึ่งได้ดีสำหรับพวงมาลัย แต่ super รำคาญใน ter ms ของเสียงนี้เป็นทางออกที่ง่ายและราคาถูกจริงๆสิ่งที่ฉันคิดว่าจะเป็นปัญหาที่ซับซ้อนมากอดัม 16 มีนาคม 15 ที่ 20 20. หากคุณกำลังพยายามที่จะลบค่าแปลก ๆ เป็นครั้งคราวกรองต่ำผ่านเป็นสิ่งที่ดีที่สุดของ สามตัวเลือกที่คุณระบุตัวกรอง Low-pass อนุญาตให้มีการเปลี่ยนแปลงความเร็วต่ำเช่นตัวที่เกิดจากการหมุนเข็มทิศด้วยมือขณะที่ปฏิเสธการเปลี่ยนแปลงความเร็วสูงเช่นการเปลี่ยนแปลงที่เกิดจากแรงกระแทกบนท้องถนนเช่นค่าเฉลี่ยเคลื่อนที่ อาจจะไม่เพียงพอเนื่องจากผลกระทบของการ blip เดียวในข้อมูลของคุณจะมีผลต่อค่าที่ตามมาหลายค่าขึ้นอยู่กับขนาดของหน้าต่างเฉลี่ยที่เคลื่อนที่ของคุณหากค่าคี่ถูกตรวจพบได้ง่ายคุณอาจจะดีกว่าด้วยความผิดพลาด - ขั้นตอนการกำจัดที่สมบูรณ์ละเว้นพวกเขาต่อไปนี้เป็นกราฟ guick เพื่อแสดงกราฟแรกเป็นสัญญาณขาเข้าที่มีความผิดพลาดที่ไม่พึงประสงค์อย่างใดอย่างหนึ่งกราฟที่สองแสดงให้เห็นถึงผลกระทบของค่าเฉลี่ยเคลื่อนที่ 10 ตัวอย่างกราฟสุดท้ายคือการรวมกันของ 10- ค่าเฉลี่ยตัวอย่างและ th อัลกอริธึมการตรวจจับความผิดพลาดแบบธรรมดาที่แสดงข้างต้นเมื่อตรวจพบว่ามีการตรวจจับความผิดปกติค่าเฉลี่ย 10 ตัวอย่างจะถูกใช้แทนค่าจริง 21 Sep 10 10 13 38. อธิบายอย่างชาญฉลาดและคะแนนโบนัสสำหรับกราฟ Henry Cooke 22 ก. ย. 10 ที่ 0 50.Wow Seldomly เห็นเช่นคำตอบที่ดี Muis Jun 4 13 ที่ 9 14.The ค่าเฉลี่ยเคลื่อนที่เป็นตัวกรองผ่านต่ำตุลาคม 21 13 ที่ 19 36 ลองใช้มัธยฐานสตรีมมิ่งแทน kert 25 เมษายนที่ 22 09.Moving เฉลี่ย I จะได้รับลงด้วย แต่นัดฉันว่ามันอาจจะค่อนข้างไม่มีประสิทธิภาพ. มีจริงไม่มีเหตุผลเฉลี่ยเคลื่อนที่ควรจะไม่มีประสิทธิภาพคุณเก็บจำนวนจุดข้อมูลที่คุณต้องการในบัฟเฟอร์บางอย่างเช่นคิววงกลมในแต่ละจุดข้อมูลใหม่คุณป๊อป ค่าที่เก่าที่สุดและลบออกจากผลรวมและผลักดันใหม่ล่าสุดและเพิ่มลงในผลรวมดังนั้นทุกจุดข้อมูลใหม่จริงๆ entails ดัน pop, บวกและลบค่าเฉลี่ยเคลื่อนที่ของคุณอยู่เสมอนี้ขยับรวมหารด้วยจำนวน ค่าใน buffer. It ของคุณได้รับเล็กน้อยยากหากคุณอีกครั้ง รับข้อมูลพร้อมกันจากหลาย ๆ กระทู้ แต่เนื่องจากข้อมูลของคุณมาจากอุปกรณ์ฮาร์ดแวร์ที่ดูเหมือนจะเป็นที่น่าสงสัยอย่างมากต่อ me. Oh และโปรแกรมเมอร์ที่เรียนด้วยตัวเองอันเลวร้ายด้วยกันค่าเฉลี่ยในการเคลื่อนที่ดูเหมือนไม่มีประสิทธิภาพสำหรับฉันเพราะคุณต้องเก็บบัฟเฟอร์ค่า - ดีกว่าเพียงแค่ทำคณิตศาสตร์เคลฟเวอร์บางอย่างที่มีค่าอินพุทและค่าการทำงานปัจจุบันของคุณผมคิดว่าค่าเฉลี่ยของการเคลื่อนที่แบบเสวนา (exconential moving average) การเพิ่มประสิทธิภาพที่ผมได้เห็นสำหรับค่าเฉลี่ยเคลื่อนที่นี้คือการใช้คิวยาวที่มีความยาวคงที่ไปยังตำแหน่งที่คุณอยู่ ที่คิวและเพียงแค่การห่อตัวชี้ไปรอบ ๆ ด้วยหรือถ้า Voila ไม่มี Pop Push ที่มีราคาแพงกับมือสมัครเล่นพี่ชาย Henry Cooke Sep 22 10 ที่ 0 54 Henry สำหรับค่าเฉลี่ยเคลื่อนที่ตรงที่คุณต้องการบัฟเฟอร์เพียงเพื่อให้คุณ รู้ว่าสิ่งที่ได้รับค่า popped เมื่อค่าถัดไปได้รับการผลักดันที่กล่าวว่าคิวยาวความยาวตัวชี้ที่คุณกำลังอธิบายคือสิ่งที่ฉันหมายโดยคิววงกลมนั่นคือเหตุผลที่ผมบอกว่ามันเป็นไปไม่ได้ isn t อะไรคุณคิดว่าฉัน หมายถึงและหากการตอบสนองของคุณเป็นอาร์เรย์ที่จะเปลี่ยนค่าของมันกลับในการลบการจัดทำดัชนีทุกเช่นเวกเตอร์มาตรฐานใน C ดีแล้วฉัน m ดังนั้นเจ็บฉัน don t แม้ต้องการพูดคุยกับคุณอีก Dan Tao 22 ก. ย. 10 ที่ 1 58. Henry I don t รู้เกี่ยวกับ AS3 แต่โปรแกรมเมอร์ Java s มีคอลเลกชันเช่น CircularQueue ที่การกำจัดของเขาฉัน m ไม่พัฒนา Java ดังนั้นฉัน m แน่ใจว่ามีตัวอย่างที่ดีกว่าออกมีที่สิ่งที่ฉันพบจากการค้นหา Google รวดเร็วซึ่งนำมาใช้ ฟังก์ชันการทำงานที่เราพูดถึงเกี่ยวกับฉันค่อนข้างมั่นใจว่าภาษากลางและระดับล่างส่วนใหญ่มีไลบรารีมาตรฐานมีบางอย่างที่คล้ายคลึงกันเช่นมี Queue T แต่ว่าฉันเป็นปรัชญาเองดังนั้นทั้งหมดนี้ได้รับการยกย่อง Dan Tao Sep 22 10 at 12 44. ค่าเฉลี่ยเคลื่อนที่ที่ลดลงเรื่อย ๆ สามารถคำนวณได้ด้วยมือโดยมีเฉพาะแนวโน้มถ้าคุณใช้ค่าที่เหมาะสมดูความคิดในการทำเช่นนี้ได้อย่างรวดเร็วด้วยปากกาและกระดาษถ้าคุณต้องการหาค่าเฉลี่ยเคลื่อนที่แบบเรียบ แต่ตั้งแต่คุณ hav ea คอมพิวเตอร์คุณอาจต้องการที่จะทำไบนารีขยับตรงข้ามกับการขยับทศนิยมวิธีนี้ทั้งหมดที่คุณต้องเป็นตัวแปรสำหรับค่าปัจจุบันของคุณและหนึ่งสำหรับเฉลี่ยค่าเฉลี่ยต่อไปจะสามารถคำนวณได้จาก that. answered Sep 21 10 at 14 39. มีเทคนิคที่เรียกว่าเกตเวย์ช่วงที่ทำงานได้ดีกับตัวอย่างปลอมที่เกิดขึ้นในระดับต่ำสมมติให้ใช้เทคนิคตัวกรองชนิดหนึ่งที่กล่าวถึงข้างต้นเป็นค่าเฉลี่ยเคลื่อนที่เป็นเลขชี้กำลังเมื่อคุณมีประวัติเพียงพอหนึ่งเวลาคงที่คุณสามารถทดสอบใหม่ได้ ตัวอย่างข้อมูลสำหรับความสมเหตุสมผลก่อนที่จะถูกเพิ่มลงในการคำนวณความรู้บางส่วนของอัตราการเปลี่ยนแปลงของอัตราที่เหมาะสมที่สุดของสัญญาณจะต้องใช้ตัวอย่างดิบเทียบกับค่าที่ราบเรียบล่าสุดและถ้าค่าสัมบูรณ์ของความแตกต่างนั้นคือ มากกว่าที่ได้รับอนุญาตตัวอย่างที่ถูกโยนออกหรือแทนที่ด้วย heuristic บางเช่นการทำนายขึ้นอยู่กับความแตกต่างความลาดชันหรือค่าคาดการณ์แนวโน้มจากการเรียบแบบเสแสร้งแบบทวีคูณ. 16 at 6 56.Moving Average Filter. MovingAverageFilter ใช้ตัวกรองเฉลี่ยเคลื่อนที่ต่ำผ่าน MovingAverageFilter เป็นส่วนหนึ่งของ Preprocessing Modules ตัวอย่างของสัญญาณไซน์คลื่นเสียงสุ่มกรองโดยใช้ตัวกรองเฉลี่ยเคลื่อนที่สัญญาณสีแดงเป็นสัญญาณเสียงเดิม สัญญาณสีเขียวคือสัญญาณที่กรองโดยใช้ตัวกรองค่าเฉลี่ยเคลื่อนที่ที่มีขนาดหน้าต่างเท่ากับ 5 และสัญญาณสีน้ำเงินคือสัญญาณที่กรองโดยใช้ตัวกรองค่าเฉลี่ยเคลื่อนที่ที่มีขนาดหน้าต่างอยู่ 20 ตัว MovingAverageFilter เหมาะสำหรับการลบจำนวนเล็กน้อย เสียงความถี่สูงจากสัญญาณ N มิติข้อเสียหลักของ MovingAverageFilter คือเพื่อกรองเสียงรบกวนความถี่สูงอย่างมีนัยสำคัญขนาดหน้าต่างของตัวกรองจะต้องมีขนาดใหญ่ปัญหาเกี่ยวกับการมีหน้าต่างตัวกรองขนาดใหญ่คือสิ่งนี้จะทำให้เกิด แฝงขนาดใหญ่ในสัญญาณใด ๆ ที่ผ่านตัวกรองซึ่งอาจไม่ได้เป็นประโยชน์สำหรับการใช้งานเรียลไทม์หากคุณพบว่าคุณต้องมีหน้าต่างตัวกรองขนาดใหญ่เพื่อ f ilter ออกเสียงความถี่สูงและเวลาแฝงที่เกิดจากขนาดหน้าต่างนี้ไม่เหมาะสำหรับแอ็พพลิเคชันแบบเรียลไทม์ของคุณจากนั้นคุณอาจลองใช้ตัวกรองอัตราการถ่ายคู่หรือตัวกรองความถี่ต่ำแทนตัวอย่างรหัส ตัวอย่างการสาธิต GRT MovingAverageFilter ตัวอย่างการสาธิตวิธีการสร้างและใช้โมดูล GRT MovingAverageFilter PreProcessing MovingAverageFilter ใช้ตัวกรองค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ยต่ำในตัวอย่างนี้เราสร้างอินสแตนซ์ของ MovingAverageFilter และใช้ตัวกรองนี้เพื่อกรองข้อมูลหลอกลวงที่สร้างขึ้นจากไซน์ wave random noise สัญญาณทดสอบและสัญญาณที่ผ่านการกรองจะถูกบันทึกลงในไฟล์เพื่อให้คุณสามารถคำนวณผลลัพธ์ใน Matlab, Excel และอื่น ๆ ได้ถ้าจำเป็นตัวอย่างนี้แสดงวิธีการสร้างตัวอย่าง MovingAverageFilter ใหม่ที่มีขนาดหน้าต่างเฉพาะสำหรับ 1 มิติข้อมูล - กรองข้อมูลบางส่วนโดยใช้ MovingAverageFilter - บันทึกการตั้งค่า MovingAverageFilter ลงในไฟล์ - โหลดการตั้งค่า MovingAverageFilter จากไฟล์ รวม GRT h โดยใช้ namespace GRT. int main int argc const char argv สร้างอินสแตนซ์ใหม่ของตัวกรองค่าเฉลี่ยเคลื่อนที่ที่มีขนาดหน้าต่างเท่ากับ 5 สำหรับสัญญาณ 1 มิติ MovingAverageFilter filter 5 1. สร้างและเปิดไฟล์เพื่อบันทึกไฟล์ fstream ข้อมูล เปิดไฟล์ fstream ออก สร้างข้อมูลเสียงไซน์บางส่วนและกรองข้อมูลเป็นสองเท่า x 0 const UINT M 1000 สุ่มสุ่มสำหรับ UINT i i i i i i i i i i i sin i x sin x สุ่ม getRandomNumberUniform - 0 2 0 2. กรองสองตัวกรองตัวกรองสัญญาณ filter. file signaled. exal endl. x TWOPI double M 10. ปิดไฟล์ใกล้ บันทึกการตั้งค่าตัวกรองลงในตัวกรองไฟล์ saveSettingsToFile จากนั้นเราสามารถโหลดการตั้งค่าในภายหลังหากจำเป็นต้องใช้ตัวกรอง LoadSettingsFromFile. return EXITSUCCESS MovingAverageFilter ยังทำงานร่วมกับสัญญาณ N มิติใดก็ได้ สร้างอินสแตนซ์ใหม่ของ MovingAverageFilter ที่มีขนาดหน้าต่าง 10 สำหรับสัญญาณ 3 มิติ MovingAverageFilter filter 10 3. ค่าที่คุณต้องการกรองข้อมูล double double data 3 0 0 รับค่าจากข้อมูลเซ็นเซอร์ 1 0 รับค่าจากข้อมูลเซ็นเซอร์ 2 0 รับค่าจากเซ็นเซอร์ ฟิลเตอร์กรองข้อมูลแบบกรองคู่กรองข้อมูลตัวกรองตัวกรองข้อมูลรหัสแหล่งข้อมูลตัวกรองเฉลี่ยค่าเฉลี่ย MA ตัวกรองการโหลดตัวกรองค่าเฉลี่ยเคลื่อนที่เป็นตัวกรองแบบตอบรับการตอบสนอง FIR ต่ำสุดแบบ low pass FIR ที่ใช้กันโดยทั่วไปสำหรับการให้สัญญาณข้อมูลตัวอย่างที่ราบรื่นตัวอย่าง M ต้องใช้อินพุต ในแต่ละครั้งและใช้ค่าเฉลี่ยของ M-samples เหล่านี้และสร้างจุดเอาท์พุทเป็นโครงสร้าง LPF Low Pass Filter ที่ง่ายมากสำหรับนักวิทยาศาสตร์และวิศวกรในการกรองส่วนประกอบที่มีเสียงรบกวนที่ไม่พึงประสงค์ออกจากข้อมูลที่ต้องการเมื่อความยาวของตัวกรองเพิ่มขึ้น พารามิเตอร์ M ราบเรียบของผลผลิตเพิ่มขึ้นในขณะที่การเปลี่ยนแปลงที่รุนแรงในข้อมูลที่ทำขึ้นทื่อมากขึ้นซึ่งหมายความว่าตัวกรองนี้มีการตอบสนองโดเมนที่ดีเยี่ยม แต่ตอบสนองต่อความถี่ที่ไม่ดี MA filter ทำหน้าที่สำคัญ 3 ประการ M ใช้อินพุต M คำนวณค่าเฉลี่ยของ M-points เหล่านี้และสร้างจุดเอาท์พุท 2 อันเนื่องจากการคำนวณคำนวณที่เกี่ยวข้องกับตัวกรองแนะนำ จำนวนครั้งที่แน่นอนของความล่าช้า 3 ตัวกรองทำหน้าที่เป็นตัวกรองความถี่ต่ำที่มีการตอบสนองโดเมนความถี่ต่ำและการตอบสนองโดเมนที่ดีรหัส MATLAB รหัส MATLAB ต่อไปนี้จำลองการตอบสนองโดเมนเวลาของตัวกรอง M-point Moving Average และยังวางแผนการตอบสนองต่อความถี่ สำหรับการกรองความยาวต่างๆ Time Response โดเมนป้อนข้อมูลไปยัง MA filter.3-point MA filter output. Input to Moving filter เฉลี่ยการตอบสนองของ 3 point Moving filter เฉลี่ย 1.51 จุด MA filter output101-point MA filter output. Response ของตัวกรองเฉลี่ย 51 จุดการตอบสนองของตัวกรอง MA1 จุดกรอง MA1501 จุดการตอบสนองของตัวกรองเฉลี่ยที่เคลื่อนที่ได้ 501 จุดในพล็อตแรกเรามีอินพุทที่เข้าสู่ตัวกรองค่าเฉลี่ยเคลื่อนที่ input มีเสียงดังและวัตถุประสงค์ของเราคือการลดเสียงรบกวนรูปถัดไปคือการตอบสนองเอาต์พุตของตัวกรอง 3 จุด Moving Average คุณสามารถอนุมานได้จากรูปที่ตัวกรอง 3 จุด Moving Average ไม่ได้ทำอะไรมากในการกรองเสียงรบกวน เราเพิ่ม กรองแตะที่ 51 จุดและเราจะเห็นว่าเสียงในการส่งออกได้ลดลงมากซึ่งเป็นภาพในรูปถัดไปการตอบสนองความถี่ของตัวกรองเฉลี่ยเคลื่อนที่ของความยาวต่างๆเพิ่มก๊อกต่อไป 101 และ 501 และเราสามารถ สังเกตเห็นแม้กระทั่งแม้เสียงจะเกือบเป็นศูนย์การเปลี่ยนภาพจะลดลงอย่างเห็นได้ชัดจากความลาดเอียงของด้านใดด้านหนึ่งของสัญญาณและเปรียบเทียบกับการเปลี่ยนแปลงของผนังอิฐที่เหมาะสำหรับการป้อนข้อมูลของเราการตอบสนองตามความถี่จากการตอบสนองต่อความถี่สามารถทำได้ ยืนยันว่า roll-off ช้ามากและการลดทอนแถบหยุดไม่ดีให้การลดทอนแถบหยุดนี้อย่างเห็นได้ชัด, ตัวกรองค่าเฉลี่ยเคลื่อนที่ไม่สามารถแยกแถบความถี่หนึ่งจากอีกอันเนื่องจากเรารู้ว่าการทำงานที่ดีในโดเมนเวลาส่งผลให้ สมรรถนะต่ำในโดเมนความถี่และในทางกลับกันในระยะสั้นค่าเฉลี่ยเคลื่อนที่เป็นตัวกรองที่ราบเรียบที่ดีเยี่ยมในการดำเนินการในโดเมนเวลา แต่มีตัวกรองสัญญาณต่ำผ่านที่ไม่ดีในฟอร์ โดเมน equency. External Links. Recommended Books. Primary Sidebar

No comments:

Post a Comment