Measuring noise?
Zap-o
Posts: 452
I am using the propeller as always, and in conjunction with a 16 bit ADC I also have a low pass filter and a precision voltage reference. All this is used to measure temperature in a voltage divider fashion. If needed I will post a schematic.
My question is how can I measure the noise in the system so that I may apply the correct values to my low pass filter (RC)?
I know there is noise because I placed some arbitrary values in for the low pass filter and the signal seems much better. That said I could just move on and always never know if the values could be better etc but I want to understand it more.
My question is how can I measure the noise in the system so that I may apply the correct values to my low pass filter (RC)?
I know there is noise because I placed some arbitrary values in for the low pass filter and the signal seems much better. That said I could just move on and always never know if the values could be better etc but I want to understand it more.
Comments
-Phil
Yes, it is complex, time consuming, and can lead to lots of extra calculations. That's why taking an average of several readings is often done. The noise being an AC signal tends to cancel out.
Zap-O, try this: Do the averaging that kwinn suggests, adding more observations to your average until the noise component is low enough to satisfy you. At that point, you'll have the optimum filtering for that method. There may be better low-pass filters, but without more effort on your part to analyze your signal, it will be hard to know what they are.
-Phil
Let me see if I can dig it up and I'll post it.
Another method to reduce noise is to sample your data at four times or greater than the Nyquist rate. If you sample your data twice the Nyquist rate your signal to noise ratio is 1:1 but if you sample at 4x the Nyquist rate your signal to noise ratio becomes 2:1
Again, I'll see if I can pull up that info and post it.
There will always be the quantizing noise of about half of the LSB, hence it is often not used or treated with suspicion.
The last thing you want as input to the ADC is some noise or interfering signals that are higher in frequency the half your sampling frequency.
With that in place you can do more filtering/averaging in software.
What is the highest frequency you expect in your actual signal? As it's a temperature measurement I guess that is quite low, a few hertz.
What is you sampling rate?
The advice about looking at the Fourier transform of you incoming signal and/or the output of you filter need not be so hard to do. If you are working in low audio frequencies you can use the sound card in your PC and a free spectrum analyzer program.
I used to use SpectrumLab under Windows http://www.dxzone.com/cgi-bin/dir/jump2.cgi?ID=9270 and BaudLine under Linux http://www.baudline.com/
There is a whole list of such software here: http://www.dxzone.com/catalog/Software/Spectrum_analyzers/
16 bits gives you 65536 different levels so you have a resolution of 0.0015%. Given that most temperature sensors I have come across are only good for +/-1 degree I would have thought an 0.1% resolution would be sufficient and a 10 bit ADC would suffice. Or is your sensor a lot more sophisticated?
Not trying to be lazy I am under pressure and wanted a quicker solution. In fact I will try using a FFT to measure the noise if I can squeeze it in the schedule.
@ Beau Schwabe
That is is another great way to handle the signal to noise ration. I forgot about the Nyquist rate from school. Thanks
@Heater.
I do use a hardware low pass filter before the signal goes into the ADC. As far as using a 16bit ADC well the temperature I am measuring has to be +/- 0.01 degrees C and in fact I have found a way to measure temperature to this resolution.
Thanks all for posting Ill begin measuring and calculation the noise today and through out the weekend