Load-cell measurement chain

Executed calibration, filter and uncertainty analysis using declared synthetic data. No physical calibration has been performed.

Result

A 25-sample moving average at 100 Hz reduces the modeled white-noise standard deviation to 0.403 g. A noise-free 5 kg step settles within 5 g after 0.24 s.

In the baseline budget with independent temperature terms, the combined standard uncertainty at 5 kg is 1.780 g under the stated bounds. The k = 2 expanded value is 3.560 g. This is far larger than the ideal ADC code increment of 0.00233 g.

Identical input data are used for all causal filters. Settling is assessed on a separate noise-free step; errors here include injected drift and nonlinearity.
Identical input data are used for all causal filters. Settling is assessed on a separate noise-free step; errors here include injected drift and nonlinearity.

Inputs and signal chain

Bridge differential output → matched analog low-pass/input protection → ratiometric PGA/ADC → two-parameter calibration → causal digital filter. Excitation and reference should track; this model assumes their ideal ratio and budgets remaining span drift separately. No physical circuit is included.

itemvalueunit
Rated 10 kg signal10.0mV
12 kg overload signal12.0mV
ADC positive differential full scale19.53125mV
Overload differential margin7.53125mV
Ideal code increment at nominal sensitivity0.0023283064365386963g
Single-reading standard uncertainty at 5 kg1.7800266281621322g
Expanded uncertainty, k = 23.5600532563242644g

Calibration

The code fits 180 generated readings at six mass levels. The fitted sensitivity is 1.00040339 µV/g and offset is 30.02390 µV. The calibration trace contains independent white noise; the later load trace adds a separate nonlinear error and drift.

Slope and intercept covariance is propagated together through m = (V − b)/s. Treating them as independent would overstate the calibration contribution around the middle of the span.

Synthetic calibration residuals. Known reference-mass uncertainty is a separate assumed budget component.
Synthetic calibration residuals. Known reference-mass uncertainty is a separate assumed budget component.

Filter comparison

filtersingle_reading_noise_std_gstep_settling_to_5g_sfinal_10s_mean_error_gcausal
Raw1.993270.03.04096True
MA 100.633280.093.04068True
MA 250.403050.243.03985True
MA 500.288090.493.03969True
EMA 0.1 s0.449330.693.04055True
EMA 0.3 s0.262512.073.03743True

Noise uses 100,000 separately generated samples, excluding 1,000 startup samples. Each result describes a single filtered reading; adjacent moving-average readings are correlated. The final 10 s mean error includes systematic effects and is not a repeatability estimate.

Baseline uncertainty: independent temperature terms

Standard uncertainty contributions in grams; rectangular bounds are divided by √3, rounding step by √12.
Standard uncertainty contributions in grams; rectangular bounds are divided by √3, rounding step by √12.
componentstandard_uncertainty_gvariance_g2distributionbasis
Filtered single-reading repeatability0.40305335442549480.16245200651364353normalSynthetic white-noise trace; not the uncertainty of the mean
Calibration fit (slope/intercept covariance)0.153435129829989660.023542339065945782normalOLS covariance; correlated parameters propagated together
Reference masses0.050.0025000000000000005normalAssumed standard uncertainty, not a weight certificate
Residual nonlinearity1.15470053837925171.3333333333333337rectangularAssumed symmetric bound
Hysteresis0.57735026918962580.3333333333333334rectangularAssumed symmetric bound
Temperature zero shift0.86602540378443870.7500000000000001rectangularAssumed bound over declared temperature excursion
Temperature span shift0.28867513459481290.08333333333333336rectangularAssumed fraction of reading
60 s drift0.69282032302755090.48rectangularAssumed symmetric bound; trace uses positive ramp as one stress case
ADC rounding0.00067185315325281464.513866595357499e-07rectangularQuantization interval; ENOB and analog noise are separate

Verification and limits

All 18 tests pass, including exact calibration recovery, Monte Carlo covariance propagation, filter causality, analytic EMA response, moving-average noise gain, drift preservation and zero-tracker gates.

Reproduction and method source

python -m pip install -r requirements.txt
python run.py
python -m unittest -v

Method: NIST TN 1297, Appendix A. It supplies the covariance propagation and rectangular-distribution treatment. The numerical bounds here are declared project assumptions. See README.md and physical_calibration.md for file details and the unexecuted hardware procedure.

Virtual validation

Executed synthetic and theoretical run-through. The report includes cases, acceptance results and model boundaries.