DSPRelated.com
Forums

The taps of ciccomp filters are too long, any solution?

Started by move October 7, 2008
Hi all:

I want to implemnt the filter spec below using CIC + CICCOMP filter

FS=5MHz, fp=9k, fst=10k, ap=0.1, ast=100, decimator=100

I am using a Differential delay=50 and Number of sections=5 CIC filter
and cascading a ciccomp filter which provide an extra 2 decimator. but
the cic compensate filter

fs=100k, fp=9k, fst=10k,ap=0.1,ast=100 D=2

will take 404 taps to implement using equiripple method, the taps is
too long for input data block which is only 200 samples a frame, so
before next frame is coming, the filter is still full of unprocessed
last frame data, this will cause the output of nextframe filter in-
accurate.

any suggestions?

savor
On Oct 7, 10:13&#4294967295;am, move <liubeny...@gmail.com> wrote:
> Hi all: > > I want to implemnt the filter spec below using CIC + CICCOMP filter > > FS=5MHz, fp=9k, fst=10k, ap=0.1, ast=100, decimator=100 > > I am using a Differential delay=50 and Number of sections=5 CIC filter > and cascading a ciccomp filter which provide an extra 2 decimator. but > the cic compensate filter > > fs=100k, fp=9k, fst=10k,ap=0.1,ast=100 D=2 > > will take 404 taps to implement using equiripple method, the taps is > too long for input data block which is only 200 samples a frame, so > before next frame is coming, the filter is still full of unprocessed > last frame data, this will cause the output of nextframe filter in- > accurate. > > any suggestions? > > savor
I am at the liquor store to buy some gin. I really like Tanqueray, but I only have enough money for Gordon's. What should I do? John
On Tue, 7 Oct 2008 09:29:03 -0700 (PDT), John <sampson164@gmail.com>
wrote:

>On Oct 7, 10:13&#4294967295;am, move <liubeny...@gmail.com> wrote: >> Hi all: >> >> I want to implemnt the filter spec below using CIC + CICCOMP filter >> >> FS=5MHz, fp=9k, fst=10k, ap=0.1, ast=100, decimator=100 >> >> I am using a Differential delay=50 and Number of sections=5 CIC filter >> and cascading a ciccomp filter which provide an extra 2 decimator. but >> the cic compensate filter >> >> fs=100k, fp=9k, fst=10k,ap=0.1,ast=100 D=2 >> >> will take 404 taps to implement using equiripple method, the taps is >> too long for input data block which is only 200 samples a frame, so >> before next frame is coming, the filter is still full of unprocessed >> last frame data, this will cause the output of nextframe filter in- >> accurate. >> >> any suggestions? >> >> savor > >I am at the liquor store to buy some gin. I really like Tanqueray, but >I only have enough money for Gordon's. What should I do? > >John
Fat Tire. Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org Blog: http://www.dsprelated.com/blogs-1/hf/Eric_Jacobsen.php
On Oct 7, 12:52&#4294967295;pm, Eric Jacobsen <eric.jacob...@ieee.org> wrote:
> On Tue, 7 Oct 2008 09:29:03 -0700 (PDT), John <sampson...@gmail.com> > wrote: > > > > >On Oct 7, 10:13&#4294967295;am, move <liubeny...@gmail.com> wrote: > >> Hi all: > > >> I want to implemnt the filter spec below using CIC + CICCOMP filter > > >> FS=5MHz, fp=9k, fst=10k, ap=0.1, ast=100, decimator=100 > > >> I am using a Differential delay=50 and Number of sections=5 CIC filter > >> and cascading a ciccomp filter which provide an extra 2 decimator. but > >> the cic compensate filter > > >> fs=100k, fp=9k, fst=10k,ap=0.1,ast=100 D=2 > > >> will take 404 taps to implement using equiripple method, the taps is > >> too long for input data block which is only 200 samples a frame, so > >> before next frame is coming, the filter is still full of unprocessed > >> last frame data, this will cause the output of nextframe filter in- > >> accurate. > > >> any suggestions? > > >> savor > > >I am at the liquor store to buy some gin. I really like Tanqueray, but > >I only have enough money for Gordon's. What should I do? > > >John > > Fat Tire. > > Eric Jacobsen > Minister of Algorithms > Abineau Communicationshttp://www.ericjacobsen.org > > Blog:http://www.dsprelated.com/blogs-1/hf/Eric_Jacobsen.php
Oh you are making me thirsty now, and we're way off topic (my fault). Fat Tire's an excellent choice. I am an IPA drinker. Some favorites: http://www.greenflashbrew.com/taproom.html http://www.southerntierbrewing.com/pages/beers.html John
John wrote:

   ...

> I am at the liquor store to buy some gin. I really like Tanqueray, but > I only have enough money for Gordon's. What should I do?
Juniper berries are ripe now; pick some. With them, water, and EverClear (and a recipe, of course), you can make a very passable gin. The money you save will allow you to buy Tanqueray for special occasions (but you might prefer your own). See? There's always a way around a problem! Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295; ** Posted from http://www.teranews.com **
On Oct 7, 10:13 am, move <liubeny...@gmail.com> wrote:

> I am using a Differential delay=50 and Number of sections=5 CIC filter > and cascading a ciccomp filter which provide an extra 2 decimator.
I don't think you mean your decimation ratio is 50, not your differential delay. One solution is to come out of your CIC at a higher rate, and decimator by 4 or 8 in your compensation filter. This means that you are using a narrower slice at the center of the CIC, so there's less droop to compensate. In fact your may be able to skip compensation all together. Then what was your compensation filter just becomes a decimate by four or eight polyphase FIR lowpass.
> will take 404 taps to implement using equiripple method, the taps is > too long for input data block which is only 200 samples a frame, so > before next frame is coming, the filter is still full of unprocessed > last frame data, this will cause the output of nextframe filter in- > accurate.
Shouldn't you be joining the frames together, processing them as a continuous stream, and then reframing them again at the output? If the next frame hasn't arrived, just freeze your filter logic in place and don't give it another clock until you have data from the next frame to start feeding in.
On Oct 9, 5:38&#4294967295;am, cs_post...@hotmail.com wrote:
> On Oct 7, 10:13 am, move <liubeny...@gmail.com> wrote: > > > I am using a Differential delay=50 and Number of sections=5 CIC filter > > and cascading a ciccomp filter which provide an extra 2 decimator. > > I don't think you mean your decimation ratio is 50, not your > differential delay. > > One solution is to come out of your CIC at a higher rate, and > decimator by 4 or 8 in your compensation filter. &#4294967295; This means that you > are using a narrower slice at the center of the CIC, so there's less > droop to compensate. &#4294967295;In fact your may be able to skip compensation > all together. &#4294967295;Then what was your compensation filter just becomes a > decimate by four or eight polyphase FIR lowpass. > > > will take 404 taps to implement using equiripple method, the taps is > > too long for input data block which is only 200 samples a frame, so > > before next frame is coming, the filter is still full of unprocessed > > last frame data, this will cause the output of nextframe filter in- > > accurate. > > Shouldn't you be joining the frames together, processing them as a > continuous stream, and then reframing them again at the output? &#4294967295;If > the next frame hasn't arrived, just freeze your filter logic in place > and don't give it another clock until you have data from the next > frame to start feeding in.
Thanks! about the decimation rate : when I design using Xilinx Ip Core, the decimation is made to be an integral part of CIC filter, i.e the decimation and defferential delay are made together, if M=50 and D=50, the decimator should be placed between the comb and integer part, and then synthesis using decimation=50 and D=1. I am wonderring whether i could reduce the taps of CICcomp filter is that the ciccomp filter design in matlab could not be implemented in a multistage manner. ('cause the shape in the passband is not flat and inv-sinc), when the taps of filter exceed the number of input, i reckon the filter not a success one or padding zeros is needed to make the input length N+L-1. but once the situation is time critial (in a frame), padding zeros is not valid.
On Oct 8, 7:47 pm, move <liubeny...@gmail.com> wrote:

> I am wonderring whether i could reduce the taps of CICcomp filter is > that the ciccomp filter design in matlab could not be implemented in a > multistage manner. ('cause the shape in the passband is not flat and > inv-sinc), when the taps of filter exceed the number of input, i > reckon the filter not a success one or padding zeros is needed to make > the input length N+L-1. but once the situation is time critial (in a > frame), padding zeros is not valid.
You have a more fundamental issue to confront: what makes you think it is legitimate to process each frame individually? What do the frames represent? What type of lowpass characteristic do you think you are going to be able to achieve within these short chunks of data?
On Tue, 7 Oct 2008 10:23:47 -0700 (PDT), John <sampson164@gmail.com>
wrote:

>On Oct 7, 12:52&#4294967295;pm, Eric Jacobsen <eric.jacob...@ieee.org> wrote: >> On Tue, 7 Oct 2008 09:29:03 -0700 (PDT), John <sampson...@gmail.com> >> wrote: >> >> >> >> >On Oct 7, 10:13&#4294967295;am, move <liubeny...@gmail.com> wrote: >> >> Hi all: >> >> >> I want to implemnt the filter spec below using CIC + CICCOMP filter >> >> >> FS=5MHz, fp=9k, fst=10k, ap=0.1, ast=100, decimator=100 >> >> >> I am using a Differential delay=50 and Number of sections=5 CIC filter >> >> and cascading a ciccomp filter which provide an extra 2 decimator. but >> >> the cic compensate filter >> >> >> fs=100k, fp=9k, fst=10k,ap=0.1,ast=100 D=2 >> >> >> will take 404 taps to implement using equiripple method, the taps is >> >> too long for input data block which is only 200 samples a frame, so >> >> before next frame is coming, the filter is still full of unprocessed >> >> last frame data, this will cause the output of nextframe filter in- >> >> accurate. >> >> >> any suggestions? >> >> >> savor >> >> >I am at the liquor store to buy some gin. I really like Tanqueray, but >> >I only have enough money for Gordon's. What should I do? >> >> >John >> >> Fat Tire. >> >> Eric Jacobsen >> Minister of Algorithms >> Abineau Communicationshttp://www.ericjacobsen.org >> >> Blog:http://www.dsprelated.com/blogs-1/hf/Eric_Jacobsen.php > >Oh you are making me thirsty now, and we're way off topic (my fault). >Fat Tire's an excellent choice. I am an IPA drinker. Some favorites: > >http://www.greenflashbrew.com/taproom.html >http://www.southerntierbrewing.com/pages/beers.html > >John
Hi, I think you guys are elitists. What's wrong with Coors Light? OK, OK. I'm just jokin'. Many years ago I tried a regular Coors, after hearing so much about Coors beer. After one taste, I asked the bartender, "Can you pour this back into the horse? It's not done yet." If I won the Lottery, I'd be strictly drinkin' only Pilsner Urquell. [-Rick-] PS: I four bottles of Fat Tire in my fridge right now.
On Tue, 7 Oct 2008 07:13:45 -0700 (PDT), move <liubenyuan@gmail.com>
wrote:

>Hi all: > >I want to implemnt the filter spec below using CIC + CICCOMP filter > >FS=5MHz, fp=9k, fst=10k, ap=0.1, ast=100, decimator=100 > >I am using a Differential delay=50 and Number of sections=5 CIC filter >and cascading a ciccomp filter which provide an extra 2 decimator. but >the cic compensate filter > >fs=100k, fp=9k, fst=10k,ap=0.1,ast=100 D=2 > >will take 404 taps to implement using equiripple method, the taps is >too long for input data block which is only 200 samples a frame, so >before next frame is coming, the filter is still full of unprocessed >last frame data, this will cause the output of nextframe filter in- >accurate. > >any suggestions? > >savor
Hi, If you can get your hands on a copy, perhaps the paper: Kwentus, A., et al, "Application of Filter Sharpening to Cascaded Integrator-comb Decimation Filters. IEEE Transactions on Signal Processing, Vol. 45, Feb. 1997, pp. 457-467. will help you flatten the passband of your CIC filter so that you don't need so many taps in your compensation filter. You can learn about "filter sharpening" at: http://www.dsprelated.com/showabstract/62.php which is Chapter 1 of the book "Streamlining Digital Signal Processing, a Tricks of the Trade Guidebook" (published by Wiley & Sons and the IEEE). Just a thought. Good Luck, [-Rick-]