Actually, with successive decimation by 2 the earlier filters (which are the higher rate ones, and therefore the more expensive ones in terms of processing) can be less stringent. Goodman and Carey published a paper in the 70's on a set of halfband decimation filters and a procedure for using them in such a way as to make the higher rates ones simpler. We are talking about filters with less than 19 taps here folks, and half of those taps are 0. The first filter can be a simple moving average filter, and in fact for wide decimation ratios, a CIC filter fits the bill there very nicely. The advantage of a CIC decimating filter is that the shape of the filter referred to the output sample rate is pretty much independent of the decimation ratio for decimation ratios greater than about 10. Typically, you'd use a CIC followed possibly by some number of half-band filters and then a FIR clean-up filter that corrects any 'droop' in the passband and sharpens up the transition. the CIC is normally selected to have its first null at several times the cut-off of the composite filter. It is a bit tougher when your minimum decimation is only 2 because of the shape of the CIC. Bhaskar Thiagarajan wrote:> "seb" <germain1_fr@yahoo.fr> wrote in message > news:23925133.0403271355.72a613f9@posting.google.com... > > Hello, > > > > I am looking for good advices about my design. > > > > I am working with an ADC which work beetween 1kHz and 2kHz but the > > application need data sampled beetween 10 Hz and 2 kHz. So i decide to > > make decimation in order to get the sample frequence beetween 10Hz and > > 1 kHz. But in order to do it in the rigth way i make pre-filtering in > > order to avoid aliasing. > > > > So the decimation factor could be as high as 100 (1kHz to 10 Hz). So i > > need to store 100 FIR filter, one for 2-decimation , one for > > 3-decimation and so on. > > I need 100 FIR filter and the one use to obtain the 10 Hz has an order > > of 700 (wp = 5 Hz, ws = 10 Hz) !!! > > > > I am sure there are some more elegant solution..... > > Here is a much simpler way to handle your various decimations. > You design *one* half band filter. Use this filter for every decimation by 2 > step. > So if you need a decimation by 8, you'd repeat the decimation by 2 three > times using the same filter. > You *might* need a 'cleanup' filter at the end of your decimation but I > don't know the requirements of your final decimated signal. > If there are cases where your decimation isn't a multiple of 2, then you can > handle those as special cases and create filters for them. > There are possibly even more elegant ways, but without knowing your exact > requirements it's hard to provide alternatives. > > Cheers > Bhaskar-- --Ray Andraka, P.E. President, the Andraka Consulting Group, Inc. 401/884-7930 Fax 401/884-7950 email ray@andraka.com http://www.andraka.com "They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, 1759