วิธีการประมาณฟังก์ชั่นการถ่ายโอนจากการตอบสนองความถี่ขนาดเท่านั้น?


11

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

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

สมมติว่าทำงานในระนาบ Z กับสเปกตรัมตัวอย่างแม้ว่าคำตอบโดเมนต่อเนื่องอาจน่าสนใจ

เพิ่มเติม: วิธีการแก้ปัญหาแตกต่างกันหรือไม่หากมีการกำหนดขนาดของการตอบสนองความถี่เท่านั้น (เช่นอนุญาตให้ใช้โซลูชันที่มีการตอบสนองเฟสใด ๆ ) หรือไม่

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


คุณพยายามประมาณการตอบสนองความถี่โดยพลการในฐานะคลื่นความถี่ที่มีเหตุผลหรือไม่? นั่นคือ (b [0] + b [1] z ^ -1 ... ) / (1 + a [1] z ^ -1 ... )? ถ้าเป็นเช่นนั้นสิ่งนี้จะเรียกโดยทั่วไปว่าการสร้างแบบจำลอง ARMA มันยากกว่าการสร้างแบบจำลอง AR เนื่องจากความสัมพันธ์ของสัญญาณอัตโนมัติมีแนวโน้มที่จะเกี่ยวข้องกับค่าสัมประสิทธิ์การเคลื่อนที่แบบไม่เชิงเส้น (b [] 's หรือค่าศูนย์) หากสมมติฐานของฉันถูกต้องฉันสามารถเขียนคำตอบที่เป็นทางการมากขึ้น
ไบรอัน

@Bryan: ใช่ ฉันพยายามที่จะบอกเป็นนัยว่าโดยระบุโซลูชัน "pole and zero" (ฟังก์ชั่นการถ่ายโอนแบบมีเหตุผล) มีความเหมาะสม (ดีกว่าเฉพาะถ้าดีกว่าทุกเสา
hotpaw2

สิ่งที่มีความหมายที่แนบมากับการตอบสนองความถี่ ? บางคนแยกความแตกต่างระหว่างฟังก์ชั่นตอบสนองความถี่หรือH ( f )และฟังก์ชั่นถ่ายโอนH ( s )และบางคนทำไม่ได้ ดูตัวอย่างการสนทนาทำตามคำตอบของคำถามก่อนหน้านี้ H(ω)H(f)H(s)
Dilip Sarwate

@Dilip Sarwate: กำหนด H (w) เฉพาะสำหรับหน่วยวงกลม (นั่นคือซ้ำซ้อนหรือไม่) ให้แก้ / ประเมินตัวแทนเครื่องบิน z ที่สมบูรณ์ หวังว่ามันจะสอดคล้องกับคำแถลงเดิมของคำถาม
hotpaw2

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

คำตอบ:


14

วิธีการหนึ่งที่จะใช้โดเมนความถี่อย่างน้อยสี่เหลี่ยม (FDLS) วิธีการ ด้วยชุดของตัวอย่าง (ซับซ้อน) ของการตอบสนองความถี่ของระบบที่ไม่ต่อเนื่องและคำสั่งตัวกรองที่เลือกโดยผู้ออกแบบวิธีการ FDLS ใช้การเพิ่มประสิทธิภาพกำลังสองน้อยที่สุดเชิงเส้นเพื่อแก้ปัญหาสำหรับชุดค่าสัมประสิทธิ์ และศูนย์) สำหรับระบบที่การตอบสนองความถี่ตรงกับการตอบสนองที่ต้องการพร้อมข้อผิดพลาดกำลังสองรวมขั้นต่ำ

การตอบสนองความถี่ของระบบเชิงเส้นเวลาไม่ต่อเนื่องเชิงเส้นลำดับที่สามารถเขียนได้เป็น:N

H(ω)=H(z)|z=ejω

โดยที่เป็นฟังก์ชันถ่ายโอนของระบบในโดเมนz โดยทั่วไปแล้วสิ่งนี้จะถูกเขียนในรูปแบบเหตุผลที่ตามมาโดยตรงจากสมการความแตกต่างของระบบ:H(z)z

H(z)=k=0Nbkzk1+k=1Nakzk

การตอบสนองความถี่จึง:

H(ω)=k=0Nbkejkω1+k=1Nakejkω

จัดเรียงข้างต้นใหม่เพื่อรับ:

k=0NbkejkωH(ω)(1+k=1Nakejkω)=0

สมการนี้เป็นเส้นตรงในค่าสัมประสิทธิ์สมการความแตกต่างที่ไม่รู้จักระบบkและk ได้รับการตอบสนองความถี่ที่ต้องการH ( ω )เราต้องการที่จะหาค่าสัมประสิทธิ์ที่ตรงตามสมการข้างต้นว่าสำหรับค่าทั้งหมดของω สำหรับกรณีทั่วไปมันยาก ดังนั้นเราจะค้นหาชุดของค่าสัมประสิทธิ์สำหรับระบบที่การตอบสนองความถี่ใกล้เคียงกับการตอบสนองที่ต้องการในชุดความถี่แยก2N+1bkakH(ω)ω

ωm[0,2π),m=0,1,,M1M>2N+1M2N+1)ωk

