Turning a +CESQ Index into dBm

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
wifi-mobile
Ada ADA · CALCULATION AUDIT

Turning a +CESQ Index into dBm

During modem bring-up, the +CESQ command reports signal as an index, not a power. The chapter says its RSRP field runs 0–97 and maps linearly to roughly −141 dBm up to −44 dBm, with 255 reserved to mean unknown. The same read-the-number discipline governs the power-saving timers, whose eDRX maxima reach 43.7 minutes for LTE-M and 2.9 hours for NB-IoT. This audit pins down the exact index-to-dBm conversion the word “linearly” hides.

Companion to the chapter Lab: Cellular Modem Bring-Up — every number here comes from that chapter.

Ada: The chapter says the +CESQ RSRP index runs 0-97 and maps “linearly to roughly -141 dBm up to -44 dBm.” Linear over an integer index hides an exact conversion - let me pin it down.

  • The reported range covers -44 - (-141) = 97 dB, spread over the 97 index steps from 0 to 97, so each step is exactly 97 / 97 = 1 dB.
  • That gives the clean rule RSRP(dBm) = index - 141: index 0 is 0 - 141 = -141 dBm (the floor) and index 97 is 97 - 141 = -44 dBm (the ceiling), matching both endpoints. The reserved value 255 still means “unknown.”
  • So a logged index of 40 is not vague - it is precisely 40 - 141 = -101 dBm.

The power-saving ceilings show the same “read the number, do not trust the label” habit: the chapter’s eDRX maxima of 43.7 min (LTE-M) and 2.9 h (NB-IoT) differ by (2.9 x 60) / 43.7 = 174 / 43.7 ~= 4x, so NB-IoT can sleep about four times longer between pages. That is the reachability-versus-battery knob the lab must record from the modem’s negotiated timers, not assume from the request.

Every number above is taken from the chapter’s own material and re-derived step by step.