9
\$\begingroup\$

Can I create one super-sensor by averaging together the readings from several LM35 sensors? Wouldn't this be more accurate because I'd be averaging out the systematic bias in the individual sensors? Also, wouldn't it be more precise, too, because any noise will be dampened/averaged out?

This seems almost too good to be true. I mean, these things are really cheap as far as sensors go, so what's to stop me from buying like 10 of them and making a super-accurate temperature sensors with this method?

\$\endgroup\$
  • 7
    \$\begingroup\$ I think you'd be more accurate by simply powering the LM35 from a super stable supply and by carefully calibrating the thing. \$\endgroup\$ – user3624 Nov 23 '11 at 14:55
  • 1
    \$\begingroup\$ If you have a fairly large area to cover and you want the average temperature in that area. then yes. Otherwise there is no real benefit. If you need super precise readings' then you need to use spot meters using some tech lick IR, or very expensive sensors used in bio chemistry, physics... \$\endgroup\$ – Piotr Kula Nov 23 '11 at 17:29
  • 2
    \$\begingroup\$ ppumkin -1. Averaging multiple signal will reduce any random noise. \$\endgroup\$ – user606723 Nov 23 '11 at 17:51
13
\$\begingroup\$

You can not guarantee more accuracy, but you can possibly get better signal to noise ratio.

Imagine if all the sensors were off by the same amount as allowed in the specs. Averaging them would not yield better accuracy. If you had a reasonably large number of these sensors and they had a random error distribution within their allowed error band, then you would get better accuracy by averaging. However, the problem is that you have no way of knowing if you have the first case or the second. If all the units are from the same production lot, their errors are likely not randomly distributed.

The noise does go down, however. Each sensor adds some noise to its reading. This is uncorrelated with the noise from the other sensors, so averaging does lower noise. Of course this is not true of noise coming from outside the whole system since that would be correlated and averging the multiple sensor readings won't reduce it.

Note that there is more than one way to "average". You are thinking of averaging accross multiple sensors to reduce noise. However, since this noise is essentially random, you can just as well average between multiple readings from the same sensor taken at different times. In the more general case, this is really low pass filtering. Since temperatures change slowly, aggressively low pass filtering the output of a temperature sensor does reduce noise. Looking at this in frequency space, you know the temperature changes slowly so high frequency components are noise and can be safely attenuated.

\$\endgroup\$
6
\$\begingroup\$

Yes, using multiple sensors can give you an average temperature. How correct that temperature is still at question.

If 50% of the sensors are above the real temperature, and 50% are below, then you will get the real temperature (or as good as). If 75% are above and 25% are below, then you will reading the temperature as higher than it is.

For accuracy you will need some reference to test the sensors against to get the real temperature - usually a known temperature to calibrate the sensor against.

As for the noise cancelling, you can do the exact same thing with one sensor and sampling it multiple times and averaging the results.

\$\endgroup\$
5
\$\begingroup\$

If the errors were random you could expect an improvement of about a factor of 3 for 10 sensors (the square root of 10). But it is likely there are systematic errors which wouldn't cancel.

  • Why do you want better precision than 0.5°C in the first place?

  • Which temperature do you want to measure? If you have ten sensors they won't all be in the same place. Most of the time it will be better get a higher precision one.

  • Do you even have space for 10 sensors?

It is a good idea to do multiple readings of one sensor.

\$\endgroup\$
  • \$\begingroup\$ +1 for mentioning that the errors in the sensors have to be RANDOM. Often we talk about variances based on PVT: Process, Temperature, and Voltage. Basically LM35's from the same lot will tend to have similar errors. And LM35's powered from the same power rail will also tend to have similar errors. Of course you want variations on temp. \$\endgroup\$ – user3624 Nov 23 '11 at 14:54
1
\$\begingroup\$

Just to be picky and add 2 cents to this question: if you don't like picky answers, don't even read this one or you'll want to kill me.

Since all sensors have some internal bias, you'll end up never being super-accurate.

If you have a sensor and you know it's bias, you can compensate it's readings, and get the real temperature. And you'll be limited to it's characteristics (example: if it is linear in it's readings as temperature changes, or if the errors aren't linear... if it is stable as time passes by, or not...).

If you have lots of sensors, and average them, you'll narrow the gap between the real temperature and the measured one, but since each has it's own error, the average will always have some error. To avoid that, only if you have exactly the same number of sensors above and below the correct temperature, and only if they are exactly the same amount above and below...

Think about it like the international standard of mass: what is 1 kg? it's the mass of a specific body, that is stored in the International Bureau of Weights and Measures. It's not the average of a lot of bodies...

\$\endgroup\$
  • \$\begingroup\$ You can be super accurate, take the bill gates approach and just define it to be whatever you have got! \$\endgroup\$ – russ_hensel Nov 23 '11 at 15:02
  • \$\begingroup\$ @russ_hensel :) yep... that's why I upvoted other answers and stated the "picky answer ahead..." . \$\endgroup\$ – woliveirajr Nov 23 '11 at 15:18
1
\$\begingroup\$

You speak of "systematic bias". If we make the generally reasonable assumption that the readings from the sensors have a mean and standard deviation, than as the sample size (number of sensors) increases then the standard deviation should decrease.

Then again if one takes multiple readings from the same sensor then the standard deviation of the readings should be reduced as well.

As for the average, suppose that when the exact temperature is 80C and sensor 1 might read 79C, sensor 2 80C and sensor 3 81C. In this case averaging the readings gives an answer of 80C while of the 3 individual sensors only one had the correct value. There is more to consider here, suppose sensor 1 always read 1C low while sensor 3 always read 1C high. If you were able to determine this by comparison to an accurate source, then you could correct this 1C low reading for sensor 1 in software post conversion.

In practical terms, how would you mount multiple sensors so that they were all in contact with the exact same point where you want the temperature measured? For high accuracy readings even a small separation between sensors could mean that they were being exposed to different temperatures. In this case averaging the readings would not yield useful data about what the temperature was at any particular point, only the average across some space. Sort of like mounting 4 thermometers on each side of your house; it is highly likely that the one on the sunny side will have a different temperature than the one on the shady side.

\$\endgroup\$

protected by Olin Lathrop Apr 19 '16 at 11:14

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.