DSPRelated.com
Forums

Order of cascade in IFIR filter

Started by Unknown October 6, 2014
I'm trying to reduce the circuit size of a multi-channel FIR filter used prior to decimation.

The multi-channel structure already makes use of the decimation factor to reduce the overall circuit size - only 1/DecimationFactor outputs for each channel are actually calculated. 

I want to replace it with an IFIR filter to reduce the circuit size even further, and playing around with the design in Matlab I think I can meet the requirements with:

M=2, 30 taps shaping FIR filter.
4 taps image rejection FIR filter.

I need to apply both stages of filter before performing the decimation. If I apply the shaping filter first (as described in Rick's 2nd edition book) then the decimation factor is applied to the IR filter only, and I lose most of the circuit size benefit because it is a very low order filter. 

Is there any reason I can't reverse the order and apply the IR filter before the shaping filter?

(I don't yet have a copy of Rick's 3rd edition, which I suspect may address this)
On 10/6/14 10:34 AM, jskull@gmail.com wrote:
> I'm trying to reduce the circuit size of a multi-channel FIR filter used prior to decimation. > > The multi-channel structure already makes use of the decimation factor to reduce the overall circuit size - only 1/DecimationFactor outputs for each channel are actually calculated. > > I want to replace it with an IFIR filter to reduce the circuit size even further, ...
what's the first "I" stand for? -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
> what's the first "I" stand for?
Interpolated.
On Mon, 06 Oct 2014 07:34:25 -0700, jskull wrote:

> I'm trying to reduce the circuit size of a multi-channel FIR filter used > prior to decimation. > > The multi-channel structure already makes use of the decimation factor > to reduce the overall circuit size - only 1/DecimationFactor outputs for > each channel are actually calculated. > > I want to replace it with an IFIR filter to reduce the circuit size even > further, and playing around with the design in Matlab I think I can meet > the requirements with: > > M=2, 30 taps shaping FIR filter. > 4 taps image rejection FIR filter. > > I need to apply both stages of filter before performing the decimation. > If I apply the shaping filter first (as described in Rick's 2nd edition > book) then the decimation factor is applied to the IR filter only, and I > lose most of the circuit size benefit because it is a very low order > filter.
First you say you need to apply both stages before decimation, then you say that decimation is applied to the output of the first filter in the chain. Whuh-huh?
> Is there any reason I can't reverse the order and apply the IR filter > before the shaping filter?
I don't know the answer to this, but you can find it out by plotting the anticipated (or perhaps the worst-case) spectrum out of the first filter, then applying the folding you'll get from aliasing. If bad stuff gets folded down to important stuff, then the answer is "no". If it doesn't, the answer is "yes". -- www.wescottdesign.com
> First you say you need to apply both stages before decimation, then you > say that decimation is applied to the output of the first filter in the > chain. > > Whuh-huh?
Thanks for taking the time to respond to my slightly dubious question. Sorry I was not clear enough - the decimation is actually applied inside the circuit of the second stage filter, but output signal is the same as if it were applied after the second stage. It's just that you don't bother wasting resources calculating the outputs that are going to be discarded by the decimation. I can't see there can be any problem reversing the stages - the overall equivalent single stage filter is the convolution of the two symmetric impulse responses, which is identical which ever way around you do it.
On Mon, 6 Oct 2014 09:14:33 -0700 (PDT), Jon Skull <jskull@gmail.com>
wrote:

>> First you say you need to apply both stages before decimation, then you= >=20 >> say that decimation is applied to the output of the first filter in the= >=20 >> chain. >>=20 >> Whuh-huh? > >Thanks for taking the time to respond to my slightly dubious question. > >Sorry I was not clear enough - the decimation is actually applied inside th= >e circuit of the second stage filter, but output signal is the same as if i= >t were applied after the second stage. It's just that you don't bother wast= >ing resources calculating the outputs that are going to be discarded by the= > decimation. > > >I can't see there can be any problem reversing the stages - the overall equ= >ivalent single stage filter is the convolution of the two symmetric impulse= > responses, which is identical which ever way around you do it.
If I understand you correctly, yes, if you do the analysis of both model filters at the full input sample rate, i.e., there is no decimation, then the convolution of the two impulse responses provides the impulse response of the final filter, and the order won't matter. In other words, design your two cascaded model filters that run at the full input rate, then convolve the impulse responses. The resulting impulse response is the coefficient set for a single decimating filter that only needs to be run at the output rate. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Mon, 6 Oct 2014 09:14:33 -0700 (PDT), Jon Skull <jskull@gmail.com>
wrote:

>> First you say you need to apply both stages before decimation, then you >> say that decimation is applied to the output of the first filter in the >> chain. >> >> Whuh-huh? > >Thanks for taking the time to respond to my slightly dubious question. > >Sorry I was not clear enough - the decimation is actually applied inside the circuit of the second stage filter, but output signal is the same as if it were applied after the second stage. It's just that you don't bother wasting resources calculating the outputs that are going to be discarded by the decimation. > > >I can't see there can be any problem reversing the stages - the overall equivalent single stage filter is the convolution of the two symmetric impulse responses, which is identical which ever way around you do it.
Hello Jon, I have some info on IFIR filters used for decimation in the expanded Chapter 10 of my 3rd edition. Send me a private e-mail and I'll send you some appropriate info that be of some value to you. [Rick Lyons]