Continue to Site

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.

IIR Filter for small cutting frequency

Status
Not open for further replies.

therealpaulie

Newbie level 6
Joined
Oct 6, 2009
Messages
11
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
austria
Activity points
1,411
Hi,

I'll start by explaining what I want to achieve:
- I have a sine wave with variable frequency, in a wide range 0 - 200kHz
- I pass this sine wave through a ADC
- ADC sampling frequency is not high enough and I need more sample/sec after ADC
- In order to do this I use a IIR (4 order) with cutting frequency around 300KHz but with sampling frequency 20MHz -> sample available at every 50ns.

Everything is ok as concept.

My problem is that I have a 20MHz sampling rate for the IIR and only 0.3MHz cutting frequency. When implementing the filter in fix point arithmetic (for FPGA) I have to use 30 bits for adders and multipliers in order to reach a 15 bits accuracy. From b0..bn coefficients/multipliers i have small values 0.xxxxx and from a1..an coefficients/multipliers i have big values yyyyy.zzzz. In order to keep a good accuracy it results a yyyyy.xxxxx number (~ 2 x accuracy bits).

Working with 15-18 bits adders and multiplier is ok. But 30 bits is way to much.

I tried first with a Form I SOS (cascade) topology Matlab tools generates. I had around 8 multipliers and 8 adders for a 4order filter. At 24bit it looks ok. Though 8mult + 8add x 24 bits it's huge.

After that I tried with a Form II Transpose. At the beginning it looked perfect. Just 5 adders and 4 multipliers (+2 mult at lower frequency). But at 30-32 bits I still don't get a 15 accuracy for the output signal.

And in my FPGA there is not to much place (resources) left. So I have to be very very cheap with cells.

Is there a topology or a way to make such a filter as small as possible? Are there some documents on internet (links) which discuss such a problem.

Thanks,
Paul
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top