The Cellular Energy Ledger

Ada audits the cellular energy ledger — one unit conversion, two ledger equations

foundations
math-foundations
cellular-iot
energy
advanced
Ada ADA · CALCULATION AUDIT

Foundations · optional mathematics and physics

The Cellular Energy Ledger

A cellular IoT device cycles through sleep, wake, network registration, payload transfer, a downlink listening window, and return to sleep, and in PSM its reachability hinges on the network-granted T3412 and T3324 timers. The chapter converts each measured state into a charge term to build daily and maintenance ledgers, yet it publishes no measured-current table to plug in. This audit works those ledgers symbolically and asks whether any trustworthy battery-life claim is possible before real trace values replace the symbols.

Companion to the chapter Cellular IoT Power Optimization — every number here comes from that chapter.

One unit conversion, two ledger equations, ~4 minutes

The physics is charge over time. A cellular battery model is only trustworthy when every measured state in the trace becomes a charge term, and when granted timers and retry behavior stay visible instead of being averaged away.

Convert each measured state

The chapter's formula uses current in milliamps and duration in seconds, so the hour conversion is explicit.

state_mAh = current_mA x duration_seconds / 3600
because 1 hour = 3600 seconds, mA x seconds / seconds_per_hour = mAh

That unit check is the guardrail: sleep, wake, registration, transfer, listening, retry, and host cleanup each need their own term before the daily average is credible.

Keep rare events in the ledger

Carry the same charge terms into the daily and maintenance ledgers.

normal_day_mAh = sleep_state_mAh + wake_cycles_per_day x measured_wake_and_send_mAh + granted_active_window_mAh + expected_retry_mAh + host_and_sensor_mAh + self_discharge_allowance
maintenance_day_mAh = normal_day_mAh + update_transfer_mAh + diagnostic_session_mAh + retry_margin_mAh
usable_life_days = usable_battery_capacity_mAh / measured_daily_mAh

If weak coverage adds an extra retry term, the denominator becomes larger.

new_denominator = measured_daily_mAh + extra_retry_mAh; when extra_retry_mAh > 0, usable_life_days falls

The calculation is deliberately symbolic because the chapter has no measured current table to reuse. The release decision should therefore demand real trace values before turning these equations into a battery-life claim.

Every symbol above is taken from the chapter's own cellular energy example and re-derived step by step.