phased-array-modeling 1.2.0__tar.gz → 1.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. {phased_array_modeling-1.2.0/phased_array_modeling.egg-info → phased_array_modeling-1.3.1}/PKG-INFO +16 -2
  2. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/README.md +10 -1
  3. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/__init__.py +75 -19
  4. phased_array_modeling-1.3.1/phased_array/beamforming.py +1436 -0
  5. phased_array_modeling-1.3.1/phased_array/coordinates.py +484 -0
  6. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/core.py +79 -5
  7. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/export.py +23 -0
  8. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/geometry.py +413 -5
  9. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/impairments.py +377 -0
  10. phased_array_modeling-1.3.1/phased_array/polarization.py +533 -0
  11. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/utils.py +22 -0
  12. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/visualization.py +27 -0
  13. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array/wideband.py +53 -0
  14. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1/phased_array_modeling.egg-info}/PKG-INFO +16 -2
  15. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array_modeling.egg-info/SOURCES.txt +4 -0
  16. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array_modeling.egg-info/requires.txt +5 -0
  17. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/pyproject.toml +7 -1
  18. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/tests/test_beamforming.py +169 -0
  19. phased_array_modeling-1.3.1/tests/test_coordinates.py +163 -0
  20. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/tests/test_geometry.py +113 -0
  21. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/tests/test_impairments.py +112 -0
  22. phased_array_modeling-1.3.1/tests/test_polarization.py +227 -0
  23. phased_array_modeling-1.2.0/phased_array/beamforming.py +0 -707
  24. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/LICENSE +0 -0
  25. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array_modeling.egg-info/dependency_links.txt +0 -0
  26. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/phased_array_modeling.egg-info/top_level.txt +0 -0
  27. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/setup.cfg +0 -0
  28. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/tests/test_core.py +0 -0
  29. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/tests/test_export.py +0 -0
  30. {phased_array_modeling-1.2.0 → phased_array_modeling-1.3.1}/tests/test_wideband.py +0 -0
@@ -1,10 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: phased-array-modeling
3
- Version: 1.2.0
3
+ Version: 1.3.1
4
4
  Summary: Comprehensive Python library for phased array antenna modeling and visualization
5
5
  Author-email: John Hodge <jah70@vt.edu>
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://github.com/jman4162/Phased-Array-Antenna-Model
8
+ Project-URL: Documentation, https://phased-array-antenna-model.readthedocs.io/
8
9
  Project-URL: Repository, https://github.com/jman4162/Phased-Array-Antenna-Model
9
10
  Project-URL: Issues, https://github.com/jman4162/Phased-Array-Antenna-Model/issues
10
11
  Keywords: phased array,antenna,beamforming,radar,electromagnetics,array factor,radiation pattern
@@ -37,6 +38,10 @@ Requires-Dist: pytest>=7.0.0; extra == "dev"
37
38
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
38
39
  Requires-Dist: plotly>=5.0.0; extra == "dev"
39
40
  Requires-Dist: seaborn>=0.11.0; extra == "dev"
41
+ Provides-Extra: docs
42
+ Requires-Dist: sphinx>=7.0.0; extra == "docs"
43
+ Requires-Dist: pydata-sphinx-theme>=0.14.0; extra == "docs"
44
+ Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
40
45
  Dynamic: license-file
41
46
 
42
47
  # Phased Array Antenna Modeling
@@ -48,6 +53,7 @@ Dynamic: license-file
48
53
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
49
54
  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/jman4162/Phased-Array-Antenna-Model/blob/main/Phased_Array_Demo.ipynb)
