> So back to answering your question: The simple, but perhaps obsolete,
> methods are used in education because they are easily understood
> and can be implemented in terms of closed-form formulae. These
> methods are "best" with respect to gained results for invested
> effort.
I think there's more to it than that for both professionalism and
education. Seeing first hand how a set of reasonable coefficients is
generated deepens understanding. It stands to reason that tweaking the
coefficients just a bit can improve the result; we leave that to a
computer. (The same is true of a truncated power series for log, arctan,
or whatever.) If one is a professional fire maker, it is also good to
know (or at least dimly remember) alternate ways to make fire, just in
case the Bic won't flick.
...
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by laki●September 1, 20052005-09-01
Rune Allnor wrote:
> laki wrote:
>
>>Hi,
>>
>>Suppose I want to design a digital filter for some application. There
>>are some options to do this:
>>- weighted least squares design
>>- minimax design
>>- filter design based on 'windows' (fir1, fir2)
>>- equiripple design (remez)
>>
>>Which method is the most used (in education, in industry)? Which method
>>results in a filter satisfying the filter requirements the best?
>
>
> FIR filter design by the window methods is probably the most widely
> used method during general DSP classes and in education. The method
> is relatively simple but does not necessarily provide "good" filters.
> It is not obvious how to optimize the number of coefficients, and
> it is not easy to control the gain, attenuation and ripple.
>
> The Parks-McClellan algorithm seems to be better suited to solve such
> problems, but is not all that obvious to understand or implement.
> I am not sure how good the matlab implementation (REMEZ, FIRPM) is.
>
> For IIR filter design, there is the design by analogue prototype,
> which has some historical significance and is relatively straight-
> forward, although it requires a lot of algebra to get through.
> The main problem with this method is that it is difficult to find
> good recipes for implementation. Most recent DSP texts only sketches
> the outlines of the method, leaving out some of the crucial details.
> As for matlab, I am not impressed by the BUTTER, CHEB1 and CHEB2
> functions in the Signal Processing Toolbox. It is well known that
> IIR filters should be implemented as a cascade of 1st and 2nd order
> primitives. As far as I can tell, the matlab functions do not
> export the filters on that form.
>
> I did find a method by Steiglitz for optimizing filters with respect
> to a frequency-domain response function, published in the early
> 1970ies. The main difficulty there, was that the methods relied on
> a nonlinear conjugate gradient optimization method. Apart from that,
> the paper seemed to have all the difficult detailed worked out.
>
> So back to answering your question: The simple, but perhaps obsolete,
> methods are used in education because they are easily understood
> and can be implemented in terms of closed-form formulae. These
> methods are "best" with respect to gained results for invested
> effort.
>
> In industry, one is willing to spend $$$ or time getting more
> sophisticated desing methods, based on numerical optimization
> schemes. These filters might be able to do the job in fewer flops
> than the filters designed by the "simple" methods.
>
> So it is basically up to you, how much time or $$$ are you willing
> to spend to get your hands on the sophisticated methods, and whether
> the added cost is worth the perhaps small improvement.
>
> Rune
>
Thanks, Rune
Reply by Rune Allnor●August 30, 20052005-08-30
laki wrote:
> Hi,
>
> Suppose I want to design a digital filter for some application. There
> are some options to do this:
> - weighted least squares design
> - minimax design
> - filter design based on 'windows' (fir1, fir2)
> - equiripple design (remez)
>
> Which method is the most used (in education, in industry)? Which method
> results in a filter satisfying the filter requirements the best?
FIR filter design by the window methods is probably the most widely
used method during general DSP classes and in education. The method
is relatively simple but does not necessarily provide "good" filters.
It is not obvious how to optimize the number of coefficients, and
it is not easy to control the gain, attenuation and ripple.
The Parks-McClellan algorithm seems to be better suited to solve such
problems, but is not all that obvious to understand or implement.
I am not sure how good the matlab implementation (REMEZ, FIRPM) is.
For IIR filter design, there is the design by analogue prototype,
which has some historical significance and is relatively straight-
forward, although it requires a lot of algebra to get through.
The main problem with this method is that it is difficult to find
good recipes for implementation. Most recent DSP texts only sketches
the outlines of the method, leaving out some of the crucial details.
As for matlab, I am not impressed by the BUTTER, CHEB1 and CHEB2
functions in the Signal Processing Toolbox. It is well known that
IIR filters should be implemented as a cascade of 1st and 2nd order
primitives. As far as I can tell, the matlab functions do not
export the filters on that form.
I did find a method by Steiglitz for optimizing filters with respect
to a frequency-domain response function, published in the early
1970ies. The main difficulty there, was that the methods relied on
a nonlinear conjugate gradient optimization method. Apart from that,
the paper seemed to have all the difficult detailed worked out.
So back to answering your question: The simple, but perhaps obsolete,
methods are used in education because they are easily understood
and can be implemented in terms of closed-form formulae. These
methods are "best" with respect to gained results for invested
effort.
In industry, one is willing to spend $$$ or time getting more
sophisticated desing methods, based on numerical optimization
schemes. These filters might be able to do the job in fewer flops
than the filters designed by the "simple" methods.
So it is basically up to you, how much time or $$$ are you willing
to spend to get your hands on the sophisticated methods, and whether
the added cost is worth the perhaps small improvement.
Rune
Reply by Jerry Avins●August 30, 20052005-08-30
laki wrote:
> Hi,
>
> Suppose I want to design a digital filter for some application. There
> are some options to do this:
> - weighted least squares design
> - minimax design
> - filter design based on 'windows' (fir1, fir2)
> - equiripple design (remez)
>
> Which method is the most used (in education, in industry)?
Equiripple. (How does that differ from minimax?)
> Which method
> results in a filter satisfying the filter requirements the best?
That depends on the requirement.
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by laki●August 30, 20052005-08-30
Hi,
Suppose I want to design a digital filter for some application. There
are some options to do this:
- weighted least squares design
- minimax design
- filter design based on 'windows' (fir1, fir2)
- equiripple design (remez)
Which method is the most used (in education, in industry)? Which method
results in a filter satisfying the filter requirements the best?
Thanks,
Laki