Readings are not equal
Each sensor reports a value and a standard deviation. Smaller sigma means a narrower uncertainty band.
Compare inverse-variance weighting, outlier gating, and Kalman-style prior updates for IoT sensor estimates
Fuse three noisy IoT sensor readings, gate an obvious outlier, and update a prior estimate. The visual keeps the raw readings, uncertainty bands, weights, formulas, and plain-language diagnosis in sync.
Each sensor reports a value and a standard deviation. Smaller sigma means a narrower uncertainty band.
Independent Gaussian readings are combined with weights proportional to 1 / sigma^2.
A confident but wrong sensor can pull the estimate away unless a residual gate rejects it first.
A Kalman-style update blends the fused measurement with what the system believed before this sample.
Plot every sensor on one scale.
Square sigma to get variance.
Precise sensors receive more trust.
Reject readings too far from the cluster.
Compute the weighted estimate and sigma.
Blend the measurement with the prior state.
Plot each sensor reading and its uncertainty interval before doing any math.
Start by checking whether the uncertainty bars overlap.
The default readings agree closely enough to combine.
Use Step or Play to walk through the calculation.
The calculator uses a simple independent-Gaussian teaching model. It is accurate for the assumptions shown here, but real deployments must validate calibration, correlation, and outlier logic.
variance_i = sigma_i^2
raw_weight_i = 1 / variance_i
Smaller standard deviation produces a much larger raw weight because variance is squared.
normalized_weight_i = raw_weight_i / sum(raw_weight)
fused_value = sum(normalized_weight_i * reading_i)
Only accepted readings are included after the outlier gate is applied.
Kalman gain: K = P / (P + R)
posterior = prior + K * (fused_value - prior)
The prior variance is P. The fused measurement variance is R.
Use these cards to check terms, design decisions, and model limits while experimenting with the animation.
sqrt(1 / sum(1 / sigma_i^2)) for accepted independent sensors.