CommCalc

Antenna · bearing & range · link budget · propagation & skip zone
📋 Basic view — just the essentials for a plan (antenna, location, path & propagation, siting card). Switch to Advanced (top right) for bearing tools, terrain, arrays, coverage and plugins.

1 · Frequency & Antenna

The only field the antenna output needs.
Advanced: ground & elevation pattern
Elevation pattern from the Fresnel ground-reflection coefficient (εc = εr − j·18000·σ/f). Real ground lifts the take-off angle above the ideal — most for verticals over poor soil. Uses the own antenna height from §4.

2 · Location — own & distant station

🔒 Locations are held only for this session and are wiped on close or inactivity — never saved to disk or presets.
4/6/8/10-figure grids accepted. Leave distant blank to just decode your own grid.
From the map margin. Converts grid → magnetic (compass) bearing.

3 · Bearing tools

Back-bearing = bearing ± 180° (± 3200 mils). NATO mil: 6400 mils = 360°.

4 · Path, horizon & link budget

Also sets the take-off angle in §1.
Link budget (optional)
Fading & reliability (planning)
Fade margin is added on top of the link budget above. Requires Tx power, frequency and Rx sensitivity.

5 · Propagation planner

Day/night is worked out from this time and your grid.
Blank = derive from distance.

14 · Sky-wave hops

A side-on view of the HF path in §5: the ray leaves your antenna at the take-off angle, refracts off the reflecting ionospheric layer (E/F1/F2, drawn at scale), and bounces back to earth once per hop. Diamonds mark the intermediate ground bounces where a multi-hop contact touches down; the dashed line is the skip distance — the nearest range a sky wave returns to, inside which lies the zone of silence. Heights and hop counts come straight from the propagation model; everything is drawn offline.

6 · Terrain line-of-sight

Samples ground elevation along the great-circle path (Open-Meteo, needs internet), corrects for 4/3 effective earth radius, and checks first-Fresnel-zone clearance for the frequency in §1. Antenna heights from §4 are added at each end.

13 · Weather & light

Sun & moon are computed on-device and work offline. The weather forecast uses Open-Meteo (needs internet; you'll be asked before your location is sent). Times shown in your device's local zone.

7 · Visualise

Uses this device's Google Maps — no API key needed. Needs internet.
Optional — click-to-place with your own Maps JavaScript API key (advanced)
Click sets:

15 · Rebroadcast (RRB) siting

Plot candidate relay / rebroadcast sites between your own and distant stations. Each site splits the path into two legs — a relay only helps when both legs close. Uses §2 grids and the §4 range; drawn offline.

The map is a north-up offline plot of the stations and candidate relays; the best candidate (★) is joined to both stations. “Relay route in Google Maps” opens the two-leg path on this device’s Google Maps (needs internet, and sends only the plotted coordinates after the one-time consent). Site coordinates are session-only — they’re wiped on close/idle and never saved to presets.

8 · Siting card

9 · Antenna array & azimuth pattern

Omnidirectional = uniform coverage; directional (Yagi/panel) = a main lobe set by its 3 dB beamwidth and front-to-back ratio. Add several antennas to model a radio that switches between arrays — the plot shows the best-of (max) coverage envelope. North is up; bearings are grid/true degrees.

10 · Coverage & rebroadcast

Each station covers a circle of the given radius (its line-of-sight / reliable planning range — see §4/§5). The heat map shows combined coverage over the area: brighter green = stronger signal, and a blue tint marks where two or more stations overlap (redundancy / hand-over). Coordinates auto-detect MGRS, OSGB or lat/long. Everything is computed offline.

11 · Plugins

No plugins loaded.
Companies and SDR vendors can extend the tool without touching core — adding antenna materials, ground types, live data feeds (e.g. an SDR) and custom panels via CIS.plugins.register(…). See PLUGINS.md. Plugins run under the same offline security policy: scripts are same-origin only, so contacting a new remote host is a deliberate, reviewed change to the CSP.

Planning aid only — verify before operational use. Antenna lengths are theoretical ¼λ cuts (length = material constant ÷ frequency in MHz); trim to resonance with an analyser/SWR meter. Bearings/ranges use the WGS84 ellipsoid (Vincenty); grid bearing uses first-order grid convergence. Confirm the grid-magnetic angle from your own map sheet. Propagation figures are typical planning values, not a live ionospheric prediction (e.g. VOACAP) — actual MUF/foF2 vary with solar activity and space weather. OSGB uses a ~few-metre Helmert transform (not OSTN15). Terrain clearance uses public elevation data — verify near-zero clearances on the ground.

Privacy & data. All calculation runs on your device. Nothing is collected, tracked, or sent anywhere unless you press a network button — and the first time you do, it asks first. Only three services are ever contacted, and only when you use them: the live map and map click send your coordinates to Google Maps; the terrain profile sends the coordinates along your path to Open-Meteo; space weather fetches indices from NOAA SWPC (no location sent). A Content-Security-Policy blocks the app from contacting anything else. Any Google Maps API key you enter is stored only in your own browser. See PRIVACY.md.

OPSEC. Entering real positions and then using the map or terrain buttons transmits those positions to a third party. For sensitive locations, keep to the offline features (which is everything else) or use notional grids.

Legal. This is a calculation and planning aid. It does not transmit on any radio frequency, control any equipment, or provide targeting. You are responsible for complying with the laws that apply to you — including radio-spectrum licensing, export/dual-use rules, data-protection law, and operational-security policy in your jurisdiction. Provided “as is”, without warranty; not legal advice. Do not use where prohibited. See SECURITY.md and the licence.