Jaka jest różnica między wymianą Remeza a konstrukcją filtra Parks-McClellan?


Odpowiedzi:


8

Algorytm wymiany Remeza jest ogólną iteracyjną procedurą optymalizującą dowolną funkcję optymalnie w sensie L. (tj. Daje najlepsze przybliżenie najgorszego przypadku lub innymi słowy minimalizuje błąd maksymalny lub minmax). Algorytm Parks-McClellan (PM) jest odmianą algorytmu wymiany Remeza, stosowanego specjalnie do filtrów FIR. Z cytowanego artykułu wiki:

Thomas [Parks] pojechał z Houston do Princeton, aby wziąć udział w konferencji. Na konferencji usłyszał prezentację Eda Hofstettera na temat nowego algorytmu projektowania filtrów FIR (algorytm maksymalnego tętnienia). Przywiózł artykuł Hofstettera, Oppenheima i Siegela z powrotem do Houston, myśląc o możliwości wykorzystania teorii przybliżenia Czebyszewa do zaprojektowania filtrów FIR. Usłyszał, że metoda zaimplementowana w algorytmie Hofstettera była podobna do algorytmu wymiany Remeza i postanowił podążać ścieżką użycia algorytmu wymiany Remeza.

Bez wchodzenia w zbyt wiele szczegółów, podstawową różnicą między dwoma algorytmami jest to, że algorytm wymiany Remeza (RE) zapewnia warunki do zaprojektowania optymalnego filtra (konkretnie, patrz punkt 3 tutaj: błędy muszą być równej wielkości i naprzemiennie występować). RE implementuje iteracyjną procedurę obliczania współczynników wielomianowych (które można odwzorować na współczynniki filtra FIR), które spełniają powyższe kryterium, którym jest „Twierdzenie o alternacji”. „E” w RE jest częścią procedury, w której maksima błędu, które są stosowane w procedurze iteracyjnej, są zastępowane nowymi maksimami, które są bliższe wartościom optymalnym. PM wykorzystuje wielomiany Czebyszewa do konwersji współczynników wielomianowych na współczynniki rządzące szeregiem funkcji cosinusowych, które są bezpośrednio tłumaczone na symetryczne współczynniki FIR.


Jeśli chodzi o twoje pytanie dotyczące remezfunkcji w Octave i firpmfunkcji w MATLAB, wierzę, że są takie same. MATLAB miał kiedyś remez, który został wycofany na korzyść firpm. Oktawa prawdopodobnie nadal trzyma się tego pierwszego. Wpisanie help remezw MATLAB R2011b daje następujące wyniki:

REMEZ Parks-McClellan optymalna konstrukcja filtra FIR equiripple.

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

See also FIRPM.

Wnioskuję, że Mathworks zmienił nazwę remez na firpm, ponieważ nie był to ogólny solver Remeza, a raczej wcielenie metody Remeza przez PM.
Mark Borgerding,

@MarkBorgerding Uważam, że to rzeczywiście powód zmiany nazwy. Jednak nadal często zdarza się, że ludzie używają tych terminów zamiennie.
Lorem Ipsum,

2
Myślę, że uczciwe jest stwierdzenie: wszystkie implementacje Parks-McClellan są implementacjami Remez Exchange, ale odwrotność nie jest prawdą. Jeśli chodzi o konstrukcję filtrów, myślę, że można ich używać zamiennie. Byłoby to (w pewnym sensie) odniesienie do FFT jako DFT.
Mark Borgerding,

co powiesz na firgr (w matlabie)?
daurnimator 11.10.11

@daurnimator co z tym?
Lorem Ipsum
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.