remez — Remez exchange algorithm for the weighted chebyshev approximation of a continuous function with a sum of cosines.
an=remez(guess,mag,fgrid,weight)
real array of size n+2 the
initial
guess
real array of size ng
: the grid of
normalized frequency points in [0,.5[
real array of size ng
: the desired
magnitude on grid fg
real array of size ng
: weighting function
on error on grid fg
real array of size n
: cosine
coefficients
Minimax approximation of a frequency domain magnitude response. The approximation takes the form
h = sum[a(i)*cos(weight)], i=1:n
An FIR, linear-phase filter can be obtained from the the output of
remez
by using the following commands:
hn(1:nc-1)=an(nc:-1:2)/2; hn(nc)=an(1); hn(nc+1:2*nc-1)=an(2:nc)/2;
This function is mainly intended to be called by the remezb function.
E.W. Cheney, Introduction to Approximation Theory, McGraw-Hill, 1966
http://en.wikipedia.org/wiki/Remez_algorithm
This function is based on the fortran code remez.f
written by:
James H. Mcclellan, department of electrical engineering and computer science, Massachusetts Institute of Technology, Cambridge, Massachussets. 02139
Thomas W. Parks, department of electrical engineering, Rice university, Houston, Texas 77001
Thomas W. Parks, department of electrical engineering, Rice university, Houston, Texas 77001