Overview
rf-interference-calculator works out where intermodulation products and
harmonics land relative to the bands you care about — then quantifies how much they
actually hurt. It spans 85 wireless bands (2G/3G, 31 LTE bands, 14 5G NR FR1 bands,
Wi-Fi 2.4/5/6E, BLE, GNSS, ISM, LoRa, HaLow, RFID, public safety, amateur) so coexistence
problems show up on paper before they show up on the bench.
The problem
In a multi-radio product, the dangerous frequencies aren’t the carriers — they’re the mixing products. Hand-calculating IMD and harmonics across several simultaneous transmitters is tedious and error-prone, and knowing a product lands in a band doesn’t tell you whether it matters. This tool automates the arithmetic and then the impact analysis.
What it does
- Products: IM2 / IM3 / IM4 / IM5 / IM7 intermodulation (including 3-tone triple-beat) plus harmonics 2H–5H, checked against all 85 bands and 34 per-band isolation pairs.
- Signal-level analysis: real interference power at the victim (e.g.
P_IM3 = 3·P_in − 2·IIP3), desensitization margins, receiver blocking (5-tier), and a unified frequency-plus-power risk score with technology-dependent thresholds. - Monte Carlo: worst-case P50 / P95 / P99 across TX power, IIP3, isolation, coupling, and temperature tolerances, with an LO phase-noise model that matters for GNSS.
- Compliance: 3GPP TS 36.101 / 38.101 and FCC spurious-emission checks with bandwidth normalization.
- Output: interactive spectrum / risk charts and CSV / Excel / JSON export.
Worked example from the docs: LTE Band 13 (777–787 MHz) → its 2nd harmonic at 1574 MHz lands right on GPS L1 (1575.42 MHz) — a textbook self-interference trap the tool flags as critical.

Tech
A Python / Streamlit web app (v2.2.0), 174 pytest tests on Python 3.10–3.12, AGPL-3.0.
Get it
Source and usage are on GitHub.