Link Snapshot
FSPL
{{ fspl.toFixed(2) }} dB
RX Power
{{ isFinite(rxPower) ? rxPower.toFixed(2) : '—' }} dBm
{{ freq }} {{ freqUnit }} {{ distance }} {{ distUnit }} EIRP {{ isFinite(eirp_dBm) ? eirp_dBm.toFixed(1) : '—' }} dBm LM {{ linkMargin.toFixed(1) }} dB SNR {{ snr_dB.toFixed(1) }} dB Max d: {{ (distUnit==='m' ? maxDistanceKmForTarget*1000 : maxDistanceKmForTarget).toFixed(3) }} {{ distUnit }}
Transmitter
Receiver
Sensitivity & Noise
Range Target
Wavelength {{ isFinite(wavelength_m) ? wavelength_m.toFixed(3) : '—' }} m
Fresnel F1 @ mid {{ isFinite(fresnelR1_m) ? fresnelR1_m.toFixed(2) : '—' }} m
EIRP{{ isFinite(eirp_dBm) ? eirp_dBm.toFixed(2) : '—' }} dBm
RX Power{{ isFinite(rxPower) ? rxPower.toFixed(2) : '—' }} dBm
Link Margin{{ isFinite(linkMargin) ? linkMargin.toFixed(2) : '—' }} dB
Noise Floor{{ isFinite(noiseFloor_dBm) ? noiseFloor_dBm.toFixed(2) : '—' }} dBm
SNR{{ isFinite(snr_dB) ? snr_dB.toFixed(2) : '—' }} dB
Max Distance @ Target {{ (distUnit==='m' ? maxDistanceKmForTarget*1000 : maxDistanceKmForTarget).toFixed(3) }} {{ distUnit }}
Metric Value Copy
{{ r.label }} {{ r.display }}

            

Introduction:

Free‑space path loss (FSPL) describes how a radio signal spreads and weakens as distance grows in open air. When people say link budget, they mean a full accounting of power, gains and losses that predicts received signal strength (RSSI). A compact radio link budget calculator turns those pieces into clear range and margin expectations quickly.

You enter carrier frequency, separation distance and transmitter power, then add optional antenna gains, cable losses or polarization mismatch to reflect reality. The outputs report FSPL, effective isotropic radiated power (EIRP), received power (RSSI), noise floor, signal‑to‑noise ratio (SNR), link margin and the first Fresnel‑zone radius, with an optional maximum distance for a target RSSI.

At 2.4 GHz across 1 km with 20 dBm conducted power and unity‑gain antennas, FSPL is 100.04 dB and received power is about −80.04 dBm. With 20 MHz noise bandwidth and a 7 dB noise figure, the noise floor is about −93.99 dBm and SNR is ~13.95 dB. Treat results as line‑of‑sight estimates, obstacles and fading can reduce range.

Use additional loss to summarize walls, foliage or body attenuation when conditions are not perfectly clear. Check polarization alignment and the first Fresnel‑zone radius to decide whether to raise antennas or tighten the path, then revisit gains or bandwidth to trade sensitivity, throughput and margin. You can set a target RSSI to translate those choices into a rough maximum distance under free‑space conditions.

Technical Details:

The calculator models a line‑of‑sight radio link using decibel arithmetic. It converts frequency and distance to a free‑space path loss (FSPL), combines transmitter power with antenna gain and feedline loss to form effective isotropic radiated power (EIRP), and then subtracts propagation and miscellaneous losses to estimate received power (RSSI). It also derives wavelength and the first Fresnel‑zone radius, computes a thermal noise floor from noise bandwidth and noise figure, and reports SNR and link margin when sensitivity is provided. An optional target RSSI inverts the path‑loss relation to estimate maximum distance.

FSPL(dB) = 32.44 + 20log₁₀(d_km) + 20log₁₀(f_MHz)
EIRP(dBm) = TX(dBm) + G_tx(dBi) L_tx(dB)
RX(dBm) = EIRP +G_rx L_rx L_add L_pol FSPL
λ(m) = c f_Hz
r_1(m) = λD_m/4
N(dBm) = 174 dBm/Hz + 10log₁₀(BW_Hz) + NF(dB)
SNR(dB) = RX(dBm) N(dBm)
LM(dB) = RX(dBm) Sens(dBm)
FSPL_target = EIRP+G_rx L_rx L_add L_pol RSSI_target D_km = 10 ( FSPL_target 32.44 20log₁₀(f_MHz) )/20

