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.

digital filter using avr microcontroller

Status
Not open for further replies.

zunaidur

Newbie level 2
Joined
Sep 2, 2011
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,296
Hello,
i am a student and i am new in here.
I want to make a digital filter using microcontroller. i designed a fir filter using matlab. But it has several hundred coefficients which i don't think i can implement using my Atmega32. can anyone help me in this?
 

I'm not familiar with that particular processor, but here are a few general things to think about:

How fast do you need this filter to be? This microprocessor might not be the right device for your application because of either speed or memory constraints. I sense you've already decided that.

The 'brute force' implementation of your filter will require you to store N coefficients and N samples. Each sample output will require you to fetch N coefficients from memory and perform N multiply/accumulates. Is your processor up to the task?

I do a lot of work with FPGAs, not so much with processors, so I have a slight bias. With that said, you can implement a FIR filter in an FPGA pretty easily, especially since there are premade IP (Intellectual Property) modules that you can just drop in. These implementations usually use some fancy algorithm which is much more space efficient than having N separate multipliers, etc. (Someone smarter than me will have to explain those algorithms to you.) I have also implemented FIR filters in an FPGA using the 'brute force' approach, but not for hundreds of coefficients. The beauty of an FPGA solution is that a lot of processing occurs in parallel, whereas in a processor you have to do everything in series.

Is there a good reason you have such a large filter, or are you just trying to educate yourself? If you're just 'playing around' I would suggest you start with a much smaller filter.

Hope that helps.

Barry
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top