DSPRelated.com
Forums

Getting started

Started by Gert Baars August 30, 2005
Hello,

In order to start with DSP I want to learn how to design FIR filters.
I have read that the procedure includes an inverse Fourier 
transformation from H(w) to h(n) of a filter. (I seem to remember the 
h(n) coefficients could be found by summing of terms but forgot the 
details) Can I find documents about such methods without having to buy 
expensive books.
I already have made a moving-average FIR filter which works fine so also
my platform works fine. Now I would like to know the methods of how to 
transform an H(w) (frequency domain) response of LPF,BPF and LPF to the 
coefficients (h0,h1....hn).

Please let me know if you know how to obtain this information.


Kind regards,

Gert Baars
Gert Baars wrote:
> Hello, > > In order to start with DSP I want to learn how to design FIR filters. > I have read that the procedure includes an inverse Fourier > transformation from H(w) to h(n) of a filter. (I seem to remember the > h(n) coefficients could be found by summing of terms but forgot the > details) Can I find documents about such methods without having to buy > expensive books. > I already have made a moving-average FIR filter which works fine so also > my platform works fine. Now I would like to know the methods of how to > transform an H(w) (frequency domain) response of LPF,BPF and LPF to the > coefficients (h0,h1....hn). > > Please let me know if you know how to obtain this information.
FIR filters are usually designed using a computer program to generate the coefficients using an empirical approximation rule. Some programs to do that are available as free downloads. I applaud learning do do the job by hand, just as I believe that everyone should be able to add a column of numbers. Nevertheless, a program will usually design a better practical filter than you or I. See http://iowegian.com/ Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Gert Baars wrote:
> Hello, > > In order to start with DSP I want to learn how to design FIR filters. > I have read that the procedure includes an inverse Fourier > transformation from H(w) to h(n) of a filter. (I seem to remember the > h(n) coefficients could be found by summing of terms but forgot the > details) Can I find documents about such methods without having to buy > expensive books.
You might, althouh I don't know of any such documents on the web. If you are serious about learning DSP, check out Lyons: "Understanding Digital Signal Processing" Prentice-Hall, 2004.
> I already have made a moving-average FIR filter which works fine so also > my platform works fine. Now I would like to know the methods of how to > transform an H(w) (frequency domain) response of LPF,BPF and LPF to the > coefficients (h0,h1....hn). > > Please let me know if you know how to obtain this information.
Hmmmm... I don't remember if Rick Lyons did include the window method for FIR filter design in his book; if not, I can only point to some higher-level textbook, so I don't. You don't mention what method you use to design your filters. I assume you have not implemented your own Remez exchange routine, so here goes the method of windows that needs no IFFT: The filter specification for a Low-Pass (LP) filter consists of a number of parmeters: - The pass-band cut-off frequenct fp - The stop-band cut-off frequency fs - The allowed ripple in the pass band - The allowed gain in the stop-band Note that for the window method, you have little control of the latter two parameters. It is basically a matter of trial and error to see which filters meet the spec. Now, the transition band is the frequency interval <fp,fs> where the frequency response is undefined. The rule of thumb is that you need to be able to "squeeze" the main lobe of the window function into this bandwidth. Since the width of the main lobe is a function of the length of the window, you compute the number of coefficents from the width of the transition band. The actual formula for doing this, is empirical and varies from window to window. Again, I have only seen these formulas in the higher-level textbooks. Now that you have decided on a filter length, you define the "ideal filter" as H(f) = 1 0 <= f < (fp+fs)/2 0 (fp+fs) < f <= 1/2 where the frequency f is normalized with respect to the sampling frequency. This frequency-domain transfer function has a time- domain impulse response that can be computed analytically, hence you do not need to compute the IFFT. Once you know the analytical expression for the time-domain impulse response (it is of the type sin(2pi f)/(2pi f)) you just compute as many coefficients you need (as you found from the transition band) and multiply each coefficient by the corresponding window coefficient. And voila, there's your filter. Next, how to find HP and BP FIR filters from an LP prototype. The easiest way to find a HP filter, is to design an LP prototype of the same bandwidth, and do a frequency shift so it is centered around f=1/2 instead of f=0. This is basically a matter of switching the sign of every other coefficient, but where you need to pay attention to preserving certain symmetries. You could do something similar for BP filters, where you design the LP prototype with half the bandwidth of your BP filter, and shifts the filter to be centered around some center frequency fc by means of a mixer. A somewhat more general approach is to first design a "wideband LP" prototype, that covers the band [0, fpu], and then subtract the band [0,fpl], where fpu and fpl are the upper and lower cut-off frequencies for the pass band. Rune
Jerry Avins wrote:
> Gert Baars wrote: > >> Hello, >> >> In order to start with DSP I want to learn how to design FIR filters. >> I have read that the procedure includes an inverse Fourier >> transformation from H(w) to h(n) of a filter. (I seem to remember the >> h(n) coefficients could be found by summing of terms but forgot the >> details) Can I find documents about such methods without having to buy >> expensive books. >> I already have made a moving-average FIR filter which works fine so also >> my platform works fine. Now I would like to know the methods of how to >> transform an H(w) (frequency domain) response of LPF,BPF and LPF to >> the coefficients (h0,h1....hn). >> >> Please let me know if you know how to obtain this information. > > > FIR filters are usually designed using a computer program to generate > the coefficients using an empirical approximation rule. Some programs to > do that are available as free downloads. > > I applaud learning do do the job by hand, just as I believe that > everyone should be able to add a column of numbers. Nevertheless, a > program will usually design a better practical filter than you or I. > > See http://iowegian.com/ > > Jerry
Thank you for the link. I downloaded scopeFIR and that seems to be the easiest way. But what if the filter (roll-off frequency) has to be variable? How are the coefficients implemented? Lets say we have a filter with 3 taps. Does that mean the first tap is before the first delay and the last after the last delay and the number of delays = 2?
Analog filters have a frequency characteristic detemined by
H(W) (W = 2.pi.f) For lets say a 1st order low-pass filter
this is H(W) = 1 / (1 + jWT)  with T (Tau) = 1 / Wc   (corner freq).
This is the simplest filter I can think of but still have no clue
how to perform an IFT on this. In analogue form this filter behaves
somelike ideal. The roll-off is constantly 6 dB/octave dowto hundreds
of dB's at high frequencies.
Digitizing this filter will make it no longer ideal since a FIR filter
can only perform an approximation of the real analogue response.

