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]