k=0NbkejkωkH(ωk)(1+k=1Nakejkωk)=0

H(ωk)ωkbkakH(ω)

เทคนิคนี้มีข้อดีเล็กน้อย:

  • การตอบสนองความถี่ใด ๆ ที่ซับซ้อน (ขนาดและเฟส) สามารถใช้เป็นเทมเพลตได้ หากคุณมีข้อ จำกัด ด้านขนาดเพียงแค่คุณสามารถเลือกการตอบสนองเฟสเช่นเฟสเชิงเส้น

  • ak

  • เทคนิคนี้ง่ายมากที่จะนำไปใช้และสามารถปรับพารามิเตอร์ได้ง่ายขึ้นอยู่กับลำดับของระบบที่ต้องการ

  • N

คุณสามารถขยายวิธีนี้เล็กน้อยเพื่อใช้การเพิ่มประสิทธิภาพกำลังสองน้อยที่สุดแบบถ่วงน้ำหนักหากจำเป็น สิ่งนี้จะช่วยให้คุณระบุภูมิภาคของการตอบสนองความถี่ที่มีข้อผิดพลาดในการประมาณน้ำหนักมากกว่าคนอื่น สิ่งนี้ช่วยให้คุณสามารถควบคุมพื้นที่ passband / stopband ได้อย่างแน่นหนายิ่งขึ้นในขณะที่ยอมให้ slop มากขึ้นในพื้นที่


1
คำตอบที่ยอดเยี่ยม !! "ศิลปะ" ในการออกแบบตัวกรองที่มีข้อผิดพลาดน้อยที่สุดคือการกำหนดอย่างถูกต้องว่า "ข้อผิดพลาด" คืออะไร สิ่งนี้ถูกควบคุมโดยการเลือกกริดความถี่ที่ถูกต้องปัจจัยถ่วงน้ำหนักที่ความถี่เฉพาะและเพิ่มข้อ จำกัด เพิ่มเติมสำหรับพฤติกรรมนอกแบนด์และเพื่อรักษาเสาของคุณภายในวงกลมหน่วย
Hilmar

ปัญหาของการแก้ปัญหาที่อาจเกิดขึ้นคือถ้าเฟสไม่ทราบเกี่ยวกับฟังก์ชั่นการถ่ายโอนที่มีอยู่ FDLS อาจมาบรรจบกันในการแก้ปัญหาที่ผิดถ้าสันนิษฐานว่าเฟสผิดไม่ว่าคำสั่งนั้นถูกต้องแม่นยำหรือวัดขนาดการตอบสนอง
hotpaw2

@ hotpaw2: คาดว่าจะได้ หากคุณไม่รู้อะไรเลยเกี่ยวกับการตอบสนองของเฟสมีวิธีการแก้ปัญหาจำนวนไม่ จำกัด ที่ใช้ได้อย่างเท่าเทียมกัน (เช่นพวกเขาจะมีการตอบสนองต่อขนาดที่ถูกต้อง) คุณจะต้องมีข้อมูลบางอย่างเพื่อนำคุณไปสู่สิ่งที่คุณคิดว่าเป็นทางออกที่เหมาะสมที่สุด
Jason R

@JasonR: ทางออกที่ถูกต้องเพียงอย่างเดียวคือการเรียงสับเปลี่ยนของเสา / ศูนย์ภายใน / ภายนอกซึ่งเป็นจำนวน จำกัด สำหรับระบบลำดับการ จำกัด ใด ๆ (ที่มีอยู่)
hotpaw2

6

เพื่อนร่วมงานของฉันได้ผลลัพธ์ที่ยอดเยี่ยมด้วยการปรับเวกเตอร์ :

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

เราใช้สำหรับการแปลง FIR เป็น IIR

สำหรับการใช้งานที่มีความต้องการน้อยคุณสามารถใช้การปรับกำลังสองน้อยกว่าแบบไม่เชิงเส้นสำหรับจำนวนเสาและศูนย์ได้อย่างแน่นอน นี้จะดำเนินการใน Matlab เป็นและinvfreqsinvfreqz


0

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

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