I know Z-transformation is a keyword here but still have to find more 
details about how to apply this.



Rune Allnor wrote:
> Gert Baars wrote: > >>Hello, >> >>In order to start with DSP I want to learn how to design FIR filters. >>I have read that the procedure includes an inverse Fourier >>transformation from H(w) to h(n) of a filter. (I seem to remember the >>h(n) coefficients could be found by summing of terms but forgot the >>details) Can I find documents about such methods without having to buy >>expensive books. > > > You might, althouh I don't know of any such documents on the web. > > If you are serious about learning DSP, check out > > Lyons: "Understanding Digital Signal Processing" > Prentice-Hall, 2004. > > >>I already have made a moving-average FIR filter which works fine so also >>my platform works fine. Now I would like to know the methods of how to >>transform an H(w) (frequency domain) response of LPF,BPF and LPF to the >>coefficients (h0,h1....hn). >> >>Please let me know if you know how to obtain this information. > > > Hmmmm... I don't remember if Rick Lyons did include the window > method for FIR filter design in his book; if not, I can only > point to some higher-level textbook, so I don't. > > You don't mention what method you use to design your filters. > I assume you have not implemented your own Remez exchange routine, > so here goes the method of windows that needs no IFFT: > > The filter specification for a Low-Pass (LP) filter consists of > a number of parmeters: > > - The pass-band cut-off frequenct fp > - The stop-band cut-off frequency fs > - The allowed ripple in the pass band > - The allowed gain in the stop-band > > Note that for the window method, you have little control of > the latter two parameters. It is basically a matter of trial > and error to see which filters meet the spec. > > Now, the transition band is the frequency interval <fp,fs> > where the frequency response is undefined. The rule of thumb > is that you need to be able to "squeeze" the main lobe of the > window function into this bandwidth. Since the width of the > main lobe is a function of the length of the window, you > compute the number of coefficents from the width of the transition > band. The actual formula for doing this, is empirical and varies > from window to window. Again, I have only seen these formulas > in the higher-level textbooks. > > Now that you have decided on a filter length, you define the > "ideal filter" as > > H(f) = 1 0 <= f < (fp+fs)/2 > 0 (fp+fs) < f <= 1/2 > > where the frequency f is normalized with respect to the sampling > frequency. This frequency-domain transfer function has a time- > domain impulse response that can be computed analytically, hence > you do not need to compute the IFFT. > > Once you know the analytical expression for the time-domain > impulse response (it is of the type sin(2pi f)/(2pi f)) > you just compute as many coefficients you need (as you found > from the transition band) and multiply each coefficient by the > corresponding window coefficient. > > And voila, there's your filter. > > Next, how to find HP and BP FIR filters from an LP prototype. > > The easiest way to find a HP filter, is to design an LP > prototype of the same bandwidth, and do a frequency shift so > it is centered around f=1/2 instead of f=0. This is basically > a matter of switching the sign of every other coefficient, > but where you need to pay attention to preserving certain > symmetries. > > You could do something similar for BP filters, where you > design the LP prototype with half the bandwidth of your > BP filter, and shifts the filter to be centered around some > center frequency fc by means of a mixer. > > A somewhat more general approach is to first design a "wideband > LP" prototype, that covers the band [0, fpu], and then subtract > the band [0,fpl], where fpu and fpl are the upper and lower > cut-off frequencies for the pass band. > > Rune >
If you want to emulate analog filters, you should use IIR filters, not FIR.  A 
key concept is the bi-linear Z-transform.

