Phased Array Modeling#
A comprehensive Python library for computing and visualizing phased array antenna radiation patterns.
- Getting Started
New to phased array modeling? Start with Installation and the Quickstart tutorial.
- User Guide
In-depth guides covering Array Geometries, Beamforming, Impairments, Wideband Beamforming, and Visualization.
- API Reference
Complete API Reference for all functions, classes, and modules with detailed examples.
- Cookbook
Practical recipes for Hardware Engineer Recipes, Systems Engineer Recipes, and Research Recipes.
Features#
Vectorized computation - 50-100x faster than loop-based implementations
Multiple geometries - Rectangular, triangular, circular, cylindrical, spherical, and sparse arrays
Beamforming - Amplitude tapering, null steering, multi-beam synthesis
Realistic impairments - Mutual coupling, phase quantization, element failures, scan blindness
Wideband support - True time delay (TTD), hybrid phase/TTD, beam squint analysis
Interactive visualization - 2D/3D plots with Plotly, UV-space, pattern animations
Data export - CSV, JSON, NPZ formats for integration with other tools
Quick Example#
import phased_array as pa
import numpy as np
# Create a 16x16 rectangular array with half-wavelength spacing
geom = pa.create_rectangular_array(16, 16, dx=0.5, dy=0.5)
# Compute steering weights for 30 degree scan
k = pa.wavelength_to_k(1.0)
weights = pa.steering_vector(k, geom.x, geom.y, theta0_deg=30, phi0_deg=0)
# Apply Taylor taper for -30 dB sidelobes
taper = pa.taylor_taper_2d(16, 16, sidelobe_dB=-30)
weights = weights * taper
# Compute full 3D pattern
theta, phi, pattern_dB = pa.compute_full_pattern(geom.x, geom.y, weights, k)
# Visualize
pa.plot_pattern_contour(np.rad2deg(theta), np.rad2deg(phi), pattern_dB)
Installation#
Install from PyPI:
pip install phased-array-modeling
For interactive Plotly visualizations:
pip install phased-array-modeling[plotting]