ตัวกรอง IIR อาจถูกนำมาใช้เป็นรูปแบบโดยตรง 1 หรือ 2 แต่คุณจะตัดสินใจว่าจะใช้รูปแบบใด ข้อดีและข้อเสียของแต่ละข้อคืออะไร?
ตัวกรอง IIR อาจถูกนำมาใช้เป็นรูปแบบโดยตรง 1 หรือ 2 แต่คุณจะตัดสินใจว่าจะใช้รูปแบบใด ข้อดีและข้อเสียของแต่ละข้อคืออะไร?
คำตอบ:
แรกของทุกบิตจากวิกิพีเดียผมแบบตรงและ IIการดำเนินงาน
แบบฟอร์มโดยตรงฉันต้องการหน่วยความจำเพิ่มขึ้น แต่เป็นกลยุทธ์ที่ค่อนข้างง่ายกว่าและมีโอกาสน้อยกว่าที่จะมีปัญหาการปัดเศษและการสั่นพ้อง
Direct form II ต้องการหน่วยความจำน้อยกว่า แต่มีศักยภาพสำหรับการโต้ตอบที่ผิดปกติจำนวนที่มากขึ้นและข้อผิดพลาดรอบเพิ่มเติม สิ่งเหล่านี้สามารถลดลงได้โดยการเรียงลำดับตัวกรองขนาดเล็กลงโดยเฉพาะอย่างยิ่งตัวกรองลำดับที่สอง
วันที่เล็กน้อย แต่อาจสมควรได้รับคำตอบที่ครอบคลุมมากขึ้นโดยเฉพาะอย่างยิ่งเนื่องจาก Direct Form II จะทำให้คุณประสบปัญหามากมาย ประการแรกไม่มี "หนึ่งขนาดเหมาะกับทุกคน" และตัวเลือกที่ดีที่สุดขึ้นอยู่กับแอปพลิเคชันและข้อ จำกัด เฉพาะของคุณ สิ่งที่คุณสามารถพิจารณาได้คือ
ดังนั้นโดยสรุป Transposed Form II บ่อยกว่าตัวเลือกที่ดีที่สุด ในบางสถานการณ์ที่มีจุดคงที่โดยเฉพาะอย่างยิ่งหากมีปัญหาเรื่องเสียงรบกวนที่สำคัญรูปแบบตรงฉันดีกว่าเนื่องจากสามารถเพิ่มได้ง่ายขึ้นกับสิ่งต่าง ๆ เช่นข้อผิดพลาดการสร้างสเปกตรัม ฯลฯ
เว้นแต่ว่าคุณจะทำงานกับระบบที่ขาดแคลนทรัพยากรหรือมีความต้องการสูงมันไม่สำคัญว่าในทางปฏิบัติไม่ว่าคุณจะเลือกแบบฟอร์ม I หรือ II โดยตรง ตัวอย่างเช่นหากคุณกำลังทำสิ่งต่าง ๆ บนพีซีหรือสมาร์ทโฟนมันไม่สำคัญเลย โดยส่วนตัวแล้วฉันชอบแบบฟอร์ม I
ปัญหาที่แท้จริงคือปกติ MIPS และถ้าคุณวางแผนที่จะทำสิ่งที่นำไปใช้งานแบบตายตัวจะมีความซับซ้อนมากขึ้น ตัวอย่างเช่นใน ARM ตัวกรอง IIR ของคุณจะใช้ MIPS มากกว่านี้หากค่าสัมประสิทธิ์และสถานะตัวกรองเป็น 32- บิต 32 บิตในสถานะและสัมประสิทธิ์เป็นข้อกำหนดหากคุณจำเป็นต้องใช้เช่นตัวกรอง low-pass ที่มีความถี่ตัดต่ำมาก ในกรณีเหล่านี้คุณสามารถใช้ตัวกรองชนิดอื่นเช่นตัวกรองแบบตัวแปรรัฐ
นอกเหนือจากความแตกต่างทางเทคนิคเช่นความแม่นยำเชิงตัวเลขแล้วยังมีปัญหาเรื่องเสถียรภาพ เมื่อตัวกรองดิจิตอลมีคู่ขั้ว / ศูนย์อยู่ใกล้กันการตอบสนองความถี่อาจไม่เสถียรในสถานที่ต่าง ๆ (มักจะเข้าใกล้ Nyquist หรือใกล้ศูนย์)
เมื่อใช้ตัวกรอง IIR สำหรับแอพพลิเคชั่นดนตรีตัวเลือกการรับรู้สามารถมีผลกระทบอย่างลึกซึ้งต่อความมั่นคงของตัวกรองเมื่อพารามิเตอร์ตัวกรองถูกปรับเปลี่ยนแบบเรียลไทม์ (ตัวอย่างเช่นการเปลี่ยนแปลงความถี่ตัดในตัวกรองความถี่ต่ำ)
ฉันมีแอปพลิเคชั่นโอเพนซอร์ซที่ให้คุณฟังความแตกต่างในขณะที่พารามิเตอร์ที่แปรผันตามเวลาเช่นความถี่ cutoff หรืออัตราขยายสูงสุดของการรับรู้แต่ละแบบต่อไปนี้:
โครงการอยู่ที่นี่:
นอกเหนือจากความคิดเห็นข้างต้นเกี่ยวกับหน่วยความจำ MIPS เสียงรบกวนและความเสถียร มีอีกปัจจัยที่มองข้ามโดยทั่วไป ปัจจัยนี้คือความสามารถในการรีเซ็ต ซึ่งเกิดขึ้นเป็นสิ่งสำคัญในสถานการณ์ส่วนใหญ่ของฉัน
ด้วยการนำ Direct Form II มาใช้จะไม่มีสถานะสำหรับเอาต์พุตล่าช้าดังนั้นหากคุณ "รีเซ็ต" ตัวกรอง Direct Form II เพื่อพูดว่า "5" เอาต์พุตเริ่มต้นจะไม่เป็น 5 ฉันคิดว่านี่ค่อนข้างเคาน์เตอร์ - ใช้งานง่ายซึ่งทำให้เกิดความยุ่งยากอย่างมากเมื่อใช้ Simulink ด้วยเหตุนี้ฉันจึงมักจะใช้การใช้แบบฟอร์มโดยตรงที่ฉันใช้ น่าเสียดายที่ Simulink รองรับเฉพาะ Direct Form I หากคุณมีกล่องเครื่องมือ DSP และถึงกระนั้นก็ยังไม่อนุญาตให้คุณตั้งค่าเงื่อนไขเริ่มต้นจากสัญญาณอินพุต