◈ IoT Calibrator stage 2 · 0.1.0-c7 · assumed-1.0.0 Sign in

Calibration registry

Every physical number the twin uses, and where it came from. Sorted weakest evidence first, then lowest confidence — the pilot's shopping list, in order.

parametervalueprovenanceconfidencesourcenotes
tamper.false_positive_rate_per_day 0.05 count/day assumed 0.1 placeholder; a property of the mounting, not the part Lowest-confidence parameter here. A tamper alert nobody trusts is worse than none, so this needs field data before the feature ships.
lte.psm_interval_s 3600.0 s assumed 0.15 placeholder; entirely carrier- and config-dependent Drives how long a downlink command waits. The command channel is unusable if this is large and nothing queues.
lte.outage_rate_per_day 0.5 count/day assumed 0.15 placeholder; site- and carrier-specific
battery.drain_pct_per_hour 0.4 %/h assumed 0.15 placeholder implying roughly 10 days of life Decides the service interval and much of the business case. Real discharge is non-linear and temperature dependent; this linear model will not survive contact with a current meter.
ble.packet_delivery_ratio 0.85 fraction assumed 0.2 placeholder; no measurement exists Deliberately lumps interference, collisions and duty-cycle misses into one number. Separating them without measurements would be false precision.
accel.motion_threshold_g 1.5 g assumed 0.2 placeholder; no vibration data exists Will need retuning against hardware: the gap between a tool in use and a lorry passing is exactly what this has to separate.
accel.clear_threshold_g 1.2 g assumed 0.2 placeholder; sets the hysteresis dead band Must stay at or below the motion threshold or motion clears before it is detected.
ble.path_loss_exponent 2.7 assumed 0.25 midpoint of the commonly cited 2.7-3.5 indoor range THE DOMINANT UNKNOWN. Free space is 2.0; a yard of steel plant is worse than indoors and genuinely unmeasured. Every RSSI-to-distance estimate inherits this error, so trilateration is indicative only. Measure this first.
gateway.coverage_radius_m 20.0 m assumed 0.3 rule of thumb; the radio model is what actually decides Present for planning views only. Reception is decided by the path-loss model, and this must not be allowed to disagree with it.
lte.attach_latency_s 5.0 s assumed 0.3 order of magnitude for LTE-M attach
lte.uplink_latency_s 2.0 s assumed 0.3 order of magnitude for LTE-M uplink
gateway.scan_duty_cycle 1.0 fraction assumed 0.4 assumes continuous scanning A battery-powered Guard Tag will not scan continuously. The real figure trades scanner battery against missed advertisements.
gnss.accuracy_m 8.0 m assumed 0.4 typical open-sky consumer GNSS Degrades badly near tall plant and inside structures.
gnss.cold_start_s 30.0 s assumed 0.4 typical cold-start time to first fix
ingestion.gap_settle_after 5.0 sequences assumed 0.5 chosen to tolerate ordinary multi-scanner reordering Too low and reordering reads as loss; too high and real loss is reported too late to act on. Depends on relay delay spread, which is itself unmeasured.
ble.tx_power_1m_dbm -59.0 dBm assumed 0.6 typical BLE beacon reference figure at 1 m Varies by module and antenna; a vendor datasheet will supersede this.
ble.advertising_interval_s 1.0 s assumed 0.6 common asset-tag configuration A configuration choice more than a physical constant; trades battery life against how quickly a tag is noticed.
ble.receiver_sensitivity_dbm -95.0 dBm assumed 0.7 typical BLE receiver floor Reasonably consistent across parts; low risk.
battery.low_pct 20.0 % assumed 0.9 operational choice, not physics
battery.critical_pct 5.0 % assumed 0.9 operational choice, not physics

A swept value stays assumed however many times it is varied — sweeping a guess produces a sensitivity, never a measurement. A measured value must carry a date, or it cannot be audited or superseded. Profiles are immutable: superseding one produces a new version, so what was believed when stays on the record.