Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

Digital Filter using microcontroller

Status
Not open for further replies.

learner71

Member level 2
Joined
Jan 5, 2010
Messages
42
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
1,532
Hi,
I want to design digital filters like low pass,high pass and band pass filter using microcontrollers. Kindly tell me, how can i do this on 8051.

----------
Learner
 

klystron

Advanced Member level 4
Joined
Jul 11, 2002
Messages
1,014
Helped
192
Reputation
384
Reaction score
180
Trophy points
1,343
Location
South Africa
Activity points
4,515
You need to be more specific on your filter requirements. Providing that the -3dB spec of your filter is low, the 8051 may nor be fast enough.
It will be an huge benifit if the micro processor can do A2D and D2A
 

learner71

Member level 2
Joined
Jan 5, 2010
Messages
42
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
1,532
Thanks to all of you.
I do not know programming of DSP Processor. I want to make low pass filter using microcontroller. Can you tell me the logic, how should i make low pass filter.

------------
Learner
 

horace1

Advanced Member level 5
Joined
Nov 18, 2008
Messages
2,123
Helped
596
Reputation
1,188
Reaction score
573
Trophy points
1,393
Location
Norwich, UK
Activity points
13,071
Last edited:

permute

Advanced Member level 3
Joined
Jul 16, 2010
Messages
923
Helped
294
Reputation
588
Reaction score
267
Trophy points
1,343
Activity points
8,543
I would read up on filter design. The most basic lowpass filter might be something like:
y[n] = x[n] + x[n-1]
this would be the most basic moving average filter. the filtering capabilities are very poor, but it is very simple. The moving average is conceptually easy to understand, and a good starting point -- especially if it actually meets your requirement.
This type of filter also has a micro-friendly implementation based on recursion. eg:
y[n] = y[n-1] - x[n-2] + x[n]
The advantage becomes more apparent when you use a longer "window", eg:
y[n] = y[n-1] - x[n-32] + x[n]
This filter does require 32 samples of data be stored in memory, but requires no multiplications.

The most basic IIR filter is:
y[n] = k*y[n-1] + (1-k)*x[n]
which requires two multiplications, or requires "k" be chosen as a nice value. eg 0.5 or 0.25. (0.75 can be done using addition of 0.5 and 0.25)
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top