Apa perbedaan antara pertukaran Remez dan desain filter Parks-McClellan?

21

Sebuah pertanyaan baru-baru ini muncul mengenai Parks-McClellan dan beberapa komentar menunjukkan bahwa artikel wikipedia tentang Parks-McClellan menyatakan,

... algoritma Parks-McClellan adalah variasi dari algoritma Remez atau algoritma pertukaran Remez.

Apakah ada perbedaan kinerja? Apakah remezfungsi dalam oktaf setara dengan fungsi Matlab firpm?

Mark Borgerding
sumber

Jawaban:

8

Algoritma pertukaran Remez adalah prosedur iterasi generik untuk mendekati fungsi apapun secara optimal dalam L. akal (yaitu, memberikan yang terbaik terburuk pendekatan atau dengan kata lain, meminimalkan kesalahan maksimum atau minmax). Algoritma Parks-McClellan (PM) adalah variasi dari algoritma pertukaran Remez, diterapkan secara khusus untuk filter FIR. Dari artikel wiki yang Anda kutip:

Thomas [Parks] berkendara dari Houston ke Princeton untuk menghadiri konferensi. Pada konferensi tersebut, ia mendengar presentasi Ed Hofstetter tentang algoritma desain filter FIR baru (algoritma Maximal Ripple). Dia membawa kertas itu oleh Hofstetter, Oppenheim, dan Siegel, kembali ke Houston, memikirkan kemungkinan menggunakan teori aproksimasi Chebyshev untuk merancang filter FIR. Dia mendengar bahwa metode yang diterapkan dalam algoritma Hofstetter mirip dengan algoritma pertukaran Remez dan memutuskan untuk mengejar jalur menggunakan algoritma pertukaran Remez.

Tanpa membahas terlalu banyak detail, perbedaan utama antara kedua algoritma adalah bahwa algoritma pertukaran Remez (RE) memberi Anda syarat untuk merancang filter optimal (khususnya, lihat # 3 di sini): kesalahan harus sama besarnya tertimbang dan bergantian masuk). RE mengimplementasikan prosedur berulang untuk menghitung koefisien polinomial (yang dapat dipetakan ke koefisien filter FIR) yang memenuhi kriteria di atas, yang merupakan "Teorema Alternatif". "E" dalam RE adalah bagian dari prosedur di mana maxima dalam kesalahan, yang digunakan dalam prosedur iteratif, digantikan oleh maxima baru, yang lebih dekat ke nilai optimal. PM menggunakan polinomial Tchebyshev untuk mengonversi koefisien polinomial menjadi koefisien yang mengatur serangkaian fungsi kosinus yang langsung diterjemahkan ke koefisien FIR simetris.


Datang ke pertanyaan Anda tentang remezfungsi dalam Oktaf dan firpmfungsi di MATLAB, saya percaya mereka sama. MATLAB dulu punya remez, yang dihapus demi firpm. Oktaf mungkin masih menempel pada yang pertama. Mengetik help remezdalam MATLAB R2011b memberikan yang berikut:

REMEZ Parks-McClellan desain filter FIR equiripple optimal.

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

See also FIRPM.
Lorem Ipsum
sumber
Saya menyimpulkan bahwa Mathworks mengubah nama remez menjadi firpm karena itu bukan pemecah Remez generik, melainkan inkarnasi PM dari metode Remez.
Mark Borgerding
@ MarkBorgerding Saya percaya itu memang alasan untuk perubahan nama. Namun, masih umum untuk menemukan orang menggunakan dua istilah secara bergantian.
Lorem Ipsum
2
Saya pikir pernyataan yang adil adalah: semua implementasi Parks-McClellan adalah implementasi Remez Exchange, tetapi kebalikannya tidak benar. Sehubungan dengan desain filter, saya pikir mereka dapat digunakan secara bergantian. Ini akan menjadi (agak) seperti merujuk ke FFT sebagai DFT.
Mark Borgerding
bagaimana dengan firgr (di matlab)?
daurnimator
@daurnimator bagaimana dengan itu?
Lorem Ipsum