-- 
Jon Harris
SPAM blocker in place:
Remove 99 (but leave 7) to reply

"Gert Baars" <g.baars13@chello.nl> wrote in message 
news:72fed$4315980a$3ec23590$13813@news.chello.nl...
> Analog filters have a frequency characteristic detemined by > H(W) (W = 2.pi.f) For lets say a 1st order low-pass filter > this is H(W) = 1 / (1 + jWT) with T (Tau) = 1 / Wc (corner freq). > This is the simplest filter I can think of but still have no clue > how to perform an IFT on this. In analogue form this filter behaves > somelike ideal. The roll-off is constantly 6 dB/octave dowto hundreds > of dB's at high frequencies. > Digitizing this filter will make it no longer ideal since a FIR filter > can only perform an approximation of the real analogue response. > > I know Z-transformation is a keyword here but still have to find more details > about how to apply this. > > > > Rune Allnor wrote: >> Gert Baars wrote: >> >>>Hello, >>> >>>In order to start with DSP I want to learn how to design FIR filters. >>>I have read that the procedure includes an inverse Fourier >>>transformation from H(w) to h(n) of a filter. (I seem to remember the >>>h(n) coefficients could be found by summing of terms but forgot the >>>details) Can I find documents about such methods without having to buy >>>expensive books. >> >> >> You might, althouh I don't know of any such documents on the web. >> >> If you are serious about learning DSP, check out >> >> Lyons: "Understanding Digital Signal Processing" >> Prentice-Hall, 2004. >> >> >>>I already have made a moving-average FIR filter which works fine so also >>>my platform works fine. Now I would like to know the methods of how to >>>transform an H(w) (frequency domain) response of LPF,BPF and LPF to the >>>coefficients (h0,h1....hn). >>> >>>Please let me know if you know how to obtain this information. >> >> >> Hmmmm... I don't remember if Rick Lyons did include the window >> method for FIR filter design in his book; if not, I can only >> point to some higher-level textbook, so I don't. >> >> You don't mention what method you use to design your filters. >> I assume you have not implemented your own Remez exchange routine, >> so here goes the method of windows that needs no IFFT: >> >> The filter specification for a Low-Pass (LP) filter consists of >> a number of parmeters: >> >> - The pass-band cut-off frequenct fp >> - The stop-band cut-off frequency fs >> - The allowed ripple in the pass band >> - The allowed gain in the stop-band >> >> Note that for the window method, you have little control of >> the latter two parameters. It is basically a matter of trial >> and error to see which filters meet the spec. >> >> Now, the transition band is the frequency interval <fp,fs> >> where the frequency response is undefined. The rule of thumb >> is that you need to be able to "squeeze" the main lobe of the >> window function into this bandwidth. Since the width of the >> main lobe is a function of the length of the window, you >> compute the number of coefficents from the width of the transition >> band. The actual formula for doing this, is empirical and varies >> from window to window. Again, I have only seen these formulas >> in the higher-level textbooks. >> >> Now that you have decided on a filter length, you define the >> "ideal filter" as >> >> H(f) = 1 0 <= f < (fp+fs)/2 >> 0 (fp+fs) < f <= 1/2 >> >> where the frequency f is normalized with respect to the sampling >> frequency. This frequency-domain transfer function has a time- >> domain impulse response that can be computed analytically, hence >> you do not need to compute the IFFT. >> >> Once you know the analytical expression for the time-domain >> impulse response (it is of the type sin(2pi f)/(2pi f)) >> you just compute as many coefficients you need (as you found >> from the transition band) and multiply each coefficient by the >> corresponding window coefficient. >> >> And voila, there's your filter. >> >> Next, how to find HP and BP FIR filters from an LP prototype. >> >> The easiest way to find a HP filter, is to design an LP >> prototype of the same bandwidth, and do a frequency shift so >> it is centered around f=1/2 instead of f=0. This is basically >> a matter of switching the sign of every other coefficient, >> but where you need to pay attention to preserving certain >> symmetries. >> >> You could do something similar for BP filters, where you >> design the LP prototype with half the bandwidth of your >> BP filter, and shifts the filter to be centered around some >> center frequency fc by means of a mixer. >> >> A somewhat more general approach is to first design a "wideband >> LP" prototype, that covers the band [0, fpu], and then subtract >> the band [0,fpl], where fpu and fpl are the upper and lower >> cut-off frequencies for the pass band. Rune >>
"Jon Harris" <jon99_harris7@hotmail.com> wrote in
news:9XkRe.10431$um2.3880@trnddc03: 

