Skip to content
Documentation sections

ISM Band Wireless Coexistence Calculator

POSThttps://rftools.io/api/py/v1/calculate

Slug ism-coexistence. Analyze collision probability and throughput impact when WiFi, Bluetooth, Zigbee, or LoRa share ISM bands. Enter duty cycles and channels. Free, instant results.

Inputs

Send every one of these in inputs, in the units shown. Most are required: a call without one is refused (400) and costs nothing; one the calculator can do without takes the default shown. An input outside its range is still computed and flagged in the provenance.

Inputs of ism-coexistence
NameUnitRangeDefaultDescription
bandIndexnumbernone0 … 40ISM BandOne of: 0 2.4 GHz ISM (2400–2483.5 MHz) · 1 868 MHz (Europe, 863–870 MHz) · 2 915 MHz (Americas, 902–928 MHz) · 3 5.8 GHz ISM (5725–5850 MHz) · 4 433 MHz (Europe, 433.05–434.79 MHz)
dutyCycle1_pctnumber%0.01 … 10050WiFi at moderate load ≈ 20–60%, BLE advertising ≈ 0.5–5%, Zigbee ≈ 1%
channels1numbernone1 … 1003WiFi: 3 non-overlapping (1/6/11), BLE data: 37 channels, LoRaWAN EU: 8 channels
dutyCycle2_pctnumber%0.01 … 1005Protocol 2 Duty Cycle
channels2numbernone1 … 10037Protocol 2 Channels
txPowerOffset_dBnumberdB−30 … 4010Positive = Protocol 1 is stronger. WiFi (20 dBm) vs BLE (10 dBm) = +10 dB
channelWidth1_MHznumberMHzat least 0.00120Wi-Fi 20 MHz, Zigbee 2 MHz, LoRa 0.125 MHz. The plan spreads the channels evenly across the band
channelWidth2_MHznumberMHzat least 0.0012Bluetooth LE 2 MHz, Zigbee 2 MHz, LoRa 0.125 MHz

Outputs

Returned in values, by key. A value that is unbounded or undefined is null.

Outputs of ism-coexistence
FieldUnitDescription
effectiveCollision_pctheadline%Effective Collision Rate
collisionProb_pct%Raw Collision Probability
throughputImpact_pct%Throughput Impact
sharedChannelFraction%Shared Channel Fraction
overlappingChannelsnoneProtocol 2's channels that share spectrum with one of protocol 1's, with the channels spread evenly across the band: there a collision needs only both to transmit at once

Calling it

  • Calculate: one call, the request and response in full, and its errors.
  • Batch: this calculator with others, or a sweep, in one request.
  • Solve for a target: the value of one input that brings an output to a target.