Home

remez

Remez, short for the Remez exchange algorithm, is an iterative method for computing a minimax (Chebyshev) approximation to a desired frequency response using a finite impulse response (FIR) filter. In digital signal processing, it is most commonly associated with designing linear-phase FIR filters via the Parks–McClellan approach, and is frequently referred to by the function name remez in software toolboxes.

The problem is to find FIR coefficients h[n] that make the filter’s frequency response H(ω) approximate a

The algorithm proceeds iteratively. An initial set of extremal frequencies is chosen, and a linear system is

The result is an equiripple error pattern in the specified bands, with a minimax-optimal overall deviation.

target
D(ω)
over
specified
frequency
bands
(passband,
stopband,
and
transition
bands),
while
minimizing
the
maximum
weighted
error
E(ω)
=
W(ω)[D(ω)
−
H(ω)].
W(ω)
assigns
relative
importance
to
different
bands.
For
a
fixed-length,
linear-phase
FIR
filter,
the
optimization
reduces
to
a
finite
set
of
linear
equations
and
a
constraint
that
the
error
reaches
equal
magnitude
at
a
set
of
extremal
frequencies.
solved
to
obtain
the
filter
coefficients
and
the
error
magnitude.
The
actual
error
is
evaluated
across
the
bands;
if
the
set
of
extremal
points
is
not
optimal,
some
of
them
are
replaced
by
new
frequencies
where
the
error
is
largest,
enforcing
alternating
signs.
This
exchange
continues
until
convergence,
typically
when
the
extremal
set
stabilizes
or
changes
fall
below
a
tolerance.
The
Parks–McClellan
implementation
of
the
method
supports
various
filter
lengths,
symmetry
types
(Type
I–IV),
and
user-defined
passband/stopband
specifications.
It
is
widely
implemented
in
DSP
toolboxes,
including
MATLAB/Octave
(remez)
and
SciPy.