Releases: RFingAdam/RFlect
Releases · RFingAdam/RFlect
v4.1.9 — Restore Active Chamber Calibration
Version 4.1.9 (04/14/2026)
Patch release — restores the Active Chamber Calibration routine.
Bug Fixes
- Active Chamber Calibration: Tools → Active Chamber Calibration was always rejecting valid reference-antenna file pairs with
Error: The selected files have mismatched angle data., preventing chamber operators from regenerating calibration files. Regression introduced in the v4.3.0-eracheck_matching_filesrewrite, which comparedAxis1/Axis2angle headers between HPol and VPol. That check is correct for passive scans but wrong for active-cal references, where the gain-standard antenna is physically rotated 90° between polarizations (HPol measures at Axis1=0°, VPol at Axis1=90°) so the angle headers legitimately differ.
Improvements
check_matching_filesgains astrict_anglesparameter (defaultTrue, preserving all passive-scan callers). Active Chamber Calibration passesstrict_angles=Falseto allow the H/V angle offset inherent to the measurement.generate_active_cal_filenow returns a result dict with output paths and row counts so the GUI can surface meaningful feedback.- Clearer GUI feedback in the active-cal flow: the premature "…Created Successfully" log that fired before the user clicked Generate Calibration File is replaced with
Reference files validated — click 'Generate Calibration File' to produce the output.; the generate button now logs the output path, number of frequencies written, and how many frequencies were missing (e.g., outside the gain-standard's calibrated bands). Exceptions during generation are caught and logged instead of being silently swallowed by Tk.
Verification
- Regenerating a 2024 BLPA 690-2700 MHz calibration with the restored routine matches the archived 2024 cal file to 0.0000 dB across all 252 frequencies.
- 2026 reference files produce a valid cal file; 151 of 403 frequencies correctly route to the Missing Data section because they fall in the BLPA-19 gain standard's uncalibrated bands (960–1500 MHz, 1610–1710 MHz, 2170–2300 MHz gaps).
Tests
- 3 new tests in
tests/test_active_calibration.pycovering: strict-mode rejection of the active-cal pair (preserves passive-scan contract), relaxed-mode acceptance, and end-to-end cal-file generation.
Downloads
- Windows (installer):
RFlect_Installer_4.1.9.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.9.exe— standalone, no install required - Linux:
RFlect_v4.1.9_linux— standalone binary (chmod +xthen run)
v4.1.8
Version 4.1.8 (03/10/2026)
Patch release — maritime metrics, conducted power CSV, and table layout improvements.
New Features
- Per-frequency conducted power CSV: Batch processing now accepts a CSV file mapping frequency (MHz) to conducted power (dBm), enabling per-frequency efficiency calculations across bulk runs. Single-file processing continues to use the manual settings entry.
- Maritime Power Fraction: New pattern-only metric showing what percentage of total radiated power falls in the maritime band (50% = isotropic baseline). Always displayed, no conducted power required.
Improvements
- Maritime stats table: Larger fonts (13pt body, 14pt header, 16pt title), taller rows, and dynamic figure height so all rows display without manual window resizing.
- Unified maritime band math: Shared spherical-band statistics helper ensures consistent metrics across all plot surfaces and batch processing.
- Efficiency rows: Total Efficiency and Maritime Efficiency shown when conducted power is provided, alongside the new Maritime Power Fraction.
Downloads
- Windows (installer):
RFlect_Installer_4.1.8.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.8.exe— standalone, no install required - Linux:
RFlect_v4.1.8_linux— standalone binary (chmod +xthen run)
v4.1.6
Version 4.1.6 (03/04/2026)
Feature release — per-plot-type 3D colorbar scaling.
New Features
- Independent 3D colorbar scaling: Total Power/Gain, H-Pol, and V-Pol 3D plots now have separate Auto/Manual scale controls with independent Min/Max ranges. Enables consistent visual comparison across frequencies by locking each plot type to a fixed colorbar range (e.g., Total [-20, 10], H-Pol [-25, 5], V-Pol [-25, 10])
- Per-type scale UI: Both active and passive settings dialogs display a compact 3-row layout (Total / H-Pol / V-Pol) with Auto/Manual radio buttons and Min/Max entry fields per row
Improvements
- Per-type scale settings propagate through all code paths: interactive viewing, batch processing, save-to-folder, and AI chat 3D plot generation
- Config template includes per-type defaults (
AXIS_SCALE_MODE_TOTAL,AXIS_MIN_TOTAL, etc.)
Bug Fixes
- Active settings row overlap: H-Pol and V-Pol scale rows were hidden behind the maritime settings frame due to grid row collision
Downloads
- Windows (installer):
RFlect_Installer_4.1.6.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.6.exe— standalone, no install required - Linux:
RFlect_v4.1.6_linux— standalone binary (chmod +xthen run)
v4.1.5
Version 4.1.5 (02/24/2026)
Feature release — advanced RF analysis suite with 5 new analysis modules.
New Features: Advanced Antenna Analysis
- Link Budget / Range Estimation: Integrated Friis path-loss range calculator using measured antenna gain. Includes protocol presets (BLE, WiFi, LoRa, Zigbee, LTE, NB-IoT) that auto-populate Tx power and Rx sensitivity. Two-panel plot: waterfall bar chart + range-vs-azimuth polar plot with target range overlay.
- Indoor Propagation Analysis: ITU-R P.1238 indoor path loss model with ITU-R P.2040 wall penetration loss. Environment presets (Office, Residential, Hospital, etc.) auto-set path loss exponent, shadow fading, and fading model. Three-panel plot: path loss vs distance, received power heatmap, and coverage range contour.
- Multipath Fading Assessment: Rayleigh and Rician fading CDF models with Monte-Carlo pattern degradation. Four-panel plot: CDF curves, fade margin vs reliability, pattern with fading envelope (mean +/- 1 sigma), and outage probability polar map.
- Enhanced MIMO Analysis: Capacity-vs-SNR curves (SISO, 2x2 AWGN, Rayleigh, Rician), MRC/EGC/Selection combining gain comparison, and Mean Effective Gain with cross-polarization ratio (Taga model). Builds on existing ECC/diversity infrastructure.
- Wearable / Medical Device Assessment: Body-worn pattern analysis across configurable positions (wrist, chest, hip, head) using directional human shadow model. Dense device SINR estimation via Monte-Carlo random placement. SAR exposure screening with FCC/ICNIRP limits. IEEE 802.15.6 WBAN link budget.
New Features: GUI & Settings
- Scrollable settings dialogs: Active and passive settings windows now scroll to accommodate the new analysis sections
- Smart presets: Protocol dropdown auto-fills Tx power, Rx sensitivity; environment dropdown auto-fills path loss exponent, shadow fading, wall count, and fading model
- Cross-feature parameter sharing: Shared parameters (Tx power, fading model, etc.) stay consistent across analysis modules
Improvements
- Professional 3D antenna pattern plots: Shared
_setup_3d_axes()helper across all 3D routines (active TRP, passive gain, masked horizon) with equal aspect ratio, symmetric limits, and transparent grid panes - DUT orientation triad: XYZ arrow tripod anchored at the corner of the bounding box (X=green, Y=red, Z=blue) matches the physical orientation marker used in the anechoic chamber, enabling correlation between 3D plots and measured antenna position from any view angle
- 3D plot layout: Tighter figure layout with
fig.suptitle(), improved colorbar positioning, and max EIRP/gain annotation on the colorbar — consistent across all four 3D routines (active, passive, polarization, masked) - Bulk processing failure reporting: Per-job/per-file outcome tracking replaces blanket success-on-partial-failure messages
- Non-blocking update checker: Startup update check runs in a background thread — no more GUI freezes on slow networks
- Matplotlib deprecation cleanup: Replaced all deprecated
plt.get_cmap()/cm.get_cmap()calls withmatplotlib.colormaps.get_cmap()for forward compatibility - Code cleanup: Removed unused imports (
patheffects), dead utility functions inai_analysis.py, stale TODO comments, and unused variables
Bug Fixes
- Indoor propagation heatmap: Vectorised
free_space_path_loss()to accept distance arrays, fixing the indoor propagation heatmap calculation that previously failed on array inputs - Multipath fading outage plot: Outage probability calculation now correctly includes path loss; previously the fading-only CDF produced unrealistic outage values
- Shadow fading heatmap: Shadow fading sigma is now applied to the indoor propagation heatmap colourmap; previously the shadow fading parameter was accepted but had no visible effect
- Link budget margin row: Fixed hardcoded row index for the margin annotation in the link budget waterfall chart
Tests
- 448 tests collected (300 passing, 148 skipped), up from 391 in v4.1.0
- 45 new unit tests for advanced analysis functions (Friis, ITU, CDF, MIMO, wearable)
- 10 new batch failure regression integration tests
- Fixture-based parser tests replacing placeholder TODOs
- Removed 2 stale tests for deleted utility functions
Downloads
- Windows (installer):
RFlect_Installer_4.1.5.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.5.exe— standalone, no install required - Linux:
RFlect_v4.1.5_linux— standalone binary (chmod +xthen run)
v4.1.4
Version 4.1.4 (02/11/2026)
Feature release — horizon band TRP, efficiency calculations, and enhanced maritime statistics.
New Features
- Horizon TRP: Integrated radiated power over the horizon band (the "donut" between theta min/max), computed using sin(θ)-weighted numerical integration
- Full Sphere TRP: Total radiated power integrated over the entire measurement sphere for reference
- Horizon Efficiency: Percentage of total radiated power concentrated in the horizon band — the key figure of merit for maritime antennas
- 3D pattern statistics: The 3D masked horizon plot now includes an annotation box with max/min/avg, horizon TRP, full TRP, and efficiency
Improvements
- Multi-cut polar plot: Horizon statistics page now shows 3–5 polar cuts spanning the full horizon band instead of a single θ=90° cut
- Enhanced statistics table: Added Horizon TRP, Full Sphere TRP, and Horizon Efficiency rows with appropriate labels (Gain/Directivity for passive, Power/TRP for active)
- Batch processing: Disabled interactive matplotlib during batch jobs so figure windows no longer briefly pop up and interfere with queuing additional work
Downloads
- Windows (installer):
RFlect_Installer_4.1.4.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.4.exe— standalone, no install required - Linux:
RFlect_v4.1.4_linux— standalone binary (chmod +xthen run)
v4.1.3
Version 4.1.3 (02/10/2026)
Patch release — coverage threshold and horizon statistics fixes.
Bug Fixes
- Coverage threshold reference line: The -3 dB reference line in conical cuts and GOA plots was hardcoded at
y=-3on the Y-axis (meaningless for active dBm data). Now drawn relative to peak using the coverage threshold setting, and legend shows the absolute value (e.g., "-3 dB ref (17.5 dBm)") - Configurable threshold: Changing the coverage threshold setting (e.g., to -6 dB) now applies to the reference line in all maritime Cartesian plots
- MEG denominator bug: Fixed incorrect array shape reference in MEG calculation (
gain_2d.shape[1]vshorizon_gain.shape[1]) - MEG label for active data: Horizon statistics table now shows "Avg EIRP (sin-θ weighted)" for active power data instead of "MEG" which is only meaningful for passive gain
Downloads
- Windows (installer):
RFlect_Installer_4.1.3.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.3.exe— standalone, no install required - Linux:
RFlect_v4.1.3_linux— standalone binary (chmod +xthen run)
v4.1.2
Version 4.1.2 (02/10/2026)
Patch release — maritime plot title corrections.
Improvements
- Maritime plot titles: All maritime plot titles now dynamically show "Gain (dBi)" for passive or "Power (dBm)" for active measurements instead of hardcoded "Gain"
- Theta range in titles: Conical cuts and Gain/Power-over-Azimuth plots now display the theta cut range in the title
- GOA summary annotation: Added max/min/avg summary below the Gain/Power-over-Azimuth plot
- Horizon statistics title: Now includes data type and unit (e.g., "Horizon Gain Statistics @ 2400 MHz (dBi)")
- 3D masked pattern title: Now shows "3D Gain Pattern" or "3D Power Pattern" based on data type
Downloads
- Windows (installer):
RFlect_Installer_4.1.2.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.2.exe— standalone, no install required - Linux:
RFlect_v4.1.2_linux— standalone binary (chmod +xthen run)
v4.1.1
Version 4.1.1 (02/09/2026)
Patch release with 8 bug fixes for v4.1.0.
Bug Fixes
- Settings dialog crash: Added missing
SECTION_HEADER_FONTimport in dialogs_mixin — the maritime settings section crashed the entire settings dialog - HPOL/VPOL file matching: Replaced brittle
[:-4]filename slice with regex that correctly stripsAP_HPol/AP_VPolsuffixes - Matplotlib mainloop conflict: Added
plt.ion()to prevent "main thread is not in main loop" errors during passive processing - Batch processing warnings: Suppressed noisy "GUI outside main thread" and "Tight layout not applied" warnings during bulk runs
- 3D axis labels: Added white stroke outline so X/Y/Z labels are readable when occluded by the radiation pattern surface
- Mercator summary overlap: Moved gain summary annotation below X-axis labels
- Bulk settings pass-through: Maritime settings (theta min/max, cuts, gain threshold) and axis scaling now forwarded from GUI to batch routines
- Black formatting: Fixed CI formatting failures across 17 files
Downloads
- Windows (installer):
RFlect_Installer_4.1.1.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.1.exe— standalone, no install required - Linux:
RFlect_v4.1.1_linux— standalone binary (chmod +xthen run)
v4.1.0
Version 4.1.0 (02/09/2026)
Maritime antenna plots, Windows installer overhaul, and startup crash fixes.
Maritime / Horizon Antenna Visualization
- 5 new plot types for on-water and maritime antenna analysis, focusing on the horizon region (theta 60-120 deg):
- Mercator heatmap of gain vs azimuth/elevation
- Conical cuts at configurable elevation angles
- Gain-over-azimuth at horizon
- Horizon statistics table (min/max/mean gain, coverage)
- 3D radiation pattern with horizon band highlighting
- Controlled by a settings toggle (off by default) in active/passive settings dialogs
get_horizon_statistics()added to AntennaAnalyzer and MCP server- Integrated into all 4 entry points (View/Save/Bulk Passive/Bulk Active)
- Desaturation-based 3D masking (avoids depth-sort alpha artifacts)
- 45 new tests (391 total, 0 regressions)
Windows Installer Overhaul
- App icon: Smith chart icon on exe, Start Menu shortcuts, desktop shortcut, installer wizard, and uninstall entry
- No console window: Fixed
console=Truein PyInstaller spec — GUI-only withrunw.exebootloader - Upgrade handling:
UsePreviousAppDir=yesfor seamless in-place upgrades;[InstallDelete]cleans up oldRFlect_v*.exefrom pre-v4 installs - Release notes: Shown after install via
InfoAfterFile - Uninstall cleanup: Removes settings.json and assets directory
- Smaller exe: Excludes torch, tensorflow, jupyter, sklearn, and other unused packages
- Consistent naming: Release assets use
vprefix (RFlect_v4.1.0.exe,RFlect_v4.1.0_linux)
Bug Fixes
- Startup crash fix:
check_for_updatesno longer crashes whenlog_textwidget isn't ready or when network requests fail - Network error handling:
get_latest_releasecatchesRequestExceptioninstead of letting connection errors propagate - Release workflow: Fixed Inno Setup Action parameters, awk release notes extraction, and YAML parsing
Downloads
- Windows (installer):
RFlect_Installer_4.1.0.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.1.0.exe— standalone, no install required - Linux:
RFlect_v4.1.0_linux— standalone binary (chmod +xthen run)
v4.0.0
Release v4.0.0
See RELEASE_NOTES.md for full changelog.
Downloads
- Windows (installer):
RFlect_Installer_v4.0.0.exe— includes Start Menu shortcut and uninstaller - Windows (portable):
RFlect_v4.0.0.exe— standalone, no install required - Linux:
RFlect_v4.0.0_linux— standalone binary (chmod +xthen run)