| Stage | Delta | Running | Why it matters | Copy |
|---|---|---|---|---|
|
{{ row.label }}
|
{{ row.deltaDisplay }} | {{ row.runningDisplay }} | {{ row.note }} |
Radio signals lose strength as they spread over distance, and the loss rises further as carrier frequency increases. A line-of-sight link budget helps answer the practical question of whether enough signal will still arrive at the receiver, and this calculator turns that estimate into the labels RF users usually need first: FSPL, RX Power, and EIRP.
That matters in everyday planning because small mistakes in units or omitted losses easily move a result by several decibels. A path that looks comfortable at first glance can become marginal once cable loss, wall loss, or antenna mismatch are added, while a clean outdoor hop may still show more headroom than expected.
The result panel goes beyond one headline figure. It can also show Link Margin against a receiver threshold, Noise Floor and SNR from bandwidth and noise figure, Max Distance @ Target for a chosen receive level, and geometric helpers for Wavelength and Fresnel F1 @ mid. Three chart tabs then extend the same inputs into distance, frequency, and decision views.
A typical use case is checking an indoor Wi-Fi run, a telemetry hop, or a directional outdoor bridge before hardware is mounted. You can start with carrier, distance, and conducted transmit power, then add realism only where you have evidence for it: antenna gain, cable loss, foliage or wall attenuation, and polarization mismatch.
The model is intentionally idealized. It gives a planning baseline for unobstructed propagation, not a field guarantee. Reflections, clutter, interference, rain, fading, and implementation quirks stay outside the calculation unless you approximate some of them with Additional Loss.
The cleanest first pass is to set Frequency, Distance, and TX Power, then leave the advanced fields at zero until you need them. That immediately gives you the base spreading loss and receive estimate. From there, add receiver-side details only when they answer a real planning question.
The most common mistake is a unit slip between m and km or between MHz and GHz. The next most common is overconfidence: a positive Link Margin does not guarantee stable throughput, because the package does not model fading or interference. The Signal Quality Map is also a house visualization, not a standards chart.
Before trusting the result, check the Breakdown tab and make sure every gain and loss term looks plausible. If you plan to hand the calculation to someone else, the JSON tab is the quickest way to confirm which assumptions were actually used.
The package normalizes carrier frequency to MHz and distance to km, then computes FSPL with the familiar decibel form 32.44 + 20 log10(distance_km) + 20 log10(frequency_MHz). Here FSPL is simply the package label for ideal line-of-sight spreading loss.
Transmit-side gain and loss are collapsed into EIRP, which the package calculates as transmitter power plus transmit antenna gain minus transmit cable loss. The receive estimate then adds receiver antenna gain and subtracts receiver cable loss, Additional Loss, Pol. Mismatch, and the path loss. That makes the output easy to audit in the Breakdown table because every term stays visible.
Secondary outputs come from the same input state. Wavelength uses the speed of light divided by carrier frequency. Fresnel F1 @ mid uses the first-zone midpoint radius formula. Noise Floor starts from the thermal reference of -174 dBm/Hz and adjusts for Noise BW and Noise Figure. SNR is then RX Power - Noise Floor, while Link Margin is RX Power - RX Sensitivity.
The range target solves the same model in reverse. When Target RSSI is provided, Max Distance @ Target finds the distance that would place the receive level exactly at that target under the same line-of-sight assumptions and the same gains and losses. If the real path includes clutter or other losses that are not entered, the returned range will be optimistic.
The chart tabs are deterministic extensions of the main calculation. Distance Sweep samples 80 logarithmically spaced points from 1 m up to three times the current path, or 10 m if the current path is shorter. Frequency Sweep samples 80 logarithmically spaced points from 100 MHz up to three times the current carrier, or 300 MHz if the carrier is lower. Signal Quality Map reuses the distance sweep, overlays the current operating point, and adds package-defined zones named Strong, Target, Marginal, and Unreliable.
Those zones are not external certification bands. The map uses your own thresholds. The caution line is Target RSSI when present, otherwise RX Sensitivity, otherwise -90 dBm. Strong begins 10 dB above that line. Marginal extends down to sensitivity when sensitivity is known, or 8 dB below the caution line when it is not. Everything below that lower boundary is labelled Unreliable.
| Output label | Unit | Meaning | When it stays blank |
|---|---|---|---|
| FSPL | dB | Ideal line-of-sight spreading loss | Frequency or distance is zero or missing |
| RX Power | dBm | Predicted receive level after gains and losses | Frequency or distance is zero or missing |
| Link Margin | dB | Receive level relative to receiver threshold | RX Sensitivity is blank |
| Noise Floor | dBm | Thermal reference adjusted by bandwidth and noise figure | Noise BW is zero or below zero |
| SNR | dB | Receive level above the calculated noise floor | Noise Floor is blank |
| Max Distance @ Target | m or km | Range estimate for the chosen receive goal | Target RSSI is blank |
All calculations, exports, and chart generation happen in the browser. No server-side function is present for this tool, so the numbers you see come directly from the current input state on the page.
The quickest way to reach a trustworthy result is to build the link budget in layers rather than filling every field at once.
The primary decision usually comes from RX Power compared with RX Sensitivity, which is exactly what Link Margin summarizes. A positive margin means the modeled receive level sits above that threshold. It does not mean the link will survive fading, congestion, interference, or implementation losses that are outside the entered terms.
SNR is only as meaningful as the Noise BW and Noise Figure you entered. A strong SNR here says nothing about co-channel interference. Likewise, Max Distance @ Target is optimistic unless the actual path is as clear as the model assumes. The package is best used to compare assumptions and expose sensitivities, not to certify performance.
Using 2.412 GHz, 15 m, 18 dBm transmit power, 3 dBi antennas, 1 dB cable loss on both ends, 10 dB of extra attenuation, sensitivity of -72 dBm, 20 MHz bandwidth, 7 dB noise figure, and a target of -67 dBm produces FSPL 63.61 dB, RX Power -51.61 dBm, Link Margin 20.39 dB, Noise Floor -93.99 dBm, SNR 42.38 dB, and Max Distance @ Target 88.231 m. The path looks comfortable inside this model, and the gap between actual distance and target distance is large.
Keep the same Wi-Fi assumptions but extend the path to 150 m. The result shifts to FSPL 83.61 dB, RX Power -71.61 dBm, and Link Margin 0.39 dB. That still clears the stated sensitivity, but it misses the stricter target of -67 dBm by several decibels. This is a useful reminder that “works at threshold” and “meets the preferred receive goal” are different questions.
With a 5.8 GHz path at 2 km, 26 dBm transmit power, 2 dBi transmit gain, 14 dBi receive gain, 1 dB cable loss at both ends, 3 dB polarization mismatch, 20 MHz bandwidth, and 4 dB noise figure, the package reports FSPL 113.73 dB, RX Power -76.73 dBm, and SNR 20.26 dB. If RX Sensitivity is left blank, Link Margin stays —. Entering a receiver threshold of -90 dBm fills that gap and yields Link Margin 13.27 dB. The calculation did not fail; the comparison input was missing.
No. The base path term is an ideal line-of-sight loss model. Obstacles and other known penalties only enter if you add them under Additional Loss or Pol. Mismatch.
Link Margin depends on RX Sensitivity. If that field is empty or not numeric, the package leaves the margin blank rather than inventing a threshold.
Those outputs need a positive Noise BW. A zero or negative bandwidth makes the noise path undefined, so the package leaves Noise Floor and SNR blank.
No. The zones are generated by this package around your own target and sensitivity inputs. They are useful visual guides, but they are not vendor or standards compliance labels.
No server-side function is present for this tool. Calculation, chart rendering, CSV export, DOCX export, and JSON export all happen in the browser from the values on the page.