การประมาณคำสั่งตัวกรอง


9

สมมติว่ามีจำนวนของขั้วและศูนย์ที่ไม่ทราบ แต่มีจำนวนน้อยและ จำกัด ในระนาบ Z เชิงซ้อนโดยทั้งหมดมีการผันคำกริยาที่ซับซ้อน อย่างเคร่งครัดจากค่าสัมบูรณ์ของชุดของจุดเว้นระยะเท่า ๆ กันรอบวงกลมหน่วยพูดมากกว่า 2 เท่าของจำนวนของเสาและศูนย์ของการตอบสนองนั้นเป็นไปได้ที่จะประเมินหรือคำนวณจำนวนของเสาและศูนย์ซึ่งสร้างขนาดตัวอย่าง การตอบสนอง?

เพิ่ม: ต้องมีตัวอย่างมากกว่า 2X จุดเพื่อกำหนดจำนวนเสาและศูนย์หรือไม่ (เมื่อระบุว่าผลรวมน้อยกว่า X)

เพิ่ม: หากมีมากกว่าหนึ่งวิธีการแก้ปัญหาขั้นต่ำสามารถ (หรือจำนวนขั้นต่ำรวมของเสาและศูนย์) สามารถหาได้หรือไม่?


นี่เป็นปัญหาที่ง่ายกว่ามากโดยไม่มีเสา นั่นจะกลายเป็นอัลกอริทึมในคำสั่ง matlab / octave firls
Mark Borgerding

ฉันสงสัยว่าคุณสามารถวิเคราะห์ตัวเศษและส่วนของการตอบสนองความถี่ในแง่ของปัญหาค่าลักษณะเฉพาะทั่วไปได้หรือไม่ คุณอาจจะต้องสมมติเฟส (เป็นเชิงเส้นสำหรับผู้เริ่ม)
Mark Borgerding

ฉันเดาตัวกรอง allpass ถูกตัดออก! หากเสาและศูนย์อยู่ใน 'ใกล้พอ' ฉันคิดว่าคุณจะมีปัญหาเมื่อกลุ่มตัวอย่างของการตอบสนองเว้นระยะเท่ากัน เอาล่ะสมมติว่าคุณมีคำตอบที่ค่อนข้างแบนยกเว้นการชนเล็ก ๆ ที่ไม่ได้ความถี่ต่ำเกินไป ขึ้นอยู่กับความต้องการของคุณคุณสามารถสร้างแบบจำลองที่ใช้ biquad (2 ศูนย์และ 2 เสา) หรือคุณสามารถสร้างแบบจำลองโดยใช้ 4 ถึง 6 ศูนย์แทน คำถามที่เกี่ยวข้องคือ: ให้ชุดของเสาและศูนย์จำนวนจุดต่ำสุดของการตอบสนองขนาดที่จำเป็นในการคำนวณจำนวนของเสาและศูนย์ได้อย่างแม่นยำ
niaren

1
ฉันคิดว่าปัญหาดังกล่าวไม่สามารถแก้ไขได้ คุณสามารถใช้ระบบใดก็ได้และกรองด้วยตัวกรอง allpass อย่างน้อยหนึ่งตัว สิ่งนี้จะไม่ส่งผลกระทบต่อการตอบสนองต่อขนาด แต่มันจะเปลี่ยนจำนวนเสา / ศูนย์ที่มีอยู่ สำหรับการตอบสนองขนาดที่กำหนดนั้นจะมีจำนวนของเสาและศูนย์ที่สอดคล้องกันอย่างไม่ จำกัด จำนวน มันอาจเป็นเรื่องที่แตกต่างถ้าคุณเข้าถึงการตอบสนองเฟสของระบบ ความล้มเหลวนั้นคุณสามารถประเมินลำดับระบบได้อย่างแน่นอน (โดยใช้รูปแบบที่ไม่ได้ระบุ) ปัญหาดีที่ต้องคิด
Jason R

แก้ไขคำถามเพื่อลบสวนสัตว์ที่ไม่มีที่สิ้นสุดของตัวกรอง allpass ออกจากโซลูชัน
hotpaw2

คำตอบ:


1

ตามหลักวิชาแล้วมันเป็นไปได้ที่จะทำเช่นนี้แม้ว่ามันจะไม่สามารถใช้งานได้จริง

ลองพิจารณาเรื่องนี้ในพหุนาม สำหรับตัวกรองลำดับ N คุณมีตัวแปรอิสระ 2 * N + 1 (N สำหรับตัวส่วนและ N + 1 สำหรับตัวเศษ) ลองดูจุดโดยพลการZk ใน z-plane และสมมุติว่าค่าของฟังก์ชั่นการถ่ายโอน ณ จุดนี้คือ H (Zk) ความสัมพันธ์ระหว่างฟังก์ชั่นการถ่ายโอนและสัมประสิทธิ์ตัวกรองทั้งหมดสามารถเขียนเป็นสมการที่เป็นเส้นตรงในสัมประสิทธิ์ตัวกรองทั้งหมดดังนี้:

Σn=02* * * *ยังไม่มีข้อความnZk-n-H(Zk)Σn=12* * * *ยังไม่มีข้อความanZk-n=H(Zk)
ดังนั้นหากคุณเลือกความถี่ M ที่แตกต่างกัน Zkคุณจะได้ชุดสมการเชิงเส้น M ซับซ้อนหรือสมการจริง 2 * M เนื่องจากจำนวนนิรนามของคุณเป็นเลขคี่ (2 * N + 1) คุณอาจต้องการเลือกหนึ่งความถี่ที่ z เป็นจริงเสมอเช่น z = 1 หรือω = 0

ถ้า M มากกว่า N มากกว่าระบบสมการจะขึ้นอยู่กับเส้นตรง คุณสามารถค้นหาลำดับตัวกรองโดยเริ่มต้นที่ N = 1 และเพิ่ม N จนกว่าระบบสมการจะขึ้นอยู่กับเชิงเส้น N ที่ใหญ่ที่สุดซึ่งระบบอิสระเชิงเส้นคือลำดับตัวกรองจริง สำหรับวิธีนี้มันไม่สำคัญว่าคุณจะเลือกความถี่ใด หากมีความแตกต่างกันชุดความถี่ใด ๆ ก็จะทำงานได้

อย่างไรก็ตามนี่เป็นปัญหาที่ยุ่งยากมาก การแสดงพหุนามสำหรับคำสั่งตัวกรองขนาดใหญ่นั้นมีความบอบบางเชิงตัวเลขและจำนวนเสียงรบกวนหรือความไม่แน่นอนที่น้อยที่สุดจะนำไปสู่ข้อผิดพลาดเชิงตัวเลขที่มีขนาดใหญ่มาก ตัวอย่างเช่นหากคุณกำหนดค่าของฟังก์ชั่นการถ่ายโอนตัวอย่างผ่านการวัดความแม่นยำในการวัดที่ต้องการจะเป็นสิ่งต้องห้ามเว้นแต่จะเป็นตัวกรองที่มีลำดับต่ำมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.