reducing order of fir filter design

Status
Not open for further replies.

lakshmikalyani

Member level 1
Joined
Jan 5, 2014
Messages
36
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Location
kakinada
Visit site
Activity points
248
hi
i am trying to design a fir filter bank with a specifications of 200 to 7500.
i have to design 8 bands of filters of same order
my transition band should be min 5% max 10% more of less than the passband frequencies
so my order is really high but i want to reduce the order
can u help me to reduce the order
i had taken my maximum sampling frequency as 16600 according to the nyquist frequency
which should be more than stopband frequency of last band i.e 8250

pleas help me to reduce the order of the filter
 

It depends basically of the requirements of the filter:

a) ripple in bassband
b) attenuation in stopband
c) width of transition bands

Relaxing the requirements [i.e. more ripple in a), less attenuation in b), more width in c)] results in less filter order.
 

ohk i understood to increase the transition width but according to the specs i have the transition band should be as small as possible.
i dint understand how to reduce attenuation and increase ripples
and i also want to know which is the best method to design a fir filter
i think i can do changes in ripples and attenuation
 

The method that gives optimum efficiency and flexibility is the Parks-McClellan method.

What method or design tool are you using?
 

You first need to determine a clear performence specification of filter. Having these characteristics, you can interactively input the data to some online FIR Filter Design calculator available on the Web based on Window method in order to obtain the minimal order that can fit the requirements.
 

The method that gives optimum efficiency and flexibility is the Parks-McClellan method.

What method or design tool are you using?

i am using matlab to derive the coefficients and have to design the filter in verilog

- - - Updated - - -


my specifications are 8 passband frequencies from 200 to 7500 hzs i have to decide stopband frequencies in such a way that the eight bands should not overlap so their transition bands should be very less so i am getting high order and i also want to know the perfect method to get the small order and meet the specs
 

Then use fdatool (if you have the appropriate matlab toolbox).
It's an extremely good tool for digital filter design and analysis.

Z

hi i am using fdatool in the matlab i had reduced the stopband attenuation and increased the transition band to 12% but still the order is 500
i tried to cascade the filters and get the 80db attenuation but the problem is not solved
since the order is still 500 i want to reduce it to 30 or 40
 

Order of 30 or 40 is barely impossible according to the fs to lowest fc ratio. As a visual explanation, consider that a bandpass filter should at least hold one signal period to do any selective manipulation. For steep transition band much more. fs multiply transition bandwidth can give you a ballpark number, roughly coinciding with your results.
 


i am sorry i dint get the explanation i think sampling frequency that had selected is not correct
can u help me in selecting the sampling frequency
 
Last edited:

I tried to give you an intuitive insight how frequency and time domain are related. You can also perform an inverse fourier transform of the filter frequency response and check how a steep transition band extends the significant part of the impulse response.

Deriving the FIR response from an IFT (additionally applying a time window) is a valid design method, so called direct synthesis. Less perfect than fdatool methods, but results aren't (and can't be) completely different.

The window you apply in time domain (= reducing the filter order) is linked to a respective broadening in frequency domain, the original wanted frequency response is convolved with the FT of the window.
 


Actually haven't seen any real filter specifications. But it should be noted that its very easy to generate specifications that cannot be met by a limited number of taps.

You might want to try building with an IIR filter instead.
 

yes i had already done the things in using IIR filter but i am trying to do using fir filters but unable to do it
i want to cascade the filter to get the attenuation of 80 dB but the order is very high for that design also. the order is around 500. i want to know during cascading to filters in matlab does the passband and stopband should be same or can be changed?
 


Cascade form doesn't change the filter response.

[1/(s+a) ]*[1/(s+b) ] = 1 / (s^2 + (a+b)s + ab) whichever way you implement it.

The cascade is mathematically equivalent. Cascading reduces the sensitivity to round off errors. But that's not the trouble you're having.

There are tricks like: symmetric design(make the taps a mirror image about the center) and cut the number of multiplies in half.

But it sounds like your filter specs are too stringent to be implemented in a 40 tap FIR. There is no magical way to achieve really stringent filter specs with very few taps.

My suggestion is you stick with the IIR design.
 

Cascade form doesn't change the filter response.

[1/(s+a) ]*[1/(s+b) ] = 1 / (s^2 + (a+b)s + ab) whichever way you implement it.
That's the description of a lumped analog (continuos time) filter. Neither FIR nor time discrete IIR.

By cascading two FIR filters, you get a new filter with order n1 + n2. Nothing that can't be represented by a single FIR filter. You are primarly confusing the clear design process of a FIR filter.

For IIR, cascading is a regular design method. A higher order filter can be always splitted into n 2nd order and optionally a first order block.
 

"That's the description of a lumped analog (continuos time) filter. Neither FIR nor time discrete IIR."
You totally missed the point of his question and my response.

You can cascade continuous time filters or discrete time filters. The overall transfer function is the product of the individual biquads (or whatever order sections they are), whether it's analog or digital the filter response is the same. (I believe that was his last question, whether those would be different).

"By cascading two FIR filters, you get a new filter with order n1 + n2. Nothing that can't be represented by a single FIR filter. You are primarly confusing the clear design process of a FIR filter."

Yes, so if I have an Nth order filter which i divide into two sections (n1 and n2 taps each), then I will have n1+n2 taps (just as many as I started with). Separating a filter into cascaded subsections does not reduce the order of the overall filter, nor the number taps that are necessary. (And that was his original question which was how to reduce the number of taps).

"For IIR, cascading is a regular design method. A higher order filter can be always splitted into n 2nd order and optionally a first order block."

Of course its a regular design method...........

Particularly helpful when trying to reduce the sensitivity of the tap coefficients. But it is not helpful for reducing the number of taps that are necessary.
 

You totally missed the point of his question and my response.

I understood that he was talking about cascading FIR filters. Showing two cascaded first order low passes is at least confusing in this regard. I however agreed with your basic intention.

I wanted to point out that there's little practical advantage in cascading regular FIR filters, while it's often advanteous for IIR.

Cascading FIR filters is also a known practice, but primarly used with multi-rate filters. E.g. add a correction filter to a CIC decimator.
 
Perhaps that is worth asking as well -- is there a need to reduce filter order just to reduce implementation complexity? Or does the impulse response need to be short as well?
 

Perhaps that is worth asking as well -- is there a need to reduce filter order just to reduce implementation complexity? Or does the impulse response need to be short as well?
Don't know if the difference actually matters for the OP, I guess he's primarly behind complexity respectively design resources.

You can however make a clear statement about pulse response length. The filter steepness is indissolubly linked to pulse response length. A filter with small transition bands can't have a short pulse response, no matter if it's implemented as FIR or IIR, refer to fourier transformation respectively duality of frequency and time domain.
 

Perhaps that is worth asking as well -- is there a need to reduce filter order just to reduce implementation complexity? Or does the impulse response need to be short as well?

yes it is needed to reduce tthe filter order to reduce the implementation complexity
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…