# smoothening techniques for ADC/DAC data (DSP)

Discussion in "General help Guidance and Discussion" started by shyam Mar 27, 2008.

Thu Mar 27 2008, 11:41 am

post your doubts here

http://www.8051projects.net/forum-t7669-last.html

hello everybody...

as an embedded enthusiast.. we all know the importance of external signals received by the micro-controllers/proccessors...

most of the time these signals are analog in nature. in such cases we usually go for ADC's

to convert these physicall quantities to digital...

further sometimes you are required to generate analog signals from the digital data u already have.. ex. MP3 player. in such case we go for the DAC.

these ADC's and DAC's are supposed to be accurate.. but there are certain abonamilities that creep in... these may render your data useless..

for the precaution , therefore we go for signal conditioning circuits!!

these signal conditioning are nothing but filters used to reduce ripples..and noise content..

now we all know that there are certain limitations to hardware as well as software....

here comes the concep of DSP algorithms.....

certain high quality embedded products use DSP(proccessors ) as co-proccessors to their main proccessors/controllers...

these DSPs have certain features that enables them to be used for very fast and very complex calculations including imaginary value arithmetic...

still there are some signal proccessing algorithms that we can implement easily in our controllers / proccessors.. to give them that product like feel...

so here i am requesting all your contribution to this coloumn by submitting your signal proccessing algorithms plus doubts in them ...

before we start: this is how u shud select your ADC:

http://www.8051projects.net/forum-t7669-last.html

hello everybody...

as an embedded enthusiast.. we all know the importance of external signals received by the micro-controllers/proccessors...

most of the time these signals are analog in nature. in such cases we usually go for ADC's

to convert these physicall quantities to digital...

further sometimes you are required to generate analog signals from the digital data u already have.. ex. MP3 player. in such case we go for the DAC.

these ADC's and DAC's are supposed to be accurate.. but there are certain abonamilities that creep in... these may render your data useless..

for the precaution , therefore we go for signal conditioning circuits!!

these signal conditioning are nothing but filters used to reduce ripples..and noise content..

now we all know that there are certain limitations to hardware as well as software....

here comes the concep of DSP algorithms.....

certain high quality embedded products use DSP(proccessors ) as co-proccessors to their main proccessors/controllers...

these DSPs have certain features that enables them to be used for very fast and very complex calculations including imaginary value arithmetic...

still there are some signal proccessing algorithms that we can implement easily in our controllers / proccessors.. to give them that product like feel...

so here i am requesting all your contribution to this coloumn by submitting your signal proccessing algorithms plus doubts in them ...

before we start: this is how u shud select your ADC:

Successive approximation A/D converters are used routinely in applications of 1 MHz or less.

For higher rates, parallel or flash converters are used. These perform comparisons in parallel. The hardware is more complicated, but the conversion time is much smaller. The number of bits per sample are more limited (typically 12 bits or less), but the sample frequency range can extend into the 1 GHz range (useful for digital communications systems).

Flash converters can be cascaded to achieve better performance.Successive approximation A/D converters are used routinely in applications of 1 MHz or less.

For higher rates, parallel or flash converters are used. These perform comparisons in parallel. The hardware is more complicated, but the conversion time is much smaller. The number of bits per sample are more limited (typically 12 bits or less), but the sample frequency range can extend into the 1 GHz range (useful for digital communications systems).

Flash converters can be cascaded to achieve better performance.

[ Edited Sat Mar 29 2008, 09:14 am ] Tags smoothening techniques for ADC DAC datasignal conditioning circuit techniques

Thu Mar 27 2008, 12:33 pm

SAMPLE AND HOLD FUNDAMENTAL

please refer to the above circuit and any doubts please post

@

http://www.8051projects.net/forum-t7669-last.html

ref: http://www.ece.msstate.edu/

please refer to the above circuit and any doubts please post

@

http://www.8051projects.net/forum-t7669-last.html

ref: http://www.ece.msstate.edu/

[ Edited Fri Mar 28 2008, 09:49 am ] Tags sample and hold fundamental

Sat Mar 29 2008, 09:09 am

NOISE cud be of some help too ...

well we all always are against the noise increpency to the signal...!!!

some times it (noise) can come out to be of great help...

for a better reading/understanding you shud read some tpoics about spread spectrum techniques.. these are actually carried out in frequency domain.. since it is not easy in our gud old 51 to compute comlex numbers(imaginary part), we tend to work in time domain.. so here i shall be discussing the use of noise in time domaun only!

lets move a little ahead of the sample hold technique..

assume sample rate to be 5 / sec

run a loop so that to read 5 adc data in 1 sec.

suppose u get 3.3v 2.9v 3.7v 2.4v 2.8v...

take average of these values u get.. 3.02v

so u can just write

adc0=3.02v

adc1=3.02v

adc2=3.02v

