ความแตกต่างระหว่างการแลกเปลี่ยน Remez และการออกแบบตัวกรอง Parks-McClellan คืออะไร


21

คำถามเมื่อเร็ว ๆ นี้ขึ้นมาเกี่ยวกับสวนสาธารณะ-McClellan และบางส่วนของความคิดเห็นที่ชี้ให้เห็นว่าบทความวิกิพีเดียในสวนสาธารณะ-McClellanรัฐ

... อัลกอริทึม Parks-McClellan เป็นรูปแบบของอัลกอริทึม Remez หรืออัลกอริทึมแลกเปลี่ยน Remez

มีความแตกต่างในประสิทธิภาพหรือไม่ เป็นremezฟังก์ชั่นในคู่เทียบเท่ากับฟังก์ชั่น Matlab firpm?

คำตอบ:


8

อัลกอริธึมการแลกเปลี่ยน Remez เป็นขั้นตอนการทำซ้ำทั่วไปเพื่อประมาณฟังก์ชั่นใด ๆ อย่างเหมาะสมที่สุดใน sense (กล่าวคือให้การประมาณกรณีที่เลวร้ายที่สุดที่ดีที่สุดหรือในคำอื่น ๆ ลดข้อผิดพลาดสูงสุดหรือ minmax) อัลกอริทึม Parks-McClellan (PM) เป็นรูปแบบของอัลกอริธึมการแลกเปลี่ยน Remez ที่ใช้เฉพาะสำหรับตัวกรอง FIR จากบทความ wiki ที่คุณอ้างถึง:L

โทมัส [สวนสาธารณะ] ขับรถจากฮุสตันไปยังพรินซ์ตันเพื่อเข้าร่วมการประชุม ในการประชุมเขาได้ยินการนำเสนอของ Ed Hofstetter เกี่ยวกับอัลกอริทึมการออกแบบตัวกรอง FIR ใหม่ (อัลกอริทึม Ripple สูงสุด) เขานำกระดาษโดย Hofstetter, Oppenheim และ Siegel กลับไปที่ Houston คิดเกี่ยวกับความเป็นไปได้ในการใช้ทฤษฎีการประมาณค่าของ Chebyshev เพื่อออกแบบตัวกรอง FIR เขาได้ยินมาว่าวิธีการที่ใช้ในอัลกอริทึมของ Hofstetter นั้นคล้ายกับอัลกอริธึมการแลกเปลี่ยน Remez และตัดสินใจที่จะติดตามเส้นทางการใช้อัลกอริทึมการแลกเปลี่ยน Remez

ความแตกต่างหลักระหว่างอัลกอริธึมทั้งสองคืออัลกอริธึมการแลกเปลี่ยน Remez (RE) ให้เงื่อนไขแก่คุณในการออกแบบตัวกรองที่ดีที่สุด (โดยเฉพาะดู # 3 ที่นี่: ข้อผิดพลาดจะต้องมีขนาดเท่ากันน้ำหนักและการสลับสัญญาณ) RE ใช้กระบวนการวนซ้ำในการคำนวณค่าสัมประสิทธิ์พหุนาม (ซึ่งสามารถแมปกับค่าสัมประสิทธิ์การกรอง FIR) ซึ่งเป็นไปตามเกณฑ์ข้างต้นซึ่งก็คือ "ทฤษฎีบทสำรอง" "E" ใน RE เป็นส่วนหนึ่งของขั้นตอนที่ maxima ในข้อผิดพลาดที่ใช้ในกระบวนการวนซ้ำจะถูกแทนที่ด้วย maxima ใหม่ซึ่งใกล้เคียงกับค่าที่เหมาะสมที่สุด PM ใช้พหุนาม Tchebyshev เพื่อแปลงค่าสัมประสิทธิ์พหุนามให้เป็นค่าสัมประสิทธิ์ที่ควบคุมชุดของฟังก์ชันโคไซน์ซึ่งแปลโดยตรงเป็นค่าสัมประสิทธิ์ FIR สมมาตร


สำหรับคำถามของคุณเกี่ยวกับremezฟังก์ชั่นใน Octave และfirpmฟังก์ชั่นใน MATLAB ฉันเชื่อว่าพวกมันเหมือนกัน MATLAB เคยมีซึ่งถูกแบ่งออกในความโปรดปรานของremez firpmระดับแปดเสียงอาจยังคงยึดติดกับอดีต การพิมพ์help remezใน MATLAB R2011b ให้สิ่งต่อไปนี้:

REMEZ Parks-McClellan การออกแบบตัวกรอง FIR สำหรับ Equiripple ที่ดีที่สุด

REMEZ is obsolete.  REMEZ still works but may be removed in the future.
Use FIRPM instead.

See also FIRPM.

ฉันอนุมานว่า Mathworks เปลี่ยนชื่อ remez เป็น firpm เนื่องจากไม่ใช่ตัวแปล Remez ทั่วไป แต่เป็นการกลับชาติมาเกิดของวิธีการ Remez
Mark Borgerding

@ MarkBorgerding ฉันเชื่อว่านั่นเป็นเหตุผลสำหรับการเปลี่ยนชื่อ อย่างไรก็ตามมันก็ยังเป็นเรื่องธรรมดาที่จะพบว่าคนใช้คำสองคำนี้แทนกัน
Lorem Ipsum

2
ฉันคิดว่าข้อความที่ยุติธรรมคือการใช้งาน Parks-McClellan ทั้งหมดนั้นเป็นการใช้งานของ Remez Exchange แต่สิ่งที่ตรงกันข้ามนั้นไม่เป็นความจริง ในความสัมพันธ์กับการออกแบบตัวกรองฉันคิดว่าพวกมันสามารถใช้แทนกันได้ มันจะเป็น (บ้าง) เช่นอ้างถึง FFT เป็น DFT
Mark Borgerding

วิธีการเกี่ยวกับ firgr (ใน MATLAB)?
daurnimator

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