CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

ADC, want more noise

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Barney



Joined: 18 Oct 2004
Posts: 41
Location: Newark, CA

View user's profile Send private message

ADC, want more noise
PostPosted: Tue Jun 06, 2006 1:30 pm     Reply with quote

I have an unusual request, anybody know of a good and simple way to add Gaussian noise to my ADC input?

I am using an 18F6627 and want to turn the 10 bit ADC into a 12 bit ADC using oversampling and decimation. I need +/- 1 bit of gaussian noise to make this work and my noise level right now is well below that.

I need to dither the signal and am thinking of adding a resistor to add thermal noise. The extra time needed for the sampling capacitor to charge is not a problem, my signal is very slowly varying DC. Running some quick thermal noise calculations suggests trying to use just a resistor to add thermal noise is a losing proposition since the resistance and the circuit bandwidth tend to cancel each other. (ie as the resistance goes up the bandwidth goes down)

I know I can add a 12 bit external ADC, but would prefer to avoid the expense and trouble if there is a simple way to dither the signal.

Any suggestions?

Muchos,
Barney
Guest








PostPosted: Tue Jun 06, 2006 2:06 pm     Reply with quote

If i could, i would give you some from my circuits!

Sorry, i couldnīt resist Smile

Maybe you could make a circuit to amplify the thermal noise and use an amp op to sum both... It would be silly, but iīm just trying to be forgiven by the joke Smile
kender



Joined: 09 Aug 2004
Posts: 768
Location: Silicon Valley

View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger

Zener diode
PostPosted: Tue Jun 06, 2006 2:25 pm     Reply with quote

Zener diodes are typically used as noisemakers. For an example, take a look at this app note:
http://www.maxim-ic.com/appnotes.cfm/appnote_number/3469
SherpaDoug



Joined: 07 Sep 2003
Posts: 1640
Location: Cape Cod Mass USA

View user's profile Send private message

PostPosted: Tue Jun 06, 2006 7:49 pm     Reply with quote

Rather than just adding noise, how about adding an offset of 1/4, 1/2, or 3/4 LSB to the A/D input? Use two output pins and a few resistors as a cheap DAC. You can step through the four combinations in four A/D readings, which is a whole lots faster than the 16 readings you would need with Gaussian noise to get the same 4X resolution.
_________________
The search for better is endless. Instead simply find very good and get the job done.
Ttelmah
Guest







PostPosted: Wed Jun 07, 2006 2:06 am     Reply with quote

The problem with making Gaussian noise, is that producing the required spread, involves fairly complex maths. You can generate 'simple' noise (with a flat distribution, rather than the Gaussian spread), by just reading timer0, and provided the code is not synchronous to this clock, adding the last few bits of this to the incoming signal. You could in fact use this to access a look-up table, containing data to give the required spread, and this would probably be a good solution.
Using this in combination with the DAC solution suggested by SherpaDog, and altering the weightings of the resistors selected, or running the outputs through a ROM to produce this spread, could also be used with good effect.

Best Wishes
Barney



Joined: 18 Oct 2004
Posts: 41
Location: Newark, CA

View user's profile Send private message

PostPosted: Wed Jun 07, 2006 1:31 pm     Reply with quote

Looks like the cure is worse than the disease, so I guess I have to bite the bullet and add a MCP3208.

Thanks for the suggestions.


Barney
Guest








PostPosted: Wed Jun 07, 2006 3:03 pm     Reply with quote

Will putting your pic into the microwave and turn on the microwave gives it guassian noise? Wink
Neutone



Joined: 08 Sep 2003
Posts: 839
Location: Houston

View user's profile Send private message

PostPosted: Wed Jun 07, 2006 3:40 pm     Reply with quote

In theory you have to add noise to a perfect signal. In practice your signal probably already has noise. The actual noise may not be gaussian but the results are probably close enough to not matter.

In practice with oversampeling, if you hook up a 10 turn pot as a signal it will probably have enough noise to hit every bit value from 0 to 4095. That can be tested very easily.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group