Address Math and Airtime Physics
Ada re-derives this chapter’s own numbers step by step, at full precision
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 = 253pair comparisons. Since253 / 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, and1.177 x 256 = 301devices. That is the chapter’s 50% collision threshold. - Zigbee 300-device row:
300^2 / (2 x 65,536) = 90,000 / 131,072 = 0.687, so1 - e^-0.687 = 49.7%. - Zigbee 450-device check:
450^2 / (2 x 65,536) = 202,500 / 131,072 = 1.545, so1 - e^-1.545 = 78.7%. The risk is not “450 out of 65,536”; it is the aggregate of450 x 449 / 2 = 101,025device 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 time8 x 8.19 = 65.5 ms, payload time about15 x 8.19 = 122.9 ms, and total airtime about188.4 ms, rounded to190 ms. - The vulnerable overlap window is
2 x 190 ms = 380 ms. One hour has3,600,000 / 380 = 9,474such windows, and the offered traffic is12,000 / 48 = 250transmissions per channel/SF combination. - Slot-collision estimate:
250^2 / (2 x 9,474) = 3.30, so1 - e^-3.30 = 96.3%chance of at least one collision per virtual channel. The expected count is3.30 x 48 = 158collisions per hour, and158 / 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.