> Subject: Re: Getting started > From: "Jon Harris" <jon99_harris7@hotmail.com> > Newsgroups: comp.dsp > > If you want to emulate analog filters, you should use IIR filters, not > FIR. A key concept is the bi-linear Z-transform. >
I would suggest that as a beginner, FIR filters are the best place to start. As he gets a handle on how things work, IIRs would be the next logical step. As you know Jon, IIRs have implememtation details that may get him into trouble. FIRs don't tend to blow up, etc. I agree that conceptually, IIRs are a lot more similar to typical analog filters. The textbooks certainly dwell on window techniques for FIR design. I don't think that most filters are actually designed this way however. Understanding the principles is a good idea, but almost all filter design uses computer programs for the coefficient calculations. I think most FIR implementations are probably Parks-McClelland (remez exchange). Jon is correct that the most common IIR implementions use bilinear transformation to create second order (and maybe one first order) cascaded sections. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
> "Gert Baars" <g.baars13@chello.nl> wrote in message > news:72fed$4315980a$3ec23590$13813@news.chello.nl... >> Analog filters have a frequency characteristic detemined by >> H(W) (W = 2.pi.f) For lets say a 1st order low-pass filter >> this is H(W) = 1 / (1 + jWT) with T (Tau) = 1 / Wc (corner freq). >> This is the simplest filter I can think of but still have no clue >> how to perform an IFT on this. In analogue form this filter behaves >> somelike ideal. The roll-off is constantly 6 dB/octave dowto hundreds >> of dB's at high frequencies. >> Digitizing this filter will make it no longer ideal since a FIR >> filter can only perform an approximation of the real analogue >> response. >> >> I know Z-transformation is a keyword here but still have to find more >> details about how to apply this. >> >> >> >> Rune Allnor wrote: >>> Gert Baars wrote: >>> >>>>Hello, >>>> >>>>In order to start with DSP I want to learn how to design FIR >>>>filters. I have read that the procedure includes an inverse Fourier >>>>transformation from H(w) to h(n) of a filter. (I seem to remember >>>>the h(n) coefficients could be found by summing of terms but forgot >>>>the details) Can I find documents about such methods without having >>>>to buy expensive books. >>> >>> >>> You might, althouh I don't know of any such documents on the web. >>> >>> If you are serious about learning DSP, check out >>> >>> Lyons: "Understanding Digital Signal Processing" >>> Prentice-Hall, 2004. >>> >>> >>>>I already have made a moving-average FIR filter which works fine so >>>>also my platform works fine. Now I would like to know the methods of >>>>how to transform an H(w) (frequency domain) response of LPF,BPF and >>>>LPF to the coefficients (h0,h1....hn). >>>> >>>>Please let me know if you know how to obtain this information. >>> >>> >>> Hmmmm... I don't remember if Rick Lyons did include the window >>> method for FIR filter design in his book; if not, I can only >>> point to some higher-level textbook, so I don't. >>> >>> You don't mention what method you use to design your filters. >>> I assume you have not implemented your own Remez exchange routine, >>> so here goes the method of windows that needs no IFFT: >>> >>> The filter specification for a Low-Pass (LP) filter consists of >>> a number of parmeters: >>> >>> - The pass-band cut-off frequenct fp >>> - The stop-band cut-off frequency fs >>> - The allowed ripple in the pass band >>> - The allowed gain in the stop-band >>> >>> Note that for the window method, you have little control of >>> the latter two parameters. It is basically a matter of trial >>> and error to see which filters meet the spec. >>> >>> Now, the transition band is the frequency interval <fp,fs> >>> where the frequency response is undefined. The rule of thumb >>> is that you need to be able to "squeeze" the main lobe of the >>> window function into this bandwidth. Since the width of the >>> main lobe is a function of the length of the window, you >>> compute the number of coefficents from the width of the transition >>> band. The actual formula for doing this, is empirical and varies >>> from window to window. Again, I have only seen these formulas >>> in the higher-level textbooks. >>> >>> Now that you have decided on a filter length, you define the >>> "ideal filter" as >>> >>> H(f) = 1 0 <= f < (fp+fs)/2 >>> 0 (fp+fs) < f <= 1/2 >>> >>> where the frequency f is normalized with respect to the sampling >>> frequency. This frequency-domain transfer function has a time- >>> domain impulse response that can be computed analytically, hence >>> you do not need to compute the IFFT. >>> >>> Once you know the analytical expression for the time-domain >>> impulse response (it is of the type sin(2pi f)/(2pi f)) >>> you just compute as many coefficients you need (as you found >>> from the transition band) and multiply each coefficient by the >>> corresponding window coefficient. >>> >>> And voila, there's your filter. >>> >>> Next, how to find HP and BP FIR filters from an LP prototype. >>> >>> The easiest way to find a HP filter, is to design an LP >>> prototype of the same bandwidth, and do a frequency shift so >>> it is centered around f=1/2 instead of f=0. This is basically >>> a matter of switching the sign of every other coefficient, >>> but where you need to pay attention to preserving certain >>> symmetries. >>> >>> You could do something similar for BP filters, where you >>> design the LP prototype with half the bandwidth of your >>> BP filter, and shifts the filter to be centered around some >>> center frequency fc by means of a mixer. >>> >>> A somewhat more general approach is to first design a "wideband >>> LP" prototype, that covers the band [0, fpu], and then subtract >>> the band [0,fpl], where fpu and fpl are the upper and lower >>> cut-off frequencies for the pass band. Rune >>> >
The problem with IIR filters can be the feedback of the output
back into the filter causing oscillations. The design never is
'precise' so simulation would be neccesary before implementation.
FIR filters don't show this problem as the response fades to
zero as the input does.