adc3=3.02v

adc4=3.02v

now let us add a fixed noise thru code.. suppose u r adding 10v noise thru code.. i.e.

the values will change to 13.3v 12.9v 13.7v 12.4v 12.8v

taking average u get 13.46

now let us reduce the noise..

we get 13.46 -10

=3.46 v... !!!!!

try the above example over and over and u will find that

the latter one (with noise ) will get u a better representation of data...

hint what if a spike creeps in making one of the data to 6v?? try for your self!!

well we all always are against the noise increpency to the signal...!!!

some times it (noise) can come out to be of great help...

for a better reading/understanding you shud read some tpoics about spread spectrum techniques.. these are actually carried out in frequency domain.. since it is not easy in our gud old 51 to compute comlex numbers(imaginary part), we tend to work in time domain.. so here i shall be discussing the use of noise in time domaun only!

lets move a little ahead of the sample hold technique..

assume sample rate to be 5 / sec

run a loop so that to read 5 adc data in 1 sec.

suppose u get 3.3v 2.9v 3.7v 2.4v 2.8v...

take average of these values u get.. 3.02v

so u can just write

adc0=3.02v

adc1=3.02v

adc2=3.02v

adc3=3.02v

adc4=3.02v

now let us add a fixed noise thru code.. suppose u r adding 10v noise thru code.. i.e.

the values will change to 13.3v 12.9v 13.7v 12.4v 12.8v

taking average u get 13.46

now let us reduce the noise..

we get 13.46 -10

=3.46 v... !!!!!

try the above example over and over and u will find that

the latter one (with noise ) will get u a better representation of data...

hint what if a spike creeps in making one of the data to 6v?? try for your self!!

Sun Nov 29 2009, 07:06 am

Actually, I disagree with this post.

Adding a fixed bias to each reading, then subtracting it does nothing for accuracy!

the previous post states:

this is incorrect - the average is 13.02, not 13.46

By the way, if you want to increase signal/noise ratio, average readings. The signal/noise ratio increases by the square-root of the number of averages, assuming a random distribution of white noise - if the noise is not random (eg:, Gaussian distribution, Poisson distribution, etc...) then you can actually amplify the problem...

I recommend that anyone interested in learning about noise, sampling, over-sampling, and effective resolution, read this article from the Engineers at SciLabs.

https://www.silabs.com/Support%20Documents/TechnicalDocs/an118.pdf

For further reading, see:

http://en.wikipedia.org/wiki/Poisson_distribution

http://en.wikipedia.org/wiki/Normal_distribution

http://en.wikipedia.org/wiki/Gaussian_function

http://en.wikipedia.org/wiki/Signal-to-noise_ratio

Adding a fixed bias to each reading, then subtracting it does nothing for accuracy!

A+B+C+D+E (10+A)+(10+B)+(10+C)+(10+D)+(10+E) --------- = ---------------------------------- - 10 5 5

the previous post states:

now let us add a fixed noise thru code.. suppose u r adding 10v noise thru code.. i.e.

the values will change to 13.3v 12.9v 13.7v 12.4v 12.8v

taking average u get 13.46

this is incorrect - the average is 13.02, not 13.46

By the way, if you want to increase signal/noise ratio, average readings. The signal/noise ratio increases by the square-root of the number of averages, assuming a random distribution of white noise - if the noise is not random (eg:, Gaussian distribution, Poisson distribution, etc...) then you can actually amplify the problem...

I recommend that anyone interested in learning about noise, sampling, over-sampling, and effective resolution, read this article from the Engineers at SciLabs.

https://www.silabs.com/Support%20Documents/TechnicalDocs/an118.pdf

For further reading, see:

http://en.wikipedia.org/wiki/Poisson_distribution

http://en.wikipedia.org/wiki/Normal_distribution

http://en.wikipedia.org/wiki/Gaussian_function

http://en.wikipedia.org/wiki/Signal-to-noise_ratio

[ Edited Sun Nov 29 2009, 01:08 pm ]

shyam like this.

Wed Feb 03 2010, 08:32 pm

I would start by thanking Dave for bringing out the above points .

and then

1. i would proceed by confessing " My english is a mess " .

2. I used to write the thread directly without drafting it on a notepad,because i needed a discussion on it. not many responded at the time.

3. The above post was actually meant to demonstrate how we can increase SNR. but unfortunately i could not edit it and remained here as it is.

seems like we could start it all over again

and then

1. i would proceed by confessing " My english is a mess " .

2. I used to write the thread directly without drafting it on a notepad,because i needed a discussion on it. not many responded at the time.

3. The above post was actually meant to demonstrate how we can increase SNR. but unfortunately i could not edit it and remained here as it is.

seems like we could start it all over again

[ Edited Wed Feb 03 2010, 08:33 pm ]

*Powered by*

**e107 Forum System**