Symbols & Units

Symbols, meanings, and units
Symbol Meaning Unit/Datatype Source
fMHzCarrier frequencyMHzInput
fHzCarrier frequencyHzDerived
dkmPath lengthkmDerived
DmPath lengthmDerived
EIRPEffective isotropic radiated powerdBmDerived
RXReceive powerdBmDerived
Gtx, GrxAntenna gainsdBiInput
Ltx, LrxCable lossesdBInput
Ladd, LpolAdditional, polarization lossesdBInput
λWavelengthmDerived
r1First Fresnel radius (mid‑path)mDerived
BWHzNoise bandwidthHzInput
NFNoise figuredBInput
NNoise floordBmDerived
SNRSignal‑to‑noise ratiodBDerived
SensReceiver sensitivitydBmInput
LMLink margindBDerived
RSSItargetTarget receive leveldBmInput
DmaxMax distance at targetkm or mDerived

Validation & Bounds (from code)

Inputs and constraints
Field Type Min Max Step/Pattern Error Text Placeholder
Frequencynumber0step:any
Distancenumber0step:any
Bandwidthnumber0step:any
All other numbersnumberstep:any

Units, Precision & Rounding

  • Decimal separator is a dot; all numbers use SI prefixes for units.
  • Display rounding uses fixed decimals: powers and losses typically 2, distances 3, wavelength 6; compact badges may use 1.
  • Underlying math uses 64‑bit floating point; display rounding follows the JavaScript toFixed algorithm for ties.
  • Logarithms are base‑10 (log10) in the FSPL and noise equations.

I/O Formats & Encoding

Input/output formats
Input Accepted Families Output Encoding/Precision Rounding
Numbers dBm, dBi, dB, metres, kilometres, Hz/kHz/MHz On‑screen metrics Text with units As above (fixed decimals)
Breakdown CSV Two columns: Metric, Value Uses display strings
Distance/Frequency CSV Pairs: distance–RSSI or frequency–FSPL Raw numeric series
JSON export Inputs and derived values Nulls for unset fields

Networking & Storage

No server calls are made; calculations, charts, clipboard copy and file downloads run in your browser. A charting layer loads from a CDN declared in the package metadata at startup. No data is transmitted or stored server‑side.

Performance & Determinism

Calculations are deterministic for identical inputs. Recomputations are debounced by ~40 ms to keep the UI responsive. Charts plot 80 logarithmically spaced points across the current distance or frequency span, giving O(n) rendering with n=80 and O(1) memory beyond series storage.

Security Considerations

  • All processing occurs locally; exported files are generated in the browser.
  • CSV exports contain numeric text only; review before sharing.
  • Values are not sanitized for HTML; avoid pasting into untrusted contexts.

Worked Example

Scenario: 2.4 GHz, 1 km, TX 20 dBm, unity gains, no extra losses; BW 20 MHz, NF 7 dB.

FSPL=32.44+20log₁₀(1)+20log₁₀(2400)=100.04 dB
RX=20100.04=80.04 dBm
N=174+10log₁₀(20×1061)+7=93.99 dBm
SNR=80.04(93.99)=13.95 dB

Assumptions & Limitations

  • Free‑space, line‑of‑sight propagation; no shadowing, diffraction or multipath fading.
  • Omnidirectional reference for EIRP; directional effects summarized via gains and losses.
  • Polarization mismatch is a single scalar loss, not frequency‑dependent.
  • Noise model uses −174 dBm/Hz at 290 K and a scalar noise figure.
  • Heads‑up Bandwidth must be >0 to yield a noise floor and SNR.
  • Heads‑up Sensitivity must be set to compute link margin.
  • Heads‑up Target RSSI is for free‑space range only; real‑world paths are shorter.

Edge Cases & Error Sources

  • Zero or negative distance or frequency makes FSPL undefined.
  • Very small distances can exaggerate numerical rounding in dB sums.
  • Unusually high gains or losses may hide mistakes in unit selection.
  • Bandwidth equal to zero yields no noise floor and thus no SNR.
  • Unset sensitivity leaves link margin undefined.
  • Mixed distance units (m vs km) alter the sweep and max‑range readout.
  • Polarization loss is additive; double‑counting with “additional loss” reduces accuracy.
  • CSV opened in a locale with comma decimals may misinterpret numbers.

