What the 10% S-MAC Duty Cycle Actually Saves
What the 10% S-MAC Duty Cycle Actually Saves
Ada re-derives this chapter’s own numbers step by step, at full precision
ADA · CALCULATION AUDIT
What the 10% S-MAC Duty Cycle Actually Saves
S-MAC lets a node sleep most of the time, then wake for a 200 ms listen window inside each 2 second frame — a 10% duty cycle, with the radio off for the remaining 1.8 seconds. The chapter pairs that schedule with classic TelosB-style current traces of about 20 mA radio-on versus about 1.8 mA MCU-on/radio-off, noting that idle listening may cost almost as much as useful transmission. This audit asks the question that pairing invites: what average current does the 10% S-MAC schedule actually deliver, and how much of the saving depends on that 1.8 mA sleep figure being real?
Companion to the chapter WSN Duty Cycling — every number here comes from that chapter.
See the relationship before changing it
The figure reads from left to right. The blue card is radio-on duty cycle. The middle card applies this page's rule. The green card is average current. Walk the arrows once: set the input, apply the rule, then read the result with its unit.
The retained audit below checks several chapter fixtures. This model keeps those stated values fixed and changes only radio-on duty cycle, so the numeric fixture does not switch without explanation.
Derive the baseline in four named moves
- 1
Name the input. The chapter baseline is 10 %.
- 2
Name the relationship. average = 20 mA x duty + 1.8 mA x (1 - duty)
- 3
Substitute with units. 20 x 0.10 + 1.8 x 0.90 = 3.62 mA
- 4
Read the result. Keep the unit beside the value. Use it only inside the technical boundary on this page.
Predict, then change radio-on duty cycle
Try Predict the direction of average = 20 mA x duty + 1.8 mA x (1 - duty). Test another radio-on duty cycle, then compare average current.
Observe Sleep current sets a floor, so duty cycling cannot save the full radio-on current. Reset radio-on duty cycle to 10 and compare average current.
Explain Sleep current sets a floor, so duty cycling cannot save the full radio-on current.
Check yourself
What should you do before trusting a moved-control result?
What does this small model leave out?
Use a 200 ms listen interval inside a 2 s S-MAC frame with 20 mA radio-on and 1.8 mA radio-off current.
The schedule is 10% on and 90% off; its weighted average is 3.62 mA, about 5.5× below an always-listening 20 mA node.
Duty cycling lowers average current by replacing long receiver-on intervals with a lower-current state; the saving is therefore governed by both time fraction and the real off-state floor.
Ada: This section pairs two facts I can check together: the S-MAC schedule (200 ms listen in a 2 s frame) and the TelosB current scale (~20 mA radio-on versus ~1.8 mA MCU-on/radio-off, with idle listening costing almost as much as transmitting).
- Duty cycle:
200 ms / 2000 ms = 0.10, the chapter’s10%; the radio is off for2000 - 200 = 1800 ms = 1.8 s. - Current contrast: turning the radio off drops the draw by
20 / 1.8 = 11.1x. And because listening (~20 mA) is nearly the transmit current, a receiver that stays awake pays almost a full transmit’s worth of current for zero delivered bytes.
To price the schedule, take the 1.8 s off-window at the chapter’s own 1.8 mA MCU-on/radio-off figure (an illustrative upper bound – a true deep-sleep mode draws far less):
I_avg = (0.2 s x 20 mA + 1.8 s x 1.8 mA) / 2 s = (4.0 + 3.24) / 2 = 3.62 mA.
Against a node that simply listened the whole frame at 20 mA, that is already a 20 / 3.62 = 5.5x reduction – and a real sleep floor would push it lower still. The design meaning is that the 90% radio-off fraction, not a faster transmit, is what turns a 20 mA always-listening radio into a milliamp-scale average; but the win only materializes if the “off” state is genuinely low-current, which is why the chapter insists the sleep floor be measured, not assumed.
Every number above is taken from the chapter’s own material and re-derived step by step.
Technical boundaries: This two-state upper-bound model omits synchronisation packets, wake transitions, transmit and receive differences, collisions and retries, clock drift, MCU deep sleep, regulator loss, battery voltage, and leakage.