The following is a suggestion for anyone interested in a project. I may

eventually try to do this myself, but I thought I would mention it here

in case someone else has an interest in it.

In MATLAB 7, the filter design function remez has been deprecated in

favor of a function called "firpm" (the letters PM meaning

Parks-McLellan). In addition, a new filter function has been added

called "firls", which uses a least-squares design approach. The

functions firpm and firls use similar calling conventions to the old

remez function. I think it would make sense to eventually move "remez"

to "firpm", with perhaps a remez.m script that calls firpm (this is what

appears to happen in MATLAB 7).

I have found the firls function to be quite useful, for reasons

described below. Writing the code for the firls function could be a bit

of a project. I have found a pretty decent description of how it works

at

http://cnx.rice.edu/content/m10577/latest/ . It appears to me that

unlike the Parks-McLellan algorithm, this approach is non-iterative, so

I think it could be reasonable fast written as an m file.

While these filters do not satisfy the equiripple constraint of the

Parks-McLellan approach, there are situations in which they can be

desirable. One case is where the specifications make it difficult for

the Parks-McLellan algorithm to converge. In my experience least squares

filters tend to achieve a better average stop band attenuation for the

same filter length than their equiripple Parks-McLellan counterparts,

which makes them desirable in situations where exactly meeting a certain

ripple level is not critical.

regards,

Quentin