DSPRelated.com
Forums

Filter with (x/sin(x))^N frequency response?

Started by David Joseph Bonnici June 3, 2004
Hi, I need the name of the filter that has a frequency response of the
form (x/sin(x))^N.

See a picture of the frequency response at
http://www.geocities.com/netspiri/xonsinxtothepowerofN.jpg
N here is set to 3. I know for sure that it is an FIR.

Is there a filter design tool to design such a filter?  

Thanks
DJB
"This page is not available."

--smb

djb@global.net.mt (David Joseph Bonnici) wrote:
> See a picture of the frequency response at > http://www.geocities.com/netspiri/xonsinxtothepowerofN.jpg
"David Joseph Bonnici" <djb@global.net.mt> wrote in message
news:52e74f9f.0406030211.4da8e292@posting.google.com...
> Hi, I need the name of the filter that has a frequency response of the > form (x/sin(x))^N.
It's cascaded integrator-comb (CIC) filter. A google for CIC filters will provide lots of info.
David Joseph Bonnici wrote:

> Hi, I need the name of the filter that has a frequency response of the > form (x/sin(x))^N. > > See a picture of the frequency response at > http://www.geocities.com/netspiri/xonsinxtothepowerofN.jpg > N here is set to 3. I know for sure that it is an FIR. > > Is there a filter design tool to design such a filter? > > Thanks > DJB
It looks like a cascaded integrator comb filter. While a CIC is not a transversal filter, it does indeed have a finite impulse response. 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;
This frequency response is not of the CIC but this filter is used as a
compensation filter for the CIC, so as to compensate for poor droops.
The CIC has a frequency response of ((sin(x))/x)^N and so it is why
this filter is needed.

You can see it documented on page 6 bottom on the xilinx IP data sheet
of the CIC.
http://www.xilinx.com/ipcenter/catalog/logicore/docs/C_CIC_V1_0.pdf

Many Thanks
DJB
Take a look at Matlab FIRLS.

"David Joseph Bonnici" <djb@global.net.mt> wrote in message
news:52e74f9f.0406030211.4da8e292@posting.google.com...
> Hi, I need the name of the filter that has a frequency response of the > form (x/sin(x))^N. > > See a picture of the frequency response at > http://www.geocities.com/netspiri/xonsinxtothepowerofN.jpg > N here is set to 3. I know for sure that it is an FIR. > > Is there a filter design tool to design such a filter? > > Thanks > DJB
Hi David,

From your postings, I gather what you're looking for is an "inverse sinc
compensator" filter, used to compensate for passband droop of a CIC
decimator.  Is this correct?

The Filter Design Toolbox (from The MathWorks --- and please note that I
work for MathWorks) has support for the design of such filters, especially
for the fixed-point implementations used in practice to compensate for CIC
filters.

I have used the FDATool (filter design and analysis tool) GUI in the toolbox
for this sort of thing, since the design often needs to be interactive for
minimizing fixed-point word sizes, etc.  The amount you diddle with the
fixed-point settings depends on where you're going with the filter (say, an
FPGA, when the CIC is in the front-end of a software radio).

One FIR filter design in particular, constrained equiripple ("firceqrip"),
has options that are specific to inverse sinc compensation. Basically, you
can specify "c" and "p" in the equation:
                           1/sinc(c*f)^p
to accurately describe the parameters for the inverse-sinc compensator
design.

I hope this helps.
--Don


"David Joseph Bonnici" <djb@global.net.mt> wrote in message
news:52e74f9f.0406030211.4da8e292@posting.google.com...
> Hi, I need the name of the filter that has a frequency response of the > form (x/sin(x))^N. > > See a picture of the frequency response at > http://www.geocities.com/netspiri/xonsinxtothepowerofN.jpg > N here is set to 3. I know for sure that it is an FIR. > > Is there a filter design tool to design such a filter? > > Thanks > DJB
No, that is the inverse of a CIC response.  Typically, the CIC response is
further band limited by a bandpass filter, so you are only dealing with the
droop for the top of the passband.  If you extend too far down the droop,
you wind up with a lot of snr degradation in the upper part of your passband
because you are attenuating with the CIC and then amplifying with the
correction.  It also makes your correction filter much higher order.

Anyway, you can design the correction filter by using the frequency sampling
method for designing FIR filters.  Remember, only the portion in your final
passband need be corrected.  The following matlab snippet makes a correction
filter:

points=30000;
f=0:1/((n*r*points)-1):1/(r);
crf=abs((sin(pi*n*r*f)./(n*r*sin(pi*f))).^m);
crf(1)=1;
rf=(1./crf(1:points/15+1));
ff=[(0:15/points:1)];
ccf=fir2(6,ff,rf); %odd filter length
ccf=ccf/max(ccf);


Jerry Avins wrote:

> David Joseph Bonnici wrote: > > > Hi, I need the name of the filter that has a frequency response of the > > form (x/sin(x))^N. > > > > See a picture of the frequency response at > > http://www.geocities.com/netspiri/xonsinxtothepowerofN.jpg > > N here is set to 3. I know for sure that it is an FIR. > > > > Is there a filter design tool to design such a filter? > > > > Thanks > > DJB > > It looks like a cascaded integrator comb filter. While a CIC is not a > transversal filter, it does indeed have a finite impulse response. > > 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;
-- --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
Ray Andraka wrote:
> No, that is the inverse of a CIC response. ...
Oh, well. I seem to be getting cross eyed. 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;
A million of times of thank you, to the guys who have helped me in
this problem. Before I saw your suggestions I was trying to compensate
for that poor droop by using a pre-warped 2nd order chebyshev
(implemented on dsp and not on FPGA).  I must say that it also gave
quite some good performance but since it is an IIR it has some the
non-linear phase drawback.

Again Thank you
David