¿Cuál es la diferencia entre el intercambio de Remez y el diseño del filtro Parks-McClellan?


21

Recientemente surgió una pregunta sobre Parks-McClellan y algunos de los comentarios señalan que el artículo de Wikipedia sobre Parks-McClellan afirma:

... el algoritmo Parks-McClellan es una variación del algoritmo Remez o el algoritmo de intercambio Remez.

¿Hay alguna diferencia en el rendimiento? ¿Es la remezfunción en octava equivalente a la función de Matlab firpm?

Respuestas:


8

El algoritmo de intercambio de Remez es un procedimiento iterativo genérico para aproximar cualquier función de manera óptima en el sentido (es decir, dar la mejor aproximación al peor de los casos o, en otras palabras, minimizar el error máximo o minmax). El algoritmo Parks-McClellan (PM) es una variación del algoritmo de intercambio Remez, aplicado específicamente para filtros FIR. Del artículo wiki que citó:L

Thomas [Parks] condujo de Houston a Princeton para asistir a una conferencia. En la conferencia, escuchó la presentación de Ed Hofstetter sobre un nuevo algoritmo de diseño de filtro FIR (algoritmo Maximal Ripple). Llevó el artículo de Hofstetter, Oppenheim y Siegel a Houston, pensando en la posibilidad de utilizar la teoría de aproximación de Chebyshev para diseñar filtros FIR. Escuchó que el método implementado en el algoritmo de Hofstetter era similar al algoritmo de intercambio de Remez y decidió seguir el camino del uso del algoritmo de intercambio de Remez.

Sin entrar en demasiados detalles, la diferencia principal entre los dos algoritmos es que el algoritmo de intercambio Remez (RE) le brinda las condiciones para diseñar el filtro óptimo (específicamente, vea el # 3 aquí: los errores deben ser de igual magnitud ponderada y alternando en signo). RE implementa un procedimiento iterativo para calcular los coeficientes polinómicos (que pueden asignarse a coeficientes de filtro FIR) que satisfacen el criterio anterior, que es el "Teorema de alternancia". La "E" en RE es la parte del procedimiento donde los máximos en el error, que se utilizan en el procedimiento iterativo, se reemplazan por los nuevos máximos, que están más cerca de los valores óptimos. PM utiliza polinomios de Tchebyshev para convertir coeficientes polinomiales en coeficientes que gobiernan una serie de funciones de coseno que se traducen directamente a coeficientes FIR simétricos.


En cuanto a su pregunta sobre la remezfunción en Octave y la firpmfunción en MATLAB, creo que son lo mismo. MATLAB solía tener un remez, que fue eliminado a favor de firpm. Octave probablemente todavía se adhiere a la primera. Escribir help remezen MATLAB R2011b da lo siguiente:

REMEZ Parks-McClellan diseño de filtro FIR equiripple óptimo.

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

See also FIRPM.

Infiero que Mathworks cambió el nombre remez a firpm ya que no era un solucionador genérico de Remez, sino más bien la encarnación de PM del método Remez.
Mark Borgerding

@ MarkBorgerding Creo que esa es la razón del cambio de nombre. Sin embargo, todavía es común encontrar personas que usan los dos términos indistintamente.
Lorem Ipsum

2
Creo que una declaración justa es: todas las implementaciones de Parks-McClellan son implementaciones de Remez Exchange, pero lo contrario no es cierto. En relación con el diseño del filtro, creo que se pueden usar de manera intercambiable. Sería (algo) como referirse a una FFT como una DFT.
Mark Borgerding

¿Qué tal firgr (en matlab)?
daurnimator

@daurnimator ¿qué pasa con eso?
Lorem Ipsum
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.