Documentation sections
BLE Link Budget & Range Calculator — Bluetooth Low Energy by PHY
POSThttps://rftools.io/ api/ py/ v1/ calculate
Slug ble-link-budget. Bluetooth Low Energy link budget by PHY: data rate and Core Specification receiver sensitivity for LE 1M, LE 2M and LE Coded, path loss in free space or the ITU-R P.1238 indoor model, received power, link margin and maximum range.
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.
| Name | Unit | Range | Default | Description |
|---|---|---|---|---|
| phynumber | none | 0 … 3 | 0 | Bluetooth LE physical layer: 1M (1 Mb/s), 2M (2 Mb/s), or the coded PHY at 500 kb/s (S=2) or 125 kb/s (S=8) |
| txPowernumber | dBm | any | 0 | The Core Specification allows −20 to +20 dBm |
| txGainnumber | dBi | any | 0 | Transmit Antenna Gain |
| rxGainnumber | dBi | any | 0 | Receive Antenna Gain |
| lossesnumber | dB | at least 0 | 0 | Body, Enclosure & Other Losses |
| frequencynumber | MHz | at least 1 | 2440 | LE channels run from 2402 to 2480 MHz; 2440 MHz is mid-band |
| pathLossModelnumber | none | 0 … 8 | 2 | Free space, or ITU-R P.1238 site-general for an office, corridor, industrial site or conference room, in line of sight (LoS) or not (NLoS) |
| distancenumber | m | at least 0.01 | 10 | Direct (3-D) distance between the antennas |
| sensitivityOverridenumber | dBm | at most 0 | 0 | Enter the radio's datasheet sensitivity to replace the Core Specification reference; 0 keeps the reference |
| extraLossCountnumber | none | 0 … 6 | 0 | How many further losses the link adds, such as building entry, foliage, body or polarisation mismatch (0–6) |
| extraLoss1number | dB | 0 … 50 | 0 | A further loss on the link, such as building entry, foliage, body loss or polarisation mismatch |
| extraLoss2number | dB | 0 … 50 | 0 | A further loss on the link, such as building entry, foliage, body loss or polarisation mismatch |
| extraLoss3number | dB | 0 … 50 | 0 | A further loss on the link, such as building entry, foliage, body loss or polarisation mismatch |
| extraLoss4number | dB | 0 … 50 | 0 | A further loss on the link, such as building entry, foliage, body loss or polarisation mismatch |
| extraLoss5number | dB | 0 … 50 | 0 | A further loss on the link, such as building entry, foliage, body loss or polarisation mismatch |
| extraLoss6number | dB | 0 … 50 | 0 | A further loss on the link, such as building entry, foliage, body loss or polarisation mismatch |
Outputs
Returned in values, by key. A value that is unbounded or undefined is null.
| Field | Unit | Description |
|---|---|---|
| linkMarginheadline | dB | Link Margin |
| dataRate | Mb/s | PHY Data Rate |
| sensitivityUsed | dBm | Receiver Sensitivity Used |
| pathLoss | dB | Path Loss |
| receivedPower | dBm | Received Power |
| maxRange | m | Maximum Range |
| shadowFadingStd | dB | Shadow-Fading Std (P.1238 σ) |
| totalLoss | dB | The cable and other losses, the path loss and every extra loss, added |
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.