คือ การเคลื่อนไหว ค่าเฉลี่ย A ต่ำ ผ่านการ กรอง


ฉัน 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 รับค่าจากเซ็นเซอร์ กรองสัญญาณเวกเตอร์กรองคู่ข้อมูลตัวกรองตัวกรองข้อมูลกรองทรัพยากรการตอบสนองความถี่ของตัวกรองเฉลี่ยที่ใช้งานการตอบสนองต่อความถี่ของระบบ LTI คือ DTFT ของการตอบสนองของอิมพัลส์การตอบสนองต่อแรงกระตุ้นของค่าเฉลี่ยเคลื่อนที่แบบแอลเอสมีค่าตั้งแต่ ตัวกรองค่าเฉลี่ยเคลื่อนที่คือ FIR การตอบสนองต่อความถี่ลดลงเป็นจำนวน จำกัด เราสามารถใช้ข้อมูลประจำตัวที่มีประโยชน์มาก ๆ เพื่อเขียนการตอบสนองตามความถี่ที่เราได้ให้ aej N 0 และ ML 1 เราอาจสนใจขนาดของข้อมูลนี้ ฟังก์ชั่นเพื่อตรวจสอบความถี่ที่ได้รับผ่านตัวกรองที่ไม่มีการลดทอนและที่ลดทอนด้านล่างเป็นพล็อตของขนาดของฟังก์ชั่นนี้สำหรับ L 4 สีแดง 8 สีเขียวและสีฟ้า 16 แกนนอนตั้งแต่ช่วงศูนย์ถึงเรเดียนต่อตัวอย่าง ในทั้งสามกรณีการตอบสนองต่อความถี่มีลักษณะ lowpass ค่าคงที่ของคอมโพเนนต์เป็นศูนย์ในอินพุทจะผ่านตัวกรองที่ไม่มีการลดทอนบางความถี่ที่สูงขึ้นเช่น 2 จะถูกกำจัดออกโดยสมบูรณ์ กรอง แต่ถ้าเจตนาคือการออกแบบตัวกรอง lowpass แล้วเรายังไม่ได้เป็นอย่างดีบางส่วนของความถี่ที่สูงขึ้นจะลดทอนเพียงปัจจัยประมาณ 1 10 สำหรับ 16 จุดเฉลี่ยเคลื่อนที่หรือ 1 3 สำหรับสี่จุดย้าย เฉลี่ยเราสามารถทำได้ดีกว่าที่แปลงข้างต้นถูกสร้างขึ้นโดยรหัส Matlab ต่อไปนี้ 0 pi 400 pi H4 1 4 1-exp - i omega 4 1-exp ไอโอเมก้า 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 .

Comments

Popular posts from this blog

Forex Trading เฉียงใต้ แอฟริกา Absa

Forex ตลาด วันหยุด 2012

เฮนรี่ Liu Forex ผู้ประกอบการค้า