กำลังย้ายตัวกรองเฉลี่ย (ตัวกรอง MA) กำลังโหลด ตัวกรองค่าเฉลี่ยเคลื่อนที่เป็นตัวกรองแบบ FIR (Finite Impulse Response) แบบ Low Pass ที่ใช้กันโดยทั่วไปสำหรับการจัดเรียงข้อมูลตัวอย่างแบบสุ่มตัวอย่าง ใช้เวลา M ตัวอย่างของการป้อนข้อมูลในแต่ละครั้งและใช้ค่าเฉลี่ยของ M-samples เหล่านี้และสร้างจุดเอาต์พุตเดี่ยว เป็นโครงสร้าง LPF (Low Pass Filter) ที่เรียบง่ายซึ่งเป็นประโยชน์สำหรับนักวิทยาศาสตร์และวิศวกรในการกรององค์ประกอบเสียงรบกวนที่ไม่พึงประสงค์จากข้อมูลที่ต้องการ เมื่อความยาวของตัวกรองเพิ่มขึ้น (พารามิเตอร์ M) ความนุ่มนวลของเอาท์พุทจะเพิ่มขึ้นในขณะที่ความคมชัดของการเปลี่ยนข้อมูลจะเพิ่มมากขึ้น นี่หมายความว่าตัวกรองนี้มีการตอบสนองโดเมนเวลาที่ยอดเยี่ยม แต่มีการตอบสนองต่อความถี่ต่ำ ตัวกรอง MA ทำหน้าที่สำคัญ 3 ประการคือ 1) ต้องใช้ M Input Point, คำนวณค่าเฉลี่ยของ M-points เหล่านี้และสร้างจุดเอาต์พุตเดี่ยว 2) เนื่องจากมีการคำนวณการคำนวณ ตัวกรองแนะนำจำนวนครั้งที่แน่นอนของการหน่วงเวลา 3) ตัวกรองทำหน้าที่เป็นตัวกรองความถี่ต่ำ (มีการตอบสนองโดเมนความถี่ต่ำและการตอบสนองโดเมนที่ดี) รหัส Matlab: โค้ด MATLAB ดังต่อไปนี้จะจำลองการตอบสนองโดเมนเวลาของตัวกรองค่าเฉลี่ยเคลื่อนที่แบบ M-point และคำนวณการตอบสนองความถี่สำหรับความยาวของตัวกรองต่างๆ การตอบสนองโดเมนระยะเวลา: ในพล็อตแรกเรามีข้อมูลเข้าที่จะเข้าสู่ตัวกรองค่าเฉลี่ยเคลื่อนที่ การป้อนข้อมูลมีเสียงดังและวัตถุประสงค์ของเราคือการลดเสียงรบกวน ตัวเลขต่อไปคือการตอบสนองการส่งออกของตัวกรองการเคลื่อนที่เฉลี่ย 3 จุด สามารถอนุมานได้จากรูปที่ตัวกรอง 3 จุด Moving Average ไม่ได้ทำอะไรมากนักในการกรองเสียงรบกวน เราเพิ่มตัวกรองก๊อกเป็น 51 จุดและเราจะเห็นว่าเสียงในเอาต์พุตลดลงมากซึ่งแสดงในรูปถัดไป เราเพิ่มก๊อกต่อไปที่ 101 และ 501 และเราสามารถสังเกตได้ว่าถึงแม้จะมีสัญญาณรบกวนอยู่เกือบเป็นศูนย์การเปลี่ยนภาพจะลดลงอย่างเห็นได้ชัด (สังเกตความชันที่ด้านข้างของสัญญาณและเปรียบเทียบกับการเปลี่ยนแปลงของผนังอิฐที่เหมาะสมใน ข้อมูลของเรา) การตอบสนองต่อความถี่: จากการตอบสนองต่อความถี่คุณสามารถยืนยันได้ว่าการม้วนออกช้ามากและการลดทอนของแถบหยุดไม่ดี เมื่อพิจารณาการลดทอนแถบหยุดนี้อย่างชัดเจนตัวกรองค่าเฉลี่ยเคลื่อนที่จะไม่สามารถแยกย่านความถี่หนึ่งจากอีกความถี่หนึ่งได้ อย่างที่เราทราบดีว่าประสิทธิภาพที่ดีในโดเมนเวลาทำให้ประสิทธิภาพในโดเมนความถี่ต่ำและในทางกลับกัน ในระยะสั้นค่าเฉลี่ยเคลื่อนที่เป็นตัวกรองความราบรื่นที่ดีมาก (การทำงานในโดเมนเวลา) แต่เป็นตัวกรองความถี่ต่ำที่ไม่ดี (การดำเนินการในโดเมนความถี่) ลิงก์ภายนอก: หนังสือที่แนะนำ: Primary SidebarThesystems 211salsoknown เป็นค่าเฉลี่ยเคลื่อนที่ - pointsmoothingFIRplusmnlter ThesystemofEq (2.13) isalsoknown เป็นพลางเฉลี่ยเคลื่อนที่ เราแสดงให้เห็นถึงการใช้งานในคอมโพเนนต์ความถี่สูงจากสัญญาณที่ประกอบด้วยสัญญาณไซน์หลายสัญญาณ ตัวอย่างนี้มีส่วนเบลอโดยเจตนา ลงชื่อสมัครใช้เพื่อดูเวอร์ชันเต็ม 20 บทที่ 2 เสนโคงระบบ Discrete-Time ใน Time Domain Program P21 การเลียนแบบ M-point Moving Average Filter สรางสัญญาณอินพุท n 0: 100 s1 cos (2pi0.05n) ไซแนปไซตความถี่ต่ํา s2 cos (2pi0.47n) A ความถี่สูงไซน์ไซด์ x s1s2 การดำเนินการของค่าเฉลี่ยของตัวกรองการเคลื่อนย้าย M input (rsquoDesired length ของตัวกรอง rsquo) num คน (1, M) y filter (num, 1, x) M แสดงสัญญาณขาเข้าและขาออก subflots (2,2 , 1) แกน plot (n, s1) (0, 100, -2, 2) xlabel (rsquoTime index nrsquo) ylabel (rsquoAmplitudersquo) (rsquoSignal 1rsquo) แผนผังย่อย (2,2,2) พล็อต (n, s2) แกน (rsquoSignal 2rsquo) แผนผังย่อย (2,2,3) พล็อต (n, x) แกน (0, 100, -2, 2) xlabel (rsquoTime index nrsquo) xlabel (rsquoTime index nrsquo) ชื่อ (rsquoAmplitudersquo) ชื่อเรื่อง (rsquoInput Signalrsquo) แผนผังย่อย (2,2,4) พล็อต (n, y) แกน (0, 100, -2, 2) xlabel (rsquoTime index nrsquo) ylabel (rsquoAmplitudersquo) (rsquoOutput Signalrsquo) คำถามแกน: Q2.1 เรียกใช้ progra ข้างต้น m สำหรับ M2 เพื่อสร้างสัญญาณเอาต์พุตด้วย xn s1n s2n เป็นอินพุท ส่วนประกอบของอินพุท x ถูกยับยั้งโดยระบบแบบไม่ต่อเนื่องเวลาที่จำลองโดยโปรแกรมนี้ Q2.2 ถ้าระบบ LTI เปลี่ยนจาก yn 0.5 (xn xn - 1) เป็น 0.5 (xn - xn - 1) สิ่งที่จะเป็นผลต่อการป้อนข้อมูล xn s1n s2n Q2.3 เรียกใช้โปรแกรม P2 1 สำหรับค่าอื่น ๆ ของความยาว Flter M และค่าต่างๆของความถี่ของสัญญาณไซน์ s1n และ s2n แสดงความคิดเห็นในผลลัพธ์ของคุณ 2.4 การจำลองแบบของระบบ Discrete-Time 21 Q2.4 ปรับเปลี่ยนโปรแกรม P2 1 เพื่อใช้สัญญาณไซน์ความถี่ต่ำที่มีความยาว 101, ความถี่ต่ำสุด 0. และความถี่สูงสุด 0.5 เป็นสัญญาณเข้า (ดูโปรแกรม P1 7) และคำนวณค่า สัญญาณขาออก คุณสามารถอธิบายผลของคำถาม Q2.1 และ Q2.2 ได้จากการตอบสนองของระบบนี้ต่อสัญญาณความถี่กวาด โครงการ 2.2 ระบบ Nonreteear Discrete-Time แบบไม่เชิงเส้น (ไม่บังคับ) ให้ yn เป็นสัญญาณที่สร้างขึ้นโดยใช้การทำงานเชิงเส้นต่อไปนี้กับสัญญาณ x n ynxn 2 ลบ xn ลบ 1 xn 1. (2.14) ในโครงการนี้คุณจะสร้าง output yn ของระบบข้างต้นสําหรับ input xn ประเภทต่างๆโดยใช้ Program P2 2. โปรแกรม MATLAB ต่อไปนี้สามารถใช้ในการสร้างสัญญาณเข้า xn ประกอบด้วยผลรวมของสองลำดับ sinusoidal และจำลองระบบ LTI ของ Eq (2.12) เพื่อสร้าง y n โปรแกรม P22 สร้างสัญญาณเข้า sinusoidal clf n 0: 200 x cos (2pi0.05n) คำนวณสัญญาณเอาท์พุท x1 x 0 0 x1n xn1 x2 0 x 0 x2n xn x3 0 0 x x3n xn-1 y x2.x2 - x1. x3 yy (2: 202) พล็อตอินพุตและเอาต์พุตแผนย่อย (2,1,1) พล็อต (n, x) xlabel (rsquoTime ดัชนี nrsquo) ylabel (rsquoAmplitudersquo) (rsquoInput Signalrsquo) subplot (2,1,2) (rsquoAmplitudersquo) title (rsquoOutput signalsrsquo) คำถาม: Q2.5 ใช้สัญญาณไซน์กับความถี่ที่แตกต่างกันเป็นสัญญาณเข้าและคำนวณสัญญาณเอาท์พุทสำหรับแต่ละอินพุท สัญญาณเอาต์พุตขึ้นอยู่กับความถี่ของสัญญาณอินพุตอย่างไรคุณสามารถตรวจสอบการสังเกตของคุณได้ทางคณิตศาสตร์ตัวอย่างนี้มีส่วนเบลอโดยเจตนา การตอบสนองความถี่ของระบบ LTI คือ DTFT ของการตอบสนองของอิมพัลส์การตอบสนองต่ออิมพัลส์ของค่าเฉลี่ยเคลื่อนที่ L-sample คือเนื่องจากตัวกรองค่าเฉลี่ยเคลื่อนที่เป็น FIR การตอบสนองต่อความถี่ลดลงเป็นผลรวมที่ จำกัด เราสามารถใช้ตัวระบุที่เป็นประโยชน์ในการเขียนการตอบสนองตามความถี่ที่เราได้ให้ ae minus jomega N 0 และ M L ลบ 1. เราอาจสนใจขนาดของฟังก์ชั่นนี้เพื่อหาความถี่ที่จะได้รับผ่านตัวกรองที่ไม่มีการลดทอนและจะถูกลดทอนลง ด้านล่างเป็นพล็อตของขนาดของฟังก์ชั่นนี้สำหรับ L 4 (สีแดง), 8 (สีเขียว) และ 16 (สีฟ้า) แกนแนวนอนมีตั้งแต่ศูนย์ถึง pi radian ต่อตัวอย่าง สังเกตได้ว่าในทั้งสามกรณีการตอบสนองต่อความถี่มีลักษณะ lowpass คอมโพเนนต์คงที่ (ความถี่เป็นศูนย์) ในอินพุตจะผ่านตัวกรองที่ไม่มีการลดทอน ความถี่ที่สูงขึ้นบางอย่างเช่น pi 2 จะถูกกำจัดออกโดยตัวกรอง อย่างไรก็ตามหากมีเจตนาในการออกแบบตัวกรองสัญญาณ Lowpass เราก็ยังไม่ได้ผลดีนัก บางส่วนของความถี่ที่สูงขึ้นจะลดทอนลงได้เพียงประมาณ 110 (สำหรับค่าเฉลี่ยเคลื่อนที่ 16 จุด) หรือ 13 (สำหรับค่าเฉลี่ยเคลื่อนที่สี่จุด) เราสามารถทำได้ดีกว่าที่ พล็อตข้างต้นถูกสร้างขึ้นโดยรหัส Matlab ต่อไปนี้: omega 0: pi400: pi H4 (14) (1-exp (-iomega4)) (1-exp (-iomega)) H8 (18) (1-exp (- (1-exp (-iomega16)) (1-exp (-iomega)) พล็อต (โอเมก้า, abs (H4) abs (H8) abs ( H16)) axis (0, pi, 0, 1) สำเนาลิขสิทธิ์ 2000- - University of California, Berkeley ฉันต้องคำนวณค่าเฉลี่ยที่เคลื่อนที่เหนือชุดข้อมูลภายในวงเล็บ for ฉันต้องได้รับค่าเฉลี่ยเคลื่อนที่มากกว่า N9 วัน การคำนวณ Im array เป็นค่า 365 ค่า (M) ซึ่งเป็นค่าเฉลี่ยของชุดข้อมูลอื่น ฉันต้องการคำนวณค่าเฉลี่ยของข้อมูลโดยมีค่าเฉลี่ยเคลื่อนที่ในพล็อตเดียว ฉัน googled เล็กน้อยเกี่ยวกับการย้ายเฉลี่ยและคำสั่ง conv และพบสิ่งที่ฉันพยายามใช้ในรหัสของฉัน: ดังนั้นโดยทั่วไปฉันคำนวณค่าเฉลี่ยของฉันและพล็อตมันด้วยค่าเฉลี่ยเคลื่อนที่ (ผิด) ฉันเลือกค่า wts จากเว็บไซต์ mathworks เพื่อที่ไม่ถูกต้อง (source: mathworks. nlhelpeconmoving-average-trend-estimation. html) ปัญหาของฉันแม้ว่าเป็นที่ฉันไม่เข้าใจสิ่งที่เป็น wts นี้ ทุกคนสามารถอธิบายได้หากมีบางสิ่งที่เกี่ยวข้องกับน้ำหนักของค่า: นั่นคือไม่ถูกต้องในกรณีนี้ ค่าทั้งหมดมีน้ำหนักเท่ากัน ถ้าฉันทำผิดอย่างนี้ฉันขอความช่วยเหลือด้วยความจริงใจขอบคุณ ถาม 23 กันยายนเวลา 14.00 น. เวลา 19:05 น. การใช้ Conv คือวิธีที่ยอดเยี่ยมในการใช้ค่าเฉลี่ยเคลื่อนที่ ในรหัสที่คุณกำลังใช้ wts คือจำนวนที่คุณชั่งน้ำหนักแต่ละค่า (ตามที่คุณคาดเดา) ผลรวมของเวกเตอร์นั้นควรมีค่าเท่ากับหนึ่ง ถ้าคุณต้องการให้น้ำหนักแต่ละค่าเท่ากันและทำตัวกรองการเคลื่อนย้าย N ขนาดแล้วคุณจะต้องการใช้การใช้อาร์กิวเมนต์ที่ถูกต้องใน conv จะทำให้มีค่าน้อยกว่า Ms มากกว่าที่คุณมีใน M. ใช้เหมือนกันถ้าคุณไม่ทราบผลกระทบของ ศูนย์ padding หากคุณมีกล่องเครื่องมือในการประมวลผลสัญญาณคุณสามารถใช้ cconv ถ้าต้องการลองใช้ค่าเฉลี่ยเคลื่อนที่แบบวงกลม สิ่งที่ต้องการคุณควรอ่านเอกสาร conv และ cconv เพื่อดูข้อมูลเพิ่มเติมหากยังไม่ได้ทำ คุณสามารถใช้ตัวกรองเพื่อหาค่าเฉลี่ยในการทำงานโดยไม่ใช้ลูปสำหรับ ตัวอย่างนี้จะหาค่าเฉลี่ยการทำงานของเวกเตอร์ 16 องค์ประกอบโดยใช้ขนาดหน้าต่างเป็น 5 2) เรียบเป็นส่วนหนึ่งของ Curve Fitting Toolbox (ซึ่งมีให้บริการในกรณีส่วนใหญ่) yy smooth (y) ทำให้ข้อมูลในเวกเตอร์ของคอลัมน์เรียบ y โดยใช้ตัวกรองค่าเฉลี่ยเคลื่อนที่ ผลลัพธ์จะถูกส่งกลับในเวกเตอร์ของคอลัมน์ yy ช่วงค่าเริ่มต้นสำหรับค่าเฉลี่ยเคลื่อนที่คือ 5
No comments:
Post a Comment