Scientific & Standards Context

Equations follow the familiar Friis free‑space form with the km/MHz constant 32.44, and the thermal noise reference of −174 dBm/Hz at 290 K. Outputs use standard decibel arithmetic and dBm/dBi conventions common in RF engineering.

Privacy & Compliance

Processing is client‑side only; no measurements or inputs are transmitted or stored on a server.

Step‑by‑Step Guide:

Start with a quick scenario, then adjust details to match your link.

  1. Pick a preset or set Frequency and Distance.
  2. Enter TX Power and optional antenna gains and cable losses.
  3. Open Advanced to add Additional Loss and Pol. Mismatch if relevant.
  4. Provide Noise Figure and Noise Bandwidth to compute SNR.
  5. Enter RX Sensitivity to see link margin, or a Target RSSI for max distance.
  6. Use the Breakdown, Distance and Frequency tabs to copy or download CSV and JSON.

Warning If frequency or distance is zero, results are undefined.

Example: 915 MHz, 5 km, TX 27 dBm, 6 dBi antennas, 2 dB cables, 3 dB additional loss, NF 7 dB, BW 250 kHz. Read RX, SNR and margin, then adjust gains for headroom.

  • Copy CSV from any tab to share exact numbers.
  • Switch units (m/km, MHz/GHz, Hz/kHz/MHz) to match datasheets.
  • Use distance and frequency sweeps to visualize sensitivity trade‑offs.

FAQ:

Is my data stored?

No sign‑in and no server storage. Inputs and calculations run in your browser, and exports are generated locally.

Downloads and clipboard actions remain on the device.
How accurate is the estimate?

It models free‑space only. Buildings, foliage, earth curvature, rain fade and interference are not included. Add realistic losses and verify with on‑site measurements when coverage is critical.

Treat margins near zero cautiously.
Which units are supported?

Frequency in MHz or GHz, distance in metres or kilometres, bandwidth in Hz, kHz or MHz. Powers are dBm; gains and losses are dBi or dB as labelled.

Switch units beside each number box.
Will it work offline?

Once loaded, calculations continue without connectivity. Initial startup requires downloading the UI and chart resources.

Reloads without a network may omit charts.
How do I export results?

Use Copy or Download to get CSV for the breakdown and sweeps, and JSON for a machine‑readable snapshot of inputs and derived values.

Unset fields appear as nulls in JSON.
What does FSPL stand for?

Free‑space path loss. It is the attenuation from geometric spreading between isotropic antennas with a clear, unobstructed path.

Expressed in decibels.
How does bandwidth affect SNR?

Noise grows with bandwidth. Doubling bandwidth adds about 3 dB of noise, reducing SNR unless power or gain increases.

Set BW and NF to see the change.

Troubleshooting:

  • Numbers show as “—” → Ensure frequency and distance are positive.
  • No noise floor → Set bandwidth >0 and a realistic noise figure.
  • No link margin → Enter receiver sensitivity.
  • No max distance → Provide a target RSSI and valid frequency.
  • Charts missing → Reload after the page fully initializes.
  • Exports look wrong → Check locale decimal settings in your spreadsheet.

Advanced Tips:

  • Tip Use polarization loss to represent linear↔circular mismatches without altering gains.
  • Tip Model connectors and body loss inside “Additional Loss” for quick indoor studies.
  • Tip Narrow bandwidth to improve SNR, then verify the target data rate still meets requirements.
  • Tip Use the frequency sweep to compare sub‑GHz and microwave bands at the same path length.
  • Tip Keep at least 60 % of the first Fresnel zone clear to reduce diffraction loss.
Pro tip: build 10–20 dB of link margin for outdoor links to absorb weather and interference.

Glossary:

FSPL
Free‑space path loss, the geometric spreading attenuation.
EIRP
Effective isotropic radiated power in dBm.
RSSI
Received signal strength indication in dBm.
SNR
Signal‑to‑noise ratio, RX power minus noise floor.
Noise figure (NF)
Receiver noise contribution above thermal noise.
Fresnel zone
Ellipsoidal region whose clearance reduces diffraction loss.
dBi
Antenna gain referenced to isotropic radiator.
Sensitivity
Minimum RX power for demodulation at a target error rate.