For a variable filter it seems neccesary to calculate the coefficients
with the DSP. This takes time but only has to be done once each
time the filter settings (cut-off frequency) are changed.




Al Clark wrote:
> "Jon Harris" <jon99_harris7@hotmail.com> wrote in > news:9XkRe.10431$um2.3880@trnddc03: > > >>Subject: Re: Getting started >>From: "Jon Harris" <jon99_harris7@hotmail.com> >>Newsgroups: comp.dsp >> >>If you want to emulate analog filters, you should use IIR filters, not >>FIR. A key concept is the bi-linear Z-transform. >> > > > I would suggest that as a beginner, FIR filters are the best place to > start. As he gets a handle on how things work, IIRs would be the next > logical step. > > As you know Jon, IIRs have implememtation details that may get him into > trouble. FIRs don't tend to blow up, etc. > > I agree that conceptually, IIRs are a lot more similar to typical analog > filters. > > The textbooks certainly dwell on window techniques for FIR design. I > don't think that most filters are actually designed this way however. > Understanding the principles is a good idea, but almost all filter design > uses computer programs for the coefficient calculations. I think most FIR > implementations are probably Parks-McClelland (remez exchange). > > Jon is correct that the most common IIR implementions use bilinear > transformation to create second order (and maybe one first order) > cascaded sections. >
Gert Baars wrote:

(top posting fixed)

> Al Clark wrote: > >> "Jon Harris" <jon99_harris7@hotmail.com> wrote in >> news:9XkRe.10431$um2.3880@trnddc03: >> >>> Subject: Re: Getting started >>> From: "Jon Harris" <jon99_harris7@hotmail.com> >>> Newsgroups: comp.dsp >>> >>> If you want to emulate analog filters, you should use IIR filters, not >>> FIR. A key concept is the bi-linear Z-transform. >>> >> >> >> I would suggest that as a beginner, FIR filters are the best place to >> start. As he gets a handle on how things work, IIRs would be the next >> logical step. >> >> As you know Jon, IIRs have implememtation details that may get him >> into trouble. FIRs don't tend to blow up, etc. >> I agree that conceptually, IIRs are a lot more similar to typical >> analog filters. >> >> The textbooks certainly dwell on window techniques for FIR design. I >> don't think that most filters are actually designed this way however. >> Understanding the principles is a good idea, but almost all filter >> design uses computer programs for the coefficient calculations. I >> think most FIR implementations are probably Parks-McClelland (remez >> exchange). >> >> Jon is correct that the most common IIR implementions use bilinear >> transformation to create second order (and maybe one first order) >> cascaded sections. >>
> The problem with IIR filters can be the feedback of the output > back into the filter causing oscillations. The design never is > 'precise' so simulation would be necessary before implementation. > FIR filters don't show this problem as the response fades to > zero as the input does. Simulation? No, you can predict the worst-case performance of an IIR filter quite accurately from first principals. Simulation should be reserved for checking to see if you have your head screwed on straight and for nonlinear systems that are really hard. > > For a variable filter it seems necessary to calculate the coefficients > with the DSP. This takes time but only has to be done once each > time the filter settings (cut-off frequency) are changed. > Yes and no -- you should be able to start with a prototype filter response and scale the FIR filter to fit without having to do a full design in your embedded DSP code. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Tim Wescott wrote:
> Gert Baars wrote: > > (top posting fixed) > > > Al Clark wrote: > > > >> "Jon Harris" <jon99_harris7@hotmail.com> wrote in > >> news:9XkRe.10431$um2.3880@trnddc03: > >> > >>> Subject: Re: Getting started > >>> From: "Jon Harris" <jon99_harris7@hotmail.com> > >>> Newsgroups: comp.dsp > >>> > >>> If you want to emulate analog filters, you should use IIR filters, not > >>> FIR. A key concept is the bi-linear Z-transform. > >>> > >> > >> > >> I would suggest that as a beginner, FIR filters are the best place to > >> start. As he gets a handle on how things work, IIRs would be the next > >> logical step. > >> > >> As you know Jon, IIRs have implememtation details that may get him > >> into trouble. FIRs don't tend to blow up, etc. > >> I agree that conceptually, IIRs are a lot more similar to typical > >> analog filters. > >> > >> The textbooks certainly dwell on window techniques for FIR design. I > >> don't think that most filters are actually designed this way however. > >> Understanding the principles is a good idea, but almost all filter > >> design uses computer programs for the coefficient calculations. I > >> think most FIR implementations are probably Parks-McClelland (remez > >> exchange). > >> > >> Jon is correct that the most common IIR implementions use bilinear > >> transformation to create second order (and maybe one first order) > >> cascaded sections. > >> > > The problem with IIR filters can be the feedback of the output > > back into the filter causing oscillations. The design never is > > 'precise' so simulation would be necessary before implementation. > > FIR filters don't show this problem as the response fades to > > zero as the input does. > > Simulation? No, you can predict the worst-case performance of an IIR > filter quite accurately from first principals. Simulation should be > reserved for checking to see if you have your head screwed on straight > and for nonlinear systems that are really hard. > > > > For a variable filter it seems necessary to calculate the coefficients > > with the DSP. This takes time but only has to be done once each > > time the filter settings (cut-off frequency) are changed. > > > Yes and no -- you should be able to start with a prototype filter > response and scale the FIR filter to fit without having to do a full > design in your embedded DSP code.
Hmmmm.... variable filters.... are we getting into adaptive filtering? That's a completely different cup of tea from both IIRs and FIRs... Rune