50
55
  [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://phased-array-antenna-model.streamlit.app/)
56
+ [![Documentation](https://readthedocs.org/projects/phased-array-antenna-model/badge/?version=latest)](https://phased-array-antenna-model.readthedocs.io/en/latest/)
51
57
 
52
58
  A comprehensive Python library for computing and visualizing phased array antenna radiation patterns. Features **125x faster** vectorized computations, multiple array geometries, advanced beamforming, and interactive 3D visualization.
53
59
 
@@ -198,7 +204,15 @@ fig.show()
198
204
 
199
205
  ## Documentation
200
206
 
201
- For comprehensive documentation, see the [demo notebook](Phased_Array_Demo.ipynb) which covers:
207
+ **[Full Documentation on ReadTheDocs](https://phased-array-antenna-model.readthedocs.io/)** includes:
208
+
209
+ - **Getting Started**: Installation, quickstart guide, core concepts
210
+ - **User Guides**: Detailed tutorials for geometry, beamforming, impairments, wideband, and visualization
211
+ - **API Reference**: Complete reference for all functions with examples
212
+ - **Cookbook**: Practical recipes for hardware engineers, systems engineers, and researchers
213
+ - **Theory Background**: Mathematical foundations for array analysis
214
+
215
+ For hands-on learning, see the [demo notebook](Phased_Array_Demo.ipynb) which covers:
202
216
 
203
217
  1. Basic array factor computation
204
218
  2. Beam steering
@@ -7,6 +7,7 @@
7
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
8
  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/jman4162/Phased-Array-Antenna-Model/blob/main/Phased_Array_Demo.ipynb)
9
9
  [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://phased-array-antenna-model.streamlit.app/)
10
+ [![Documentation](https://readthedocs.org/projects/phased-array-antenna-model/badge/?version=latest)](https://phased-array-antenna-model.readthedocs.io/en/latest/)
10
11
 
11
12
  A comprehensive Python library for computing and visualizing phased array antenna radiation patterns. Features **125x faster** vectorized computations, multiple array geometries, advanced beamforming, and interactive 3D visualization.
12
13
 
@@ -157,7 +158,15 @@ fig.show()
157
158
 
158
159
  ## Documentation
159
160
 
160
- For comprehensive documentation, see the [demo notebook](Phased_Array_Demo.ipynb) which covers:
161
+ **[Full Documentation on ReadTheDocs](https://phased-array-antenna-model.readthedocs.io/)** includes:
162
+
163
+ - **Getting Started**: Installation, quickstart guide, core concepts
164
+ - **User Guides**: Detailed tutorials for geometry, beamforming, impairments, wideband, and visualization
165
+ - **API Reference**: Complete reference for all functions with examples
166
+ - **Cookbook**: Practical recipes for hardware engineers, systems engineers, and researchers
167
+ - **Theory Background**: Mathematical foundations for array analysis
168
+
169
+ For hands-on learning, see the [demo notebook](Phased_Array_Demo.ipynb) which covers:
161
170
 
162
171
  1. Basic array factor computation
163
172
  2. Beam steering
@@ -32,19 +32,26 @@ Example
32
32
  >>> theta, phi, pattern_dB = pa.compute_full_pattern(geom.x, geom.y, weights, k)
33
33
  """
34
34
 
35
- __version__ = "1.2.0"
35
+ __version__ = "1.3.1"
36
36
 
37
37
  # Beamforming functions
38
- from .beamforming import ( # Amplitude tapers; Null steering; Multiple beams
39
- apply_taper_to_geometry, chebyshev_taper_1d, chebyshev_taper_2d,
40
- compute_beam_isolation, compute_null_depth, compute_taper_directivity_loss,
41
- compute_taper_efficiency, cosine_on_pedestal_taper_1d,
42
- cosine_on_pedestal_taper_2d, cosine_taper_1d, cosine_taper_2d,
43
- gaussian_taper_1d, gaussian_taper_2d, hamming_taper_1d, hamming_taper_2d,
44
- hanning_taper_1d, hanning_taper_2d, monopulse_weights,
38
+ from .beamforming import ( # Amplitude tapers; Null steering; Multiple beams; Beam spoiling; Adaptive
39
+ adaptive_weights_gsc, adaptive_weights_smi, apply_taper_to_geometry,
40
+ chebyshev_taper_1d, chebyshev_taper_2d, compute_beam_isolation,
41
+ compute_null_depth, compute_sinr_improvement, compute_spoil_factor,
42
+ compute_taper_directivity_loss, compute_taper_efficiency,
43
+ cosine_on_pedestal_taper_1d, cosine_on_pedestal_taper_2d, cosine_taper_1d,
44
+ cosine_taper_2d, gaussian_taper_1d, gaussian_taper_2d, hamming_taper_1d,
45
+ hamming_taper_2d, hanning_taper_1d, hanning_taper_2d, monopulse_weights,
45
46
  multi_beam_weights_orthogonal, multi_beam_weights_superposition,
46
- null_steering_lcmv, null_steering_projection, taylor_taper_1d,
47
- taylor_taper_2d)
47
+ null_steering_lcmv, null_steering_projection, plot_adapted_pattern,
48
+ quadratic_phase_spoil, spoiled_beam_gain, spoiled_beamwidth,
49
+ taylor_taper_1d, taylor_taper_2d)
50
+ # Coordinate transformation functions
51
+ from .coordinates import (antenna_to_cone, antenna_to_radar, cone_to_antenna,
52
+ radar_to_antenna, rotate_pattern,
53
+ rotation_matrix_pitch, rotation_matrix_roll,
54
+ rotation_matrix_yaw)
48
55
  # Core computation functions
49
56
  from .core import (array_factor_fft, array_factor_uv, array_factor_vectorized,
50
57
  compute_directivity, compute_full_pattern,
@@ -59,21 +66,29 @@ from .export import (export_array_config_json, export_coupling_matrix_csv,
59
66
  export_weights_csv, load_pattern_npz)
60
67
  # Geometry classes and functions
61
68
  from .geometry import (ArrayGeometry, SubarrayArchitecture,
62
- array_factor_conformal, compute_subarray_weights,
63
- create_circular_array, create_concentric_rings_array,
64
- create_cylindrical_array, create_elliptical_array,
69
+ array_factor_conformal, compute_overlapped_pattern,
70
+ compute_subarray_weights, create_circular_array,
71
+ create_concentric_rings_array, create_cylindrical_array,
72
+ create_elliptical_array, create_overlapped_subarrays,
65
73
  create_rectangular_array, create_rectangular_subarrays,
66
74
  create_spherical_array, create_triangular_array,
67
- thin_array_density_tapered,
75
+ overlapped_subarray_weights, thin_array_density_tapered,
68
76
  thin_array_genetic_algorithm, thin_array_random)
69
77
  # Impairment models
70
- from .impairments import ( # Mutual coupling; Phase quantization; Element failures; Scan blindness
71
- active_element_pattern, analyze_graceful_degradation,
78
+ from .impairments import ( # Mutual coupling; Phase quantization; Element failures; Scan blindness; Active impedance
79
+ active_element_pattern, active_impedance, active_reflection_coefficient,
80
+ active_scan_impedance_matrix, analyze_graceful_degradation,
72
81
  analyze_quantization_effect, apply_mutual_coupling, apply_scan_blindness,
73
- compute_scan_loss, mutual_coupling_matrix_measured,
82
+ compute_scan_loss, mismatch_loss, mutual_coupling_matrix_measured,
74
83
  mutual_coupling_matrix_theoretical, quantization_rms_error,
75
84
  quantization_sidelobe_increase, quantize_phase, scan_blindness_model,
76
- simulate_element_failures, surface_wave_scan_angle)
85
+ simulate_element_failures, surface_wave_scan_angle, vswr_vs_scan)
86
+ # Polarization functions
87
+ from .polarization import (axial_ratio, co_pol_pattern,
88
+ cross_pol_discrimination, cross_pol_pattern,
89
+ jones_vector, ludwig3_decomposition,
90
+ polarization_loss_factor, stokes_parameters,
91
+ tilt_angle)
77
92
  # Utility functions
78
93
  from .utils import (azel_to_thetaphi, create_theta_phi_grid, create_uv_grid,
79
94
  db_to_linear, deg2rad, frequency_to_k,
@@ -143,7 +158,11 @@ __all__ = [
143
158
  "create_rectangular_subarrays",
144
159
  "compute_subarray_weights",
145
160
  "array_factor_conformal",
146
- # Beamforming
161
+ # Geometry - Overlapped subarrays
162
+ "create_overlapped_subarrays",
163
+ "overlapped_subarray_weights",
164
+ "compute_overlapped_pattern",
165
+ # Beamforming - Amplitude tapers
147
166
  "taylor_taper_1d",
148
167
  "taylor_taper_2d",
149
168
  "chebyshev_taper_1d",
@@ -161,13 +180,25 @@ __all__ = [
161
180
  "compute_taper_efficiency",
162
181
  "compute_taper_directivity_loss",
163
182
  "apply_taper_to_geometry",
183
+ # Beamforming - Null steering
164
184
  "null_steering_projection",
165
185
  "null_steering_lcmv",
166
186
  "compute_null_depth",
187
+ # Beamforming - Multi-beam
167
188
  "multi_beam_weights_superposition",
168
189
  "multi_beam_weights_orthogonal",
169
190
  "compute_beam_isolation",
170
191
  "monopulse_weights",
192
+ # Beamforming - Beam spoiling
193
+ "quadratic_phase_spoil",
194
+ "compute_spoil_factor",
195
+ "spoiled_beam_gain",
196
+ "spoiled_beamwidth",
197
+ # Beamforming - Adaptive (SMI/GSC)
198
+ "adaptive_weights_smi",
199
+ "adaptive_weights_gsc",
200
+ "compute_sinr_improvement",
201
+ "plot_adapted_pattern",
171
202
  # Impairments
172
203
  "mutual_coupling_matrix_theoretical",
173
204
  "mutual_coupling_matrix_measured",
@@ -183,6 +214,12 @@ __all__ = [
183
214
  "scan_blindness_model",
184
215
  "apply_scan_blindness",
185
216
  "compute_scan_loss",
217
+ # Impairments - Active impedance/VSWR
218
+ "active_reflection_coefficient",
219
+ "active_impedance",
220
+ "vswr_vs_scan",
221
+ "mismatch_loss",
222
+ "active_scan_impedance_matrix",
186
223
  # Visualization
187
224
  "plot_pattern_2d",
188
225
  "plot_pattern_polar",
@@ -222,4 +259,23 @@ __all__ = [
222
259
  "plot_pattern_vs_frequency",
223
260
  "plot_pattern_vs_frequency_plotly",
224
261
  "plot_subarray_delays",
262
+ # Polarization
263
+ "jones_vector",
264
+ "stokes_parameters",
265
+ "axial_ratio",
266
+ "tilt_angle",
267
+ "cross_pol_discrimination",
268
+ "polarization_loss_factor",
269
+ "co_pol_pattern",
270
+ "cross_pol_pattern",
271
+ "ludwig3_decomposition",
272
+ # Coordinates
273
+ "antenna_to_radar",
274
+ "radar_to_antenna",
275
+ "antenna_to_cone",
276
+ "cone_to_antenna",
277
+ "rotation_matrix_roll",
278
+ "rotation_matrix_pitch",
279
+ "rotation_matrix_yaw",
280
+ "rotate_pattern",
225
281
  ]