Pages: [1]   Go Down
Author Topic: How to calculate Signal to Noise Ratio  (Read 5506 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
God Member
*****
Karma: 2
Posts: 711
a, b = b, a+b
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


I need to compare the signal to noise level of two sensors.

Is there some standardized way of doing this? Wikipedia & ehow and the rest of the internet seem to magically assume I already know the power of the noise & the power of the signal.

I could use a filter to seperate high-frequency parts of the signal from low frequency parts of the signal and then compare the magnitude of these two values. However, if I did this I can just randomly change the parameters of the filter and come up with either really good or really bad results.

So my question stays: Is there a standardized way of measuring signal to noise ratio of a given sensor/circuit?

thanks
p.
Logged


Firenze, Italy
Offline Offline
Full Member
***
Karma: 0
Posts: 104
Dislessia portami via
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

First of all, can you assume that the noise is white?
Logged

The brightest flame burns quickest

Offline Offline
God Member
*****
Karma: 2
Posts: 711
a, b = b, a+b
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

no. I dont know anything about the noise.

in both cases its an analogue sensor connected to a 10 bit AD converter.

I guess I could just measure the noise without changing the input to the sensor. This should give me a pure noise signal. I can then take the root mean square of that... and then what?
Or I calculate the distribution of the noise and then... ?

The other problem is: how do I measure the signal without the noise? I can apply a low-pass filter, but by doing so I manipulate the signal ...

*

lets just assume that the noise *is* white. what then?

*

I am pretty sure I can find a method of calculating signal to noise ratio. I am just trying to figure out if there is a scientifically "correct" way of doing it.
Logged


Offline Offline
God Member
*****
Karma: 2
Posts: 711
a, b = b, a+b
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

can anyone help me with this? some recommended reading or something?
Logged


0
Offline Offline
Shannon Member
****
Karma: 200
Posts: 11718
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The standard way I think to measure a signal in the noise is to compare with a signal of known power - ie you take a strong signal, put through a programmable attentuator and compare to the signal of interest.  You can measure the strong signal accurately and use a calibrated attentuator - so the problem is reduced to one of comparison (you may want to add synthetic noise too).

If you haven't read the relevant section of "The Art of Electronics" then do so, its a very place to start for practical issues.
Logged

[ I won't respond to messages, use the forum please ]

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17263
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It can be a rather complex measurement as bandwidth has a bearing on noise power.

Lefty
Logged

Rapa Nui
Offline Offline
Edison Member
*
Karma: 60
Posts: 2066
Pukao hats cleaning services
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You cannot measure S/N of a sensor, I think. You may measure a S/N (or (S+N)/N)) of an equipment which measures the sensor's output (ie voltage). The S/N specifies how much the noise of the equipment contributes to the actual signal at its input. Thus it specifies the equipment (ie. an amplifier, an adc, a receiver) sensitivity for a specific S/N ratio (ie 10uV for 10dB S/N).
You may measure a noise profile of a sensor, though. For example a photodiode - you can measure a power spectral density (at specific conditions) of the noise current of the photodiode (ie. nA/sqrt(Hz)) - ie. between 1Hz and 1kHz..
« Last Edit: April 17, 2012, 03:28:01 pm by pito » Logged

Offline Offline
God Member
*****
Karma: 2
Posts: 711
a, b = b, a+b
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


thanks pito. that makes sense.
Logged


Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Will average/(standard deviation) give you some indication?
Logged


Christchurch, NZ
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Will average/(standard deviation) give you some indication?

I think it would be:
SNR=(mean/(1.96*SD))^2
or
SNR=(median/(1.96*SD))^2

+/-1.96*SD is the 95% confidence interval for Gaussian distributed data.
 
Logged

California
Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

At least for the electrical part of your system you could use LXSNDTEST, available from Sourceforge. The recent versions can interface to an ATmega328. Have a look at the report ATmega328Accuracy.pdf in the LXARDOSCOPE project, also at Sourceforge. The report shows spectra and parametric results like THD, SNR, ENOB.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

rather aged thread, but the way to do it is to "back into" the characteristics of the sytem via a "lock-in" or "multi-channel averaging system. The noise you have is inseparably wedded to your signal source
and overall setup.
IF your SNR is >1 to begin with, then just measure the noise and signal + noise separately.
IF your signal is weak and buried in noise, SNR << 1, then you have to take multiple measurements, add them, and measure the SD of the fluctuations. If you can do this wothout signal (difficult for a star, etc.), then you can get a "noise signature," which is better but not essential.
THEN take a large number of measurements, add them together, and look for an emerging signal. Now, the noise increases as the Square Root of the noise value, but the signal increases linearly. So suppose the signal is 1 and the noise is 999 - signal buried in noise. Now do 10,000 measurements - the signal will be 10,000 and the noise will be the SQRT of 10,000,000 or 3100. This can be compared with the "noise only" measurement series as well.
SO then you can back-track and estimate a SNR corresponding to 1/1000.
This is the general approach used on the Hubble telescope, and its difficult to short-cut it. The good news is that you have to go down this road anyway if you have a very eak signal.
Logged

Pages: [1]   Go Up
Jump to: