Releases: jman4162/phased-array-systems
Releases · jman4162/phased-array-systems
v0.4.0 - Documentation & Models
What's New
New Features
- Digital array model - Digital beamforming calculations
- RF cascade model - Noise figure and gain cascade analysis
- MkDocs documentation site - Comprehensive API docs and tutorials
Improvements
- Fixed Ruff linting errors in models module
- Fixed MathJax rendering in documentation
- Updated CLAUDE.md to reflect v0.4.0 completion status
Documentation
- Added comprehensive MkDocs documentation site with:
- API reference (auto-generated from docstrings)
- User guide and tutorials
- Architecture overview
Full Changelog: v0.3.0...v0.4.0
v0.3.0 - Radar & CLI
What's New
Phase 3: Radar Detection Models
- Radar Range Equation -
RadarModelclass implementing monostatic radar equation - Detection Probability - Albersheim's equation for Pd/Pfa calculations
- Pulse Integration - Coherent and noncoherent integration gain models
- Swerling Models - Support for Swerling target fluctuation models (0-4)
- Detection Range - Automatic computation of maximum detection range
Phase 4: CLI & Report Generation
- CLI Tool (
pasys) - Full command-line interface with subcommands:pasys run <config>- Single-case evaluationpasys doe <config>- DOE batch study with LHS/random/grid samplingpasys report <results>- Generate HTML/Markdown reportspasys pareto <results>- Extract and display Pareto frontier
- HTML Reports - Styled HTML reports with summary stats, tables, and metric statistics
- Markdown Reports - Markdown reports for documentation integration
New Examples
03_radar_detection_trade.py- Complete radar detection trade study workflow
Test Coverage
- 221 tests passing
- 39 new tests for CLI and reports
- 34 new tests for radar models
Installation
pip install phased-array-systems==0.3.0CLI Usage
# Single case evaluation
pasys run config.yaml
# DOE trade study
pasys doe config.yaml -n 100 --method lhs
# Generate HTML report
pasys report results.parquet --format html
# Extract Pareto frontier
pasys pareto results.parquet -x cost_usd -y detection_range_mv0.2.0 - Sub-array Constraints
phased-array-systems v0.2.0
New Features
Power-of-Two Sub-array Constraints
Added practical RF component design constraints that enforce sub-array dimensions to be powers of two (2, 4, 8, 16, 32, etc.).
New ArrayConfig fields:
max_subarray_nx/max_subarray_ny: Maximum elements per sub-array (default: 8, must be power of 2)enforce_subarray_constraint: Enable/disable validation (default:True)
New computed properties:
subarray_nx/subarray_ny: Actual sub-array dimensionsn_subarrays_x/n_subarrays_y: Number of sub-arrays in each directionn_subarrays: Total sub-array countelements_per_subarray: Elements per sub-array
Validation Rules (when constraint enabled):
- Small arrays (
nx/ny<= max): dimensions must be powers of two - Large arrays (
nx/ny> max): must be divisible by max_subarray size - Non-rectangular geometries skip validation
- Set
enforce_subarray_constraint=Falseto disable
Example
from phased_array_systems.architecture import ArrayConfig
# Valid: 16x16 array with 8x8 sub-arrays (2x2 = 4 sub-arrays)
config = ArrayConfig(nx=16, ny=16, max_subarray_nx=8, max_subarray_ny=8)
print(config.n_subarrays) # 4
# Invalid: 10 is not a power of 2
ArrayConfig(nx=10, ny=8) # Raises ValidationError
# Disable constraint for flexibility
config = ArrayConfig(nx=10, ny=12, enforce_subarray_constraint=False)v0.1.2
v0.1.1
v0.1.0 - Initial Release
phased-array-systems v0.1.0
Initial release of the phased array antenna system design and optimization package.
Features
- Architecture Configuration: Pydantic models for array, RF chain, and cost configurations
- Communications Link Budget: EIRP, path loss, SNR, and link margin calculations
- Requirements Verification: Define and verify system requirements with pass/fail margins
- DOE Trade Studies: Latin Hypercube Sampling, grid, and random sampling methods
- Pareto Analysis: Extract and rank Pareto-optimal designs
- Batch Evaluation: Parallel evaluation with caching and progress tracking
- Visualization: Pareto plots and scatter matrices
- Config I/O: YAML/JSON configuration loading and results export (Parquet, CSV)
Installation
pip install phased-array-systemsDocumentation
See the README and example scripts in the examples/ directory.