Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

CIC filter bitwidth question - Hogenauer

Status
Not open for further replies.

sammyt09

Newbie level 6
Joined
Sep 15, 2008
Messages
14
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,452
hogenauer

Hi,

I have designed a 3rd order CIC filter. However, the bitwidths I require for each of the integrators appear to be much bigger than I anticipated by calculation.

The filter can be summarised as:
Over Sampling Rate (OSR) = 512
Differential Delay (D) = 1
Order = 3rd order

The filter is being fed by a binary output stream from an ideal delta sigma ADC.

From my understanding of Hogenauer filters:

The maximum dynamic range:
B_grow = (OSR x D) ^ order
= (512 X 1) ^ 3
= 134217730

Equavalent in bits to:
b_grow = log2( B_grow )
= 27

Therefore, the internal word width required is:
W = Win + 3 x log2( OSR x D )
= 1 + 3 x log2( 512 x 1 )
= 28

However, from my simulations, the filter is not operating correctly unless I have a word width of 38 bits. This is a big difference to what I have calculated and I dont understand why?

Can anybody spot any mistakes I have made in the above calculations? Is it ok to define 'Win' as 1 if I am feeding the filter from a delta sigma ADC?

(I am not concerned with pruning at the moment, as I will address this once I have got the basic model working).



Thank you in advance for any help.

Sammyt09
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top