The Context-Weighted Current Blend

The Context-Weighted Current Blend

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

foundations
math-foundations
calculation-audit
energy-power
Ada ADA · CALCULATION AUDIT

The Context-Weighted Current Blend

The chapter’s office node reports every 30 s when a room is occupied and every 600 s when vacant, blending its two context currents by time to reach an average of 147 uA on a 2,200 mAh pack — a claimed 2.3x battery-life improvement. That whole figure rests on weighting the busy and idle currents by their 0.375 occupied fraction rather than averaging them. This audit rebuilds the context-weighted current blend to test whether the 2.3x holds.

Companion to the chapter Context-Aware Energy Management — every number here comes from that chapter.

Try

The chapter’s office node reports every 30 s when a room is occupied and every 600 s when vacant, blending its two context currents by time to reach an average of 147 uA on a 2,200 mAh pack — a claimed 2.3x battery-life improvement. Calculate this case.

Observe

That whole figure rests on weighting the busy and idle currents by their 0.375 occupied fraction rather than averaging them. Check shows this.

Explain

One caution the chapter is right to raise: the always-on context sensor is not free. Add a 50 uA watcher floor to every state and the blend rises to 0.375 x 395 + 0.625 x 78.7 = 197 uA, shrinking the saving from 198 uA to 148 uA. That is the honest reading of context-aware duty cycling — the blend is only as good as the low-activity number, and a standing watcher hurts exactlywhere the low-activity state was meant to save energy. Check confirms it.

See the relationship before changing it

The figure reads from left to right. The blue input is occupied time. The middle card names the page’s rule. The green output is blended current. The arrow matters: change the input, apply the rule once, then read the result with its unit.

Occupied Time changes blended current A three-part teaching diagram connects occupied time, the rule blend = occupied share x 345.2 + vacant share x 28.7, and blended current. INPUT Occupied time APPLY THE RULE predict calculate check units OUTPUT RESULT
Walk the arrow. The time weights must add to one; a plain average uses the wrong weights.

Derive the baseline in four named moves

  1. 1

    Name the input. The chapter baseline is 37.5 %.

  2. 2

    Name the relationship. blend = occupied share x 345.2 + vacant share x 28.7

  3. 3

    Substitute with units. 0.375 x 345.2 + 0.625 x 28.7 = 147.4 uA

  4. 4

    Read the result. Keep the unit beside the value, then use the result only inside the technical boundary below.

Predict, then change occupied time

Try Predict how blended current responds when occupied time moves. Calculate occupied time; compare blended current with that prediction.

37.5 %
Chapter baseline
Blended current

Observe Return to 37.5 %. Recheck blended current with occupied time at its chapter value.

Explain The time weights must add to one; a plain average uses the wrong weights.

Check yourself

What should you do before trusting a moved-slider result?
Answer: Predict its direction, apply the displayed relationship, keep the units, and compare the reset value with the chapter’s worked baseline.
What does this small model leave out?
Answer: Only occupied time moves here. The blended current calculation excludes field effects listed below.

Technical boundaries

The “The Context-Weighted Current Blend” model leaves out classification error, context-transition timing, radio retries, sensor warm-up, regulator loss, or battery ageing; “The Context-Weighted Current Blend” therefore reports only its named fixtures.

Ada: The battery-life claim here is a 2.3x improvement, and it stands or falls on blending the two context currents by time rather than averaging them. Let me rebuild the office-node ledger from the chapter’s own inputs (40 mA for a 250 ms burst, 12 uA deep sleep, report every 30 s when occupied and every 600 s when vacant, 0.375 occupied fraction) and carry every state to the end.

  • Occupied per cycle: active 40 mA x 0.25 s = 10 mA-s; sleep 0.012 mA x 29.75 s = 0.357 mA-s; average 10.357 / 30 = 0.345233 mA = 345.2 uA.
  • Vacant per cycle: active 10 mA-s; sleep 0.012 mA x 599.75 s = 7.197 mA-s; average 17.197 / 600 = 0.028662 mA = 28.7 uA.
  • Time-weighted blend: 0.375 x 345.2 + 0.625 x 28.7 = 129.5 + 17.9 = 147.4 uA, the chapter’s 147 uA.
  • Battery life on a 2,200 mAh pack: fixed 30 s schedule 2,200 / 0.345 = 6,377 h; context-aware 2,200 / 0.147 = 14,966 h; ratio 14,966 / 6,377 = 2.35x, rounding to the stated 2.3x.

One caution the chapter is right to raise: the always-on context sensor is not free. Add a 50 uA watcher floor to every state and the blend rises to 0.375 x 395 + 0.625 x 78.7 = 197 uA, shrinking the saving from 198 uA to 148 uA. That is the honest reading of context-aware duty cycling — the blend is only as good as the low-activity number, and a standing watcher hurts exactly the cheap context the whole scheme depends on.

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