Skip to content

Latest commit

 

History

243 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RFlect Logo

RFlect

The RF engineer's toolkit for antenna measurement visualization and analysis.

Version Python License Tests Docs

Documentation · Quickstart · MCP Recipes


RFlect takes raw antenna measurement data and turns it into publication-ready 2D/3D radiation pattern plots, TRP calculations, polarization analysis, and efficiency metrics — all validated against IEEE-standard methods. Whether you're characterizing a BLE chip antenna or qualifying a cellular array, RFlect handles the heavy lifting so you can focus on the engineering.

RFlect Main Window

New in v4.1

  • Advanced RF analysis suite — 5 new analysis modules: Link Budget/Range Estimation (Friis with protocol presets), Indoor Propagation (ITU-R P.1238/P.2040), Multipath Fading (Rayleigh/Rician CDF + Monte-Carlo), Enhanced MIMO (capacity curves, combining gain, MEG), and Wearable/Medical (body-worn patterns, dense device SINR, SAR screening).
  • Professional 3D antenna plots — DUT orientation triad (X=green, Y=red, Z=blue) matching the physical chamber marker, equal aspect ratio, box-edge labels that are never occluded, and consistent layout across all four 3D routines.
  • Maritime/horizon antenna plots — 5 plot types for on-water antenna analysis: Mercator heatmap, conical cuts, gain-over-azimuth, horizon statistics table, and 3D pattern with horizon band highlighting.
  • Smart presets — Protocol presets (BLE, WiFi, LoRa, Zigbee, LTE, NB-IoT) and environment presets (Office, Hospital, Industrial, etc.) auto-populate analysis parameters.
  • Non-blocking update checker — Startup update check runs in a background thread instead of blocking the GUI.
  • 448 tests — Up from 346 in v4.0, with 55+ new tests for advanced analysis, maritime plots, and batch processing.

New in v4.0

Ground-up overhaul from v3.x — new GUI, new analysis engine, new integrations, and corrected RF math throughout.

  • UWB analysis — System Fidelity Factor via cross-correlation, phase reconstruction from group delay, Touchstone .s2p support, transfer function extraction, and impulse response characterization.
  • Modern dark GUI — Complete visual redesign with dark ttk theme, color-coded log output, keyboard shortcuts (Ctrl+R/F5), and WCAG AA contrast compliance.
  • Zero-dependency, deterministic — No LLM, no API key, no subscription (the in-app AI was removed in v5.0.0). Every metric is computed and reproducible.
  • MCP server with 41 tools — Programmatic antenna analysis for Claude Code and other MCP clients, including comparison, S11/VSWR, group delay, link budget, MIMO diversity, active-cal, and UWB characterization. Cross-platform (Linux/macOS/Windows).

See RELEASE_NOTES.md for the full changelog.

Quick Start

Windows: Grab RFlect_Installer_vX.X.X.exe or the standalone RFlect_vX.X.X.exe from the latest release.

Linux: Download RFlect_vX.X.X_linux from the latest release, then chmod +x and run.

From source:

git clone https://github.com/RFingAdam/RFlect.git
cd RFlect
python -m venv .venv && source .venv/bin/activate  # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
python run_rflect.py

What It Handles

Scan Type Input Format What You Get
Active TRP WTL .txt (V5.02/V5.03) TRP, H/V power, 2D/3D radiation patterns
Passive Gain WTL HPOL + VPOL .txt pairs Total/H/V gain, efficiency, directivity
S-Parameters Copper Mountain .csv S11, VSWR, return loss with limit lines
Group Delay 2-port VNA .csv, Touchstone .s2p Group delay vs frequency, peak-to-peak, distance error
UWB Analysis S2VNA .csv, Touchstone .s2p SFF, transfer function, impulse response, impedance BW
CST Far-Field .txt simulation files ECC, fidelity factor, group delay

Usage

  1. Select scan type — Active, Passive, or VNA
  2. Adjust settings — cable loss, limit lines, frequency range, 3D scale
  3. Import your files via the Import button or Ctrl+O
  4. View results — plots render automatically; hit Ctrl+R to reprocess

Passive Settings Dialog

Example Results (click to expand)

Passive Measurements

G&D Comparison — Efficiency, gain, and directivity across multiple scans: G&D Results

HPOL/VPOL 1D — Efficiency and total gain vs frequency: Passive 1D

2D Azimuth Cuts — Gain pattern across theta angles: Passive 2D

Datasheet Plots — Peak gain per polarization, polar cuts at key planes: Datasheet 1D Datasheet 2D

3D Radiation Patterns — Total gain with turbo colormap: Passive 3D

Active TRP Measurements

Active 2D Active Datasheet

VNA / S-Parameters

VNA Results

Group Delay Analysis: Group Delay

Key Features

  • Polarization Analysis — Axial ratio, tilt angle, XPD, and polarization sense (LHCP/RHCP) from HPOL/VPOL data with interactive and batch export modes
  • Batch Processing — Process an entire folder of HPOL/VPOL pairs or TRP files automatically, with organized per-pair output
  • Report Generation — Export DOCX reports with embedded plots, measurement summaries, and deterministic data-driven prose (or narrative authored by the driving MCP agent)
  • 3D Visualization — Perceptually uniform turbo colormap, transparent panes, coordinate axes, and manual or auto Z-axis scaling

Zero-dependency, MCP-driven (v5.0.0)

RFlect makes no outbound LLM/API calls and needs no API key or subscription. It is a deterministic RF analysis + rendering toolkit. When driven over MCP, the AI agent is the LLM: it calls RFlect's tools for data and — if a report needs narrative prose — authors it itself and passes it to generate_report. Everything RFlect computes is reproducible, not generated.

See MCP_STATUS.md for the full tool inventory.

MCP Server

RFlect ships with an MCP server — 41 tools that let an AI agent like Claude Code import your measurements, run analysis, compare antennas, estimate link budgets, generate reports, and perform UWB/MIMO characterization programmatically. No GUI required.

See rflect-mcp/README.md for setup and the full tool reference.

Project Structure

RFlect/
  plot_antenna/           # Core application
    gui/                  #   GUI mixins (callbacks, tools, dialogs, AI chat)
    ai_analysis.py        #   RF analysis engine (gain stats, pattern, polarization)
    calculations.py       #   TRP, passive gain, efficiency computations
    file_utils.py         #   WTL/VNA file parsers
    plotting.py           #   2D/3D matplotlib rendering
    uwb_analysis.py       #   UWB analysis (SFF, transfer function, Touchstone)
    uwb_plotting.py       #   UWB-specific plot functions
    llm_provider.py       #   Multi-provider LLM abstraction
    api_keys.py           #   Secure key storage (keyring + Fernet)
    save.py               #   DOCX report generation
  rflect-mcp/             # MCP server for programmatic access
  tests/                  # 450 tests (pytest)

Development

pip install -r requirements-dev.txt
python -m pytest tests/                    # run tests
pyinstaller RFlect.spec                    # build exe

See CONTRIBUTING.md for coding standards, architecture details, and how to get involved.

License

AGPL-3.0-or-later

Relicensed from GPL-3.0 to AGPL-3.0-or-later to match the rest of the RF/EMC engineering toolkit's licensing policy — see eng-mcp-suite's licensing summary for the rationale.

About

Professional antenna visualization software supporting active/passive chamber measurements and VNA S-parameters. Features 2D/3D gain patterns, efficiency analysis, TRP plotting, group delay, and S11/VSWR analysis. GUI-based tool for antenna engineers.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages