Address Math and Airtime Physics

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

foundations
math-foundations
calculation-audit
networking-core
Ada ADA · CALCULATION AUDIT

Address Math and Airtime Physics

A Zigbee coordinator hands out 16-bit short addresses from a pool of 65,536 values, yet random assignment reaches a 50% chance of a duplicate at just 301 devices — because collision risk grows with device pairs, not device count. The same pairwise logic governs a city’s 2,000 LoRaWAN parking sensors, whose 190 ms packets collide far sooner than their under-3% channel use would suggest. This audit re-derives both the address math and the airtime physics to ask whether the chapter’s own numbers hold.

Companion to the chapter The Birthday Problem in IoT Networks — every number here comes from that chapter.

Ada: Pair-count math is the warning; packet airtime is the physical window that turns random traffic into collisions. The chapter’s numbers can be checked from the formulas already shown above.

  • Classic birthday check: 23 x 22 / 2 = 253 pair comparisons. Since 253 / 365 = 0.693, 1 - e^-0.693 = 50.0%, which explains why 23 people is enough for a coin-flip birthday match.
  • 16-bit short-address threshold: m = 2^16 = 65,536, sqrt(65,536) = 256, and 1.177 x 256 = 301 devices. That is the chapter’s 50% collision threshold.
  • Zigbee 300-device row: 300^2 / (2 x 65,536) = 90,000 / 131,072 = 0.687, so 1 - e^-0.687 = 49.7%.
  • Zigbee 450-device check: 450^2 / (2 x 65,536) = 202,500 / 131,072 = 1.545, so 1 - e^-1.545 = 78.7%. The risk is not “450 out of 65,536”; it is the aggregate of 450 x 449 / 2 = 101,025 device pairs.
  • LoRaWAN timing starts with the symbol: 2^10 / 125,000 = 0.008192 s = 8.19 ms. The chapter’s SF10 example then gives preamble time 8 x 8.19 = 65.5 ms, payload time about 15 x 8.19 = 122.9 ms, and total airtime about 188.4 ms, rounded to 190 ms.
  • The vulnerable overlap window is 2 x 190 ms = 380 ms. One hour has 3,600,000 / 380 = 9,474 such windows, and the offered traffic is 12,000 / 48 = 250 transmissions per channel/SF combination.
  • Slot-collision estimate: 250^2 / (2 x 9,474) = 3.30, so 1 - e^-3.30 = 96.3% chance of at least one collision per virtual channel. The expected count is 3.30 x 48 = 158 collisions per hour, and 158 / 12,000 = 1.3% of transmissions.

The conclusion is bounded: use the birthday model to expose pairwise risk, then choose the real control for the domain. Address collisions need larger identifiers, partitioning, or reassignment. Airtime collisions need scheduling, backoff, channel diversity, spreading-factor planning, or lower offered load.

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