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.

Need help with CIC filter

Status
Not open for further replies.

cmm5559

Newbie level 3
Joined
Feb 5, 2013
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,332
I'm trying to design a CIC filter to decrease the amount of data that will be sent though a unit that I am creating. Basically we will have three antennas that are tuned to the frequency that we want to record. We are only going to be recording the reading from each antennae at one point in time (the current reading from each antenna when we press the button). The problem we will be running into is that the amount of data is too large for the arduino due unit that we will be using. We could also add in a continuous data collection add in later to see the readings in real time as we walk.

So I need to do Digital Down Conversion through a CIC filter to reduce the data rate. This is really far outside of my field of expertise but I was hoping that you would be able to help me. I have read several papers and tutorials on how to do this but I would really like to see an example or some clarification on how to use a CIC filter properly.

From what I have gathered three of the variables that I would have to decide on are:
R = decimation ratio
M = number of samples per stage; probably just be 1
N = Number of filter stages; I was thinking 3

What would a CIC filter look like, just so I could wrap my head around it? The simplest I have found is H(z)=((1-z^(RM))/(1-z^(-1)))^N

EDIT:

From another article I have it says that Integrators are as simple as: y[n] = y[n-1] + x[n] ; how can I expand this out to what I can use?
Also what is a transfer function, from the same article: Hi(z) = 1/(1-z^-1)

I could be wrong on some of this, neither Digital Signal Processing or radio waves are close to my knowledge base.
 
Last edited:

You dont specify the input frequency. If you sample the RF without down conversion the CIC filter needs to be implemented in hardware (for speed). In a FPGA for example.
FPGA programming is another area of expertise beside DSP. And it is usually done in VHDL or Verilog.
look here> **broken link removed**
From another article I have it says that Integrators are as simple as: y[n] = y[n-1] + x[n] ; how can I expand this out to what I can use?
Represents a CCDE (constant coefficients difference equation) and can be implemented with just a delay by one sample and one addition. Using C on a DSP processor or in VHDL (for example) on a FPGA.
Also what is a transfer function, from the same article: Hi(z) = 1/(1-z^-1)
Is the transfer function of a discrete-time system in the z-transform domain. Similar to the laplace transform in the continuous time.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top