ฉันเป็นคนใหม่ของ Simulink ฉันต้องการจะทำค่าเฉลี่ยของข้อมูลขาเข้า (ซึ่งจะมาหลังจากช่วงเวลาหนึ่ง) จากบล็อกหนึ่ง ตัวอย่างเช่นข้อมูลแบบกรอบ 42 ตัวอย่างจากกรอบเดียว พร้อมกับข้อมูลที่มีกรอบจะมีเอาต์พุตอื่น ๆ (แท็ก) ซึ่งบอกว่า framesamples เหล่านี้อยู่ในหมวดหมู่ใด แท็กคือตัวเลขตั้งแต่ 1-6 เอาต์พุตเป็นแบบสุ่ม ฉันต้องการเฉลี่ยข้อมูลประเภทเดียวกัน เช่นเดียวกับเฟรมแรกคือ cat1 หลังจากเฟรม cat1 อีก 4 เฟรมมาอีกครั้ง ตอนนี้ฉันควรจะเฉลี่ยเฟรมใหม่นี้อย่างไรกับก่อนหน้านี้ที่ฉันต้องการทำเช่นนี้สำหรับทุกหมวดหมู่ กรุณาช่วยฉันในเรื่องนี้ ถาม 26 มีนาคม 14 เวลา 13:35 วิธีแก้ไขปัญหาที่รวดเร็วและสกปรกน่าจะเป็นการใช้ arraylist สำหรับแต่ละประเภท เริ่มต้นรายการด้วย NaN และเก็บข้อมูลตัวนับสำหรับตัวอย่างล่าสุดจากแต่ละหมวด การใช้ฟังก์ชัน Mean คุณจะได้ค่าเฉลี่ยของการวัดทั้งหมด ถ้าคุณเพียงแค่ต้องการค่าเฉลี่ยของเฟรมปัจจุบันและเฟรมก่อนหน้านี้คุณสามารถทำค่าเฉลี่ย (cat1 (n1) cat1 (n11)) โดยที่ cat1 เป็น arraylist สำหรับเฟรมจากหมวด 1 และ n1 เป็นดัชนีของเฟรมก่อนหน้าใน cat1 . หากคุณต้องการค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักสำหรับการใช้งานแบบเรียลไทม์ให้สร้างตัวแปรเฉลี่ยสำหรับแต่ละหมวดหมู่ (เรียกว่า av1, av2 ฯลฯ ) และคำนวณ av1 alphaav1 (1-alpha) cat1 (n11) (โดยที่ alpha เป็นน้ำหนักที่กำหนด (alphalt1) และ cat1 (n11) เป็นค่าวัดใหม่) เมื่อใดก็ตามที่มีเฟรม cat1 เข้ามา ตอบเมื่อ 26 มีนาคม 14 เวลา 17:39 คุณสามารถใช้ตัวกรองฟิลลิปอิมเพนชั่นฟิลเตอร์แบบไม่ต่อเนื่อง (FIR) โดยใช้ระบบเชิงเส้นแบบไดนามิกแบบต่อเนื่องได้อย่างไรฉันเห็นปัญหานี้โดยใช้ Matlab ซึ่งระบบที่เกิดขึ้นอย่างต่อเนื่อง (ได้ใช้ฟังก์ชัน d2c Matlab) และให้การตอบสนองทีละขั้นตอนซึ่งแตกต่างจากที่คาดไว้เมื่อจำลองโดยใช้ Simulink ตัวอย่างเช่นพยายามหาระบบ dynamical time อย่างต่อเนื่องซึ่งการตอบสนองคล้ายกับค่าเฉลี่ยเคลื่อนที่ของ 25 ตัวอย่างสุดท้าย (ตัวอย่างที่ 100 Hz) นี่คือรหัส Matlab ฉันใช้ แต่สิ่งที่เกิดขึ้นคือการที่คุณจำลอง sysc และ sys ใช้ Simulink อย่างต่อเนื่องและ discrete บล็อกระบบเชิงเส้นและผลผลิตของ sysc ไปไม่เสถียร ตัวอย่างนี้แสดงวิธีการกรองสัญญาณ ECG ที่มีสัญญาณรบกวนความถี่สูงและลบเสียงรบกวนโดยการกรองความถี่ต่ำผ่านการกรองแบบ low-pass ลบเสียงรบกวนความถี่สูงโดยใช้ตัวกรองค่ามัธยฐาน เรียนรู้วิธีการวิเคราะห์ออกแบบและใช้ตัวกรองใน MATLAB x00AE และ Simulink x00AE ให้ภาพรวมของคุณลักษณะ filterBuilder ใช้การออกแบบตัวกรองของคุณโดยใช้บล็อกตัวกรอง DSP System Toolbox แสดงการอ้างอิงโดยละเอียดซึ่งครอบคลุมหน้าจุดคงที่หลายหน้าและปรับขนาดของ App Designer ตัวกรองแสดงให้เห็นถึงประสิทธิภาพที่เพิ่มขึ้นเมื่อใช้ตัวกรอง multirate และ multistage สำหรับแอ็พพลิเคชันบางอย่าง สร้างและใช้ตัวกรองโดยใช้บล็อกการออกแบบตัวกรองแบบดิจิทัลสร้างและใช้ตัวกรองโดยใช้ตัวช่วยสร้างตัวกรอง Realization List ของอ็อบเจ็กต์ System ที่สนับสนุนสัญญาณขนาดตัวแปรใน DSP System Toolboxx2122 เลือกประเทศของคุณ Documentation Discrete FIR ตัวกรองคำอธิบายบล็อก Discrete FIR Filter จะกรองช่องสัญญาณอินพุทแต่ละตัวด้วยตัวกรอง FIR แบบดิจิตอลที่ระบุ บล็อกสามารถใช้ตัวกรองแบบคงที่กับค่าสัมประสิทธิ์คงที่ตลอดจนตัวกรองที่มีการเปลี่ยนแปลงตามเวลาโดยมีค่าสัมประสิทธิ์การเปลี่ยนแปลงตามเวลา คุณสามารถปรับค่าสัมประสิทธิ์ของตัวกรองแบบคงที่ระหว่างการจำลองได้ บล็อกนี้จะกรองแต่ละช่องสัญญาณอินพุทเป็นอิสระเมื่อเวลาผ่านไป พารามิเตอร์การประมวลผลการป้อนข้อมูลช่วยให้คุณสามารถระบุได้ว่าบล็อกจะถือว่าองค์ประกอบของข้อมูลแต่ละรายการเป็นช่องทางที่เป็นอิสระ (การประมวลผลตามตัวอย่าง) หรือแต่ละคอลัมน์ของอินพุทเป็นช่องทางที่เป็นอิสระ (การประมวลผลแบบเฟรม) หากต้องการประมวลผลตามกรอบคุณต้องมีใบอนุญาต DSP System Toolboxx2122 ขนาดเอาท์พุทเท่ากับข้อมูลของอินพุตยกเว้นเมื่อคุณระบุเมทริกซ์ของก๊อกกรองสำหรับพารามิเตอร์ Coefficients เมื่อทำเช่นนี้มิติข้อมูลผลลัพธ์จะขึ้นอยู่กับจำนวนชุดก๊อกของตัวกรองที่คุณระบุ ผลลัพธ์ของบล็อกนี้เป็นตัวเลขตรงกับผลลัพธ์ของบล็อก DSP System Toolbox Digital Filter Design และของวัตถุ dfilt Processing Signalbox2122 บล็อกนี้สนับสนุนคุณลักษณะการบันทึกข้อมูลสถานะ Simulink x00AE ดูข้อมูลประเทศในคู่มือผู้ใช้ Simulink สำหรับข้อมูลเพิ่มเติม การสนับสนุนโครงสร้างตัวกรองคุณสามารถเปลี่ยนโครงสร้างตัวกรองที่ใช้กับบล็อก Discrete FIR Filter ได้โดยการเลือกตัวเลือกต่อไปนี้จากพารามิเตอร์โครงสร้างตัวกรอง: รูปแบบตรงแบบสมมาตร Direct form antisymmetric Direct form transposed คุณต้องมีใบอนุญาต DSP System Toolbox ที่พร้อมใช้งานเพื่อใช้โมเดล มีโครงสร้างตัวกรองใด ๆ ที่ไม่ใช่รูปแบบ Direct การระบุสถานะเริ่มต้นบล็อก Filter Disc แบบไม่ต่อเนื่องจะเริ่มต้นตัวกรองภายในให้เป็นศูนย์เป็นค่าเริ่มต้นซึ่งมีผลเช่นเดียวกับสมมติว่าอินพุตและเอาต์พุตที่ผ่านมาเป็นศูนย์ คุณสามารถเลือกใช้พารามิเตอร์ Initial states เพื่อระบุเงื่อนไขเริ่มต้นที่ไม่ใช่ศูนย์สำหรับความล่าช้าของตัวกรอง ในการระบุจำนวนสถานะเริ่มต้นที่คุณต้องระบุและวิธีกำหนดให้ดูตารางที่สถานะเริ่มต้นที่ถูกต้อง พารามิเตอร์สถานะเริ่มต้นสามารถใช้รูปแบบใดรูปแบบหนึ่งที่อธิบายไว้ในตารางถัดไปได้ ประเทศเริ่มต้นที่ถูกต้องเลือกประเทศของคุณ
No comments:
Post a Comment