29 กันยายน, 2013.Moving เฉลี่ยโดย convolution. What คือเฉลี่ยเคลื่อนที่และสิ่งที่เป็นประโยชน์สำหรับวิธีการย้ายเฉลี่ยทำโดยใช้ convolution. Moving เฉลี่ยคือการดำเนินการง่ายๆที่ใช้มักจะปราบปรามเสียงของสัญญาณที่เราตั้งค่าของแต่ละ ชี้ไปที่ค่าเฉลี่ยของค่าในละแวกของมันโดยสูตรที่นี่ x เป็น input และ y เป็นสัญญาณเอาท์พุทในขณะที่ขนาดของหน้าต่างเป็น w, ควรจะเป็นเลขคี่สูตรข้างต้นจะอธิบายถึงการดำเนินการสมมาตรตัวอย่างที่ถ่าย จากทั้งสองด้านของจุดที่เกิดขึ้นจริงข้างล่างนี้เป็นตัวอย่างชีวิตจริงจุดที่หน้าต่างถูกวางไว้จริงคือค่าสีแดงด้านนอก x ควรจะเป็นค่าศูนย์เมื่อต้องการเล่นรอบ ๆ และดูผลของค่าเฉลี่ยเคลื่อนที่ให้ดูที่นี้ การสาธิตแบบโต้ตอบวิธีการทำโดย convolution. As คุณอาจได้รับการยอมรับการคำนวณค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายคล้ายกับ convolution ในทั้งสองกรณีหน้าต่างจะเลื่อนไปตามสัญญาณและองค์ประกอบในหน้าต่างจะสรุปดังนั้นลองดู ที่จะทำ เดียวกันโดยใช้ convolution ใช้พารามิเตอร์ต่อไปนี้ออกที่ต้องการเป็นวิธีแรกให้เราลองสิ่งที่เราได้รับโดยการ convolving สัญญาณ x โดย kernel kernel ต่อไปนี้ออกเป็นว่าสามครั้งใหญ่กว่าคาดว่าจะสามารถยัง เห็นว่าค่าเอาท์พุทเป็นข้อมูลสรุปของสามองค์ประกอบในหน้าต่างเนื่องจากในระหว่างการบิดหน้าต่างจะเลื่อนตามองค์ประกอบทั้งหมดที่อยู่ในนั้นคูณด้วยหนึ่งและสรุปได้ yk 1 cdot x 1 cdot x 1 cdot x เพื่อให้ได้ค่าที่ต้องการของ y ผลลัพธ์จะหารด้วย 3. โดยสูตรรวมถึงการแบ่งส่วน แต่จะไม่เป็นการดีที่สุดในการแบ่งระหว่าง convolution นี่เป็นแนวคิดโดย rearranging สมการดังนั้นเราจะใช้ kernel k ต่อไปนี้ด้วยวิธีนี้เราจะได้รับเอาท์พุทที่ต้องการโดยทั่วไปถ้าเราต้องการที่จะทำค่าเฉลี่ยเคลื่อนที่โดย convolution ที่มีขนาดหน้าต่างของ w เราจะใช้ k kernel ต่อไปนี้ง่าย ทำหน้าที่เป็นค่าเฉลี่ยเคลื่อนที่ตัวอย่างการใช้งานคือการดาวน์โหลด movAv m ดูยัง movAv2 - รุ่นที่ปรับปรุงใหม่ให้น้ำหนักการอ้างอิง Matlab มีฟังก์ชันที่เรียกว่า movavg และ tsmovavg ค่าเฉลี่ยเคลื่อนที่แบบเรียลไทม์ในกล่องเครื่องมือทางการเงิน movAv ถูกออกแบบมาเพื่อทำซ้ำขั้นพื้นฐาน ฟังก์ชันเหล่านี้รหัสที่นี่เป็นตัวอย่างที่ดีของการจัดการดัชนีภายในลูปซึ่งอาจทำให้เกิดความสับสนในการเริ่มต้นด้วยฉันได้เก็บรหัสไว้อย่างจงใจและสั้นเพื่อให้ขั้นตอนนี้ clear. movAv มีค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ยที่สามารถทำได้ ใช้ในการกู้คืนข้อมูลที่มีเสียงดังในบางสถานการณ์การทำงานโดยการป้อนค่าเฉลี่ยของอินพุท y บนหน้าต่างเวลาเลื่อนซึ่งมีขนาดระบุโดย n ยิ่ง n มีขนาดใหญ่เท่าใด เทียบกับความยาวของเวคเตอร์อินพุต y และมีประสิทธิภาพดีการเรียงลำดับของการสร้างตัวกรองความถี่ต่ำ - ดูตัวอย่างและส่วนการพิจารณาเนื่องจากจำนวนการทำให้เรียบโดยแต่ละค่าของ n จะสัมพันธ์กับความยาวของเวกเตอร์อินพุต เสมอมูลค่าการทดสอบค่าที่แตกต่างกันเพื่อดูสิ่งที่เหมาะสมจำได้ว่าจุด n จะหายไปในแต่ละเฉลี่ยหาก n เป็น 100 ครั้งแรก 99 จุดของ input vector don t มีข้อมูลเพียงพอสำหรับ 100pt เฉลี่ยนี้สามารถหลีกเลี่ยงได้บ้างโดยการซ้อน ค่าเฉลี่ยตัวอย่างเช่นโค้ดและกราฟด้านล่างเปรียบเทียบค่าเฉลี่ยของค่าเฉลี่ยความยาวของหน้าต่างหลายค่าสังเกตว่า 10 10pt เทียบกับค่าเฉลี่ย 20pt เพียงอย่างเดียวในทั้งสองกรณีข้อมูลทั้งหมดหายไปทั้งหมด 20 จุด สร้าง xaxis x 1 0 01 5 สร้างเสียงรบกวนรบกวน 4 เสียงเรียกร้องผิดพลาด 1 เสียงเงียบเสียงรบกวน 1 เสียงเงียบเสียงรบกวน 1 เสียงรบกวนที่สร้างขึ้นใหม่ 1 เสียงรบกวนความยาวเสียงรบกวนก่อให้เกิดเสียง ydata y exp x 10 เสียง 1 ความยาว x Perfrom averages y2 movAv y, 10 10 pt y3 movAv y2, 10 10 10 pt y4 movAv y, 20 20 pt y5 movAv y, 40 40 pt y6 movAv y, 100 100 pt พล็อตล็อตล็อต x, y, y2, y3, y4, y5, y6 ตำนาน Raw ข้อมูล, ค่าเฉลี่ยเคลื่อนที่ 10pt, 10 10pt, 20pt, 40pt, 100pt xlabel x yolabel y title การเปรียบเทียบการเคลื่อนที่โดยเฉลี่ย movAv รหัส m run-through function output movAv y, n บรรทัดแรกกำหนดชื่อฟังก์ชันอินพุทและเอาต์พุตอินพุท x ควรเป็นเวกเตอร์ของข้อมูลที่จะใช้ค่าเฉลี่ยเมื่อ n ควรเป็นจำนวนจุดที่จะทำค่าเฉลี่ยมากกว่าเอาต์พุตจะมีข้อมูลเฉลี่ยที่ส่งกลับโดยฟังก์ชัน Preallocate output output NaN 1, numel y หาจุดกึ่งกลางของ n midPoint round n 2 งานหลักของฟังก์ชั่นจะทำใน loop for แต่ก่อนที่จะเริ่มเตรียม 2 สิ่งคือ Fir stally output เป็น pre - จัดสรรเป็น NaNs นี้ทำหน้าที่สองวัตถุประสงค์ preallocation แรกคือการปฏิบัติที่ดีตามที่ลดหน่วยความจำเล่นกล Matlab ต้องทำประการที่สองก็ทำให้ง่ายในการวางข้อมูลเฉลี่ยเป็นเอาท์พุทขนาดเดียวกับ อินพุทเวกเตอร์หมายความว่า xaxis เดียวกันสามารถใช้งานได้ทั้งสองแบบซึ่งเหมาะสำหรับการวางแผนหรือสามารถถอด NaN ออกได้ในหนึ่งบรรทัดของเอาท์พุทเอาท์พุทแบบย่อส่วน midpoint ตัวแปรจะใช้เพื่อจัดตำแหน่งข้อมูลในเวกเตอร์การแสดงผล ถ้า n 10 จะหายไป 10 จุดเนื่องจากใน 9 จุดแรกของเวกเตอร์อินพุตไม่มีข้อมูลเพียงพอที่จะใช้ค่าเฉลี่ย 10 จุดเนื่องจากเอาท์พุทจะสั้นกว่าข้อมูลอินพุทจะต้องมีการปรับตำแหน่งอย่างถูกต้อง midPoint จะ จะใช้เพื่อให้จำนวนข้อมูลที่เท่ากันจะหายไปเมื่อเริ่มต้นและสิ้นสุดและอินพุตจะถูกเก็บให้สอดคล้องกับผลลัพธ์โดยบัฟเฟอร์ NaN ที่สร้างขึ้นเมื่อตั้งค่าเอาต์พุตล่วงหน้าสำหรับความยาว 1 n-n ค้นหาช่วงดัชนีที่จะใช้ค่าเฉลี่ยมากกว่า abban คำนวณ ผลลัพธ์เฉลี่ย a midPoint หมายถึง yab end ในลูปสำหรับตัวเองค่าเฉลี่ยจะถูกยึดในแต่ละส่วนติดต่อกันของการป้อนข้อมูลลูปจะทำงานสำหรับ a ซึ่งกำหนดไว้เป็น 1 ถึงความยาวของอินพุต y ลบข้อมูลที่จะสูญหาย n ถ้า ใส่เป็น 100 จุดยาวและ n คือ 10, ห่วงจะทำงานจาก 1 ถึง 90 ซึ่งหมายถึงให้ดัชนีแรกของกลุ่มที่จะเฉลี่ยดัชนีที่สอง b เป็นเพียง n - 1 ดังนั้นในการทำซ้ำครั้งแรก, 1 n 10 ดังนั้น b 11-1 10 ค่าเฉลี่ยแรกจะถูกยึด yab หรือ x 1 10 ค่าเฉลี่ยของส่วนนี้ซึ่งเป็นค่าเดียวจะถูกเก็บไว้ในเอาท์พุทที่จุดกึ่งกลางของจุดศูนย์หรือ 1 5 6. บนซ้ำที่สอง , 2 b 2 10-1 11 ดังนั้นค่าเฉลี่ยจะถูกยึด x 2 11 และเก็บไว้ในเอาต์พุต 7 ในรอบสุดท้ายของลูปสำหรับอินพุทที่มีความยาว 100, 91 b 90 10-1 100 ดังนั้นค่าเฉลี่ยจะถูกนำมา มากกว่า x 91 100 และเก็บไว้ในเอาท์พุท 95 ใบนี้จะส่งผลให้มีค่า N 10 nn ที่ดัชนี 1 5 และ 96 100 ตัวอย่างและข้อควรคำนึงการย้ายค่าเฉลี่ยจะเป็นประโยชน์ในบางสถานการณ์ นี่คือตัวอย่างสองแบบที่พวกเขาไม่จำเป็นต้องดีที่สุดการปรับเทียบของไมโครโฟนชุดข้อมูลนี้แสดงถึงระดับของแต่ละความถี่ที่ผลิตโดยลำโพงและบันทึกโดยไมโครโฟนโดยมีการตอบสนองเชิงเส้นที่เป็นที่รู้จักเอาท์พุทของลำโพงแตกต่างกันไป ความถี่ แต่เราสามารถแก้ไขรูปแบบนี้ด้วยข้อมูลการสอบเทียบได้ - เอาท์พุทสามารถปรับระดับได้เพื่อให้เกิดความผันผวนในการสอบเทียบข้อมูลที่ข้อมูลดิบมีเสียงดัง - นั่นหมายความว่าการเปลี่ยนแปลงเล็กน้อยในความถี่จะต้องเกิดขึ้น ขนาดใหญ่ผิดปกติการเปลี่ยนแปลงระดับในบัญชีสำหรับเป็นจริงหรือเป็นผลิตภัณฑ์ของสภาพแวดล้อมการบันทึกเป็นอย่างเหมาะสมในกรณีนี้เพื่อใช้ค่าเฉลี่ยเคลื่อนที่ที่คลี่ออกโค้งระดับความถี่เพื่อให้เส้นโค้งการสอบเทียบที่น้อยผิดปกติ แต่ทำไมไม่เหมาะกับกรณีนี้ในตัวอย่างนี้ข้อมูลอื่น ๆ จะดีกว่า - การสอบเทียบหลายครั้งทำงานโดยเฉลี่ยจะทำลายเสียงในระบบตราบเท่าที่ยังมีการวิ่ง dom และให้เส้นโค้งที่มีรายละเอียดปลีกย่อยน้อยลงค่าเฉลี่ยเคลื่อนที่สามารถประมาณค่านี้ได้เท่านั้นและอาจลบค่า dips และ peaks ที่สูงขึ้นบางส่วนออกจากเส้นโค้งที่เกิดขึ้นได้จริงคลื่น Sine การใช้ค่าเฉลี่ยเคลื่อนที่บนคลื่นซายน์ ปัญหาของการเลือกจำนวนที่เหมาะสมของจุดที่จะดำเนินการเฉลี่ย over. It มันง่าย แต่มีวิธีการที่มีประสิทธิภาพมากขึ้นในการวิเคราะห์สัญญาณมากกว่าค่าเฉลี่ยสัญญาณสั่นในโดเมนเวลาในกราฟนี้คลื่นไซน์เดิมเป็นพล็อตในเสียงสีฟ้าคือ เพิ่มและวางแผนเป็นเส้นโค้งสีส้มค่าเฉลี่ยเคลื่อนที่จะถูกดำเนินการที่จุดต่างกันเพื่อดูว่าคลื่นต้นฉบับสามารถฟื้นตัวได้ 5 และ 10 จุดให้ผลลัพธ์ที่สมเหตุสมผล แต่อย่าเอาเสียงออกทั้งหมดซึ่งเป็นจำนวนจุดเริ่มต้นมากขึ้น สูญเสียรายละเอียด amplitude เป็นค่าเฉลี่ยขยายไปในช่วงที่แตกต่างกันจำคลื่น oscilates รอบศูนย์และค่าเฉลี่ย -1 1 0.An ทางเลือกจะสร้างตัวกรอง lowpass กว่าสามารถ ใช้กับสัญญาณในโดเมนความถี่ I m จะไม่ไปลงในรายละเอียดตามที่ไปเกินขอบเขตของบทความนี้ แต่เป็นเสียงเป็นความถี่สูงกว่าคลื่นความถี่พื้นฐานก็จะค่อนข้างง่ายในกรณีนี้เพื่อสร้าง กรอง lowpass จะช่วยลดเสียงรบกวนที่เกิดขึ้นในวันพุธที่ 08 ตุลาคม 2008 เวลา 20: 04 น. แก้ไขล่าสุดในวันพฤหัสบดีที่ 14 มีนาคม 2013 เวลา 01.30 น. เขียนโดย Batuhan Osmanoglu กด 41586.Moving Average ใน Matlab. Often ฉันพบว่าตัวเองต้องใช้ค่าเฉลี่ย ข้อมูลที่ฉันต้องลดเสียงเล็กน้อยฉันเขียนฟังก์ชันคู่ที่จะทำสิ่งที่ฉันต้องการ แต่ matlab s สร้างขึ้นในการทำงานของตัวกรองที่ดีงามเช่นกันที่นี่ฉันจะเขียนเกี่ยวกับ 1D และ 2D เฉลี่ยของ data.1D ตัวกรองสามารถ ตระหนักถึงการใช้ฟังก์ชั่นกรองฟังก์ชั่นการกรองต้องมีอย่างน้อยสามพารามิเตอร์การป้อนค่าสัมประสิทธิ์เศษสำหรับตัวกรอง b, ค่าสัมประสิทธิ์ตัวหารสำหรับตัวกรอง a และข้อมูล X ของหลักสูตรตัวกรองค่าเฉลี่ยที่ใช้สามารถกำหนดได้ d เพียง by. For ข้อมูล 2D เราสามารถใช้ฟังก์ชัน filter2 Matlab s สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของตัวกรองคุณสามารถพิมพ์นี่คือการดำเนินการอย่างรวดเร็วและสกปรกของ 16 โดย 16 กรองเฉลี่ยเคลื่อนที่แรกที่เราต้องกำหนดตัวกรอง เนื่องจากเราต้องการมีส่วนร่วมเท่าเทียมกันของเพื่อนบ้านทั้งหมดเราสามารถใช้ฟังก์ชันของเราเราแบ่งทุกอย่างด้วย 256 16 16 เนื่องจากเราไม่ต้องการเปลี่ยนความกว้างของสัญญาณทั่วไปของสัญญาณดังนั้นในการใช้ตัวกรองเราสามารถพูดได้ดังนี้ ด้านล่างเป็นผลลัพธ์สำหรับระยะของ interferogram SAR ในกรณีนี้ช่วงอยู่ในแกน Y และ Azimuth จะถูกแมปกับแกน X ตัวกรองมีขนาดกว้าง 4 พิกเซลในช่วงและกว้าง 16 พิกเซลใน Azimuth
No comments:
Post a Comment