Moving Average Filter Performance
Given noisy sensor data with Gaussian noise \(\sigma = 0.5°C\):
\[\sigma_{filtered} = \frac{\sigma_{raw}}{\sqrt{N}}\]
Window size comparison:
- \(N=5\): \(\sigma_f = 0.5°C / \sqrt{5} = 0.224°C\) (2.24× improvement)
- \(N=10\): \(\sigma_f = 0.5°C / \sqrt{10} = 0.158°C\) (3.16× improvement)
- \(N=20\): \(\sigma_f = 0.5°C / \sqrt{20} = 0.112°C\) (4.47× improvement)
Tradeoff: Larger \(N\) reduces noise but increases lag:
\[\text{Lag} = \frac{N-1}{2} \times \text{sample interval}\]
For \(N=10\) at 1 sample/sec: Lag = 4.5 seconds
Sensor fusion accuracy improvement:
Combining \(M\) independent sensors with equal accuracy \(\sigma\):
\[\sigma_{fused} = \frac{\sigma}{\sqrt{M}}\]
Three DS18B20 sensors (each ±0.5°C):
\[\sigma_{fused} = \frac{0.5°C}{\sqrt{3}} = 0.289°C \text{ (1.73× better)}\]
Hysteresis deadband sizing:
For relay control with ±0.5°C sensor accuracy, minimum safe hysteresis:
\[\Delta T_{hyst} \geq 2 \times \sigma_{sensor} + \text{control margin} = 2 \times 0.5°C + 0.5°C = 1.5°C\]
Example: Turn ON at 28°C, turn OFF at 26.5°C (prevents relay chatter)