Provides analysis tools for extracting radiation pattern features from a ParabolicDish object.
More...
|
function | DishAnalyzer (in dish) |
| Constructor.
|
| function () |
| Computes the 3dB and trough-based beamwidths from a 2D pattern.
|
function | get_2d_rad_pattern (in obj, in phi, in theta_bounds, in theta_resolution) |
| Returns a 2D radiation pattern at a fixed phi cut.
|
function | get_sidelobes (in obj, in EdB, in theta_range) |
| Finds sidelobes and main lobe in a 2D pattern.
|
function | get_3d_rad_pattern (in obj, in theta_resolution, in phi_resolution) |
| Computes full 3D radiation pattern over theta and phi.
|
function | extract_2d_rad_pattern_from_3d (in obj, in EdB, in THETA, in PHI, in phi) |
| Extracts a 2D slice from a 3D radiation pattern at a given phi.
|
function | plot_2d_rad_pattern (in obj, in theta_shift, in EdB, in theta_range, in phi) |
| Plots the 2D radiation pattern (normalized)
|
function | plot_3d_rad_pattern (in obj, in dB_threshold, in EdB, in THETA, in PHI, in flip_z_flag) |
| Plots the 3D radiation pattern using a spherical projection.
|
Provides analysis tools for extracting radiation pattern features from a ParabolicDish object.
This class includes utilities to compute beamwidths, identify sidelobes, and generate 2D and 3D radiation pattern data from a given ParabolicDish instance.
◆ DishAnalyzer()
◆ extract_2d_rad_pattern_from_3d()
function extract_2d_rad_pattern_from_3d |
( |
in | obj, |
|
|
in | EdB, |
|
|
in | THETA, |
|
|
in | PHI, |
|
|
in | phi ) |
Extracts a 2D slice from a 3D radiation pattern at a given phi.
- Parameters
-
EdB | 3D pattern matrix |
THETA | Grid of theta values [rad] |
PHI | Grid of phi values [rad] |
phi | Slice angle to extract [rad] |
- Return values
-
EdB | 2D pattern slice [dB] |
theta_range | Corresponding theta array |
idx | Index of phi slice used |
◆ function()
Computes the 3dB and trough-based beamwidths from a 2D pattern.
- Parameters
-
phi | Azimuthal angle [rad] (default = 0) |
EdB | Optional 2D pattern values [dB] |
theta_range | Optional theta values [rad] |
- Return values
-
bw_3dB | Width between -3dB crossings |
bw_troughs | Width between adjacent troughs |
bw_3dB_bounds | Theta limits of 3dB beamwidth |
bw_troughs_bounds | Theta limits of trough-based beamwidth |
bw_3dB_idx | Indices of 3dB points |
bw_troughs_idx | Indices of trough points |
ml_theta | Theta of main lobe |
ml_idx | Index of main lobe peak |
◆ get_2d_rad_pattern()
function get_2d_rad_pattern |
( |
in | obj, |
|
|
in | phi, |
|
|
in | theta_bounds, |
|
|
in | theta_resolution ) |
Returns a 2D radiation pattern at a fixed phi cut.
- Parameters
-
phi | Azimuth angle [rad] (default = 0) |
theta_bounds | [min max] bounds on theta [rad] (default = [0.5pi, 1.5pi]) |
theta_resolution | Number of samples across theta (default = 500) |
- Return values
-
EdB | Normalized E-field [dB] |
Etheta | Theta-polarized E-field |
Ephi | Phi-polarized E-field |
theta_range | Array of theta values [rad] |
◆ get_3d_rad_pattern()
function get_3d_rad_pattern |
( |
in | obj, |
|
|
in | theta_resolution, |
|
|
in | phi_resolution ) |
Computes full 3D radiation pattern over theta and phi.
- Parameters
-
theta_resolution | Number of theta samples (default = 100) |
phi_resolution | Number of phi samples (default = 100) |
- Return values
-
EdB | Normalized E-field [dB] |
Etheta | Theta-polarized E-field matrix |
Ephi | Phi-polarized E-field matrix |
THETA | Meshgrid of theta values [rad] |
PHI | Meshgrid of phi values [rad] |
◆ get_sidelobes()
function get_sidelobes |
( |
in | obj, |
|
|
in | EdB, |
|
|
in | theta_range ) |
Finds sidelobes and main lobe in a 2D pattern.
- Parameters
-
EdB | Radiation pattern [dB] |
theta_range | Corresponding theta values [rad] |
- Return values
-
sl_idx | Indices of sidelobes |
sl_theta | Theta values of sidelobes |
sl_val | dB levels of sidelobes |
ml_idx | Index of main lobe |
ml_theta | Theta value of main lobe |
◆ plot_2d_rad_pattern()
function plot_2d_rad_pattern |
( |
in | obj, |
|
|
in | theta_shift, |
|
|
in | EdB, |
|
|
in | theta_range, |
|
|
in | phi ) |
Plots the 2D radiation pattern (normalized)
- Parameters
-
theta_shift | Shift applied to theta axis [rad] (default = -pi) |
EdB | Optional pattern data [dB] |
theta_range | Optional theta values [rad] |
phi | Azimuthal cut angle [rad] (default = 0) |
- Return values
-
EdB | Computed or passed-in pattern [dB] |
theta_range | Theta values [rad] |
◆ plot_3d_rad_pattern()
function plot_3d_rad_pattern |
( |
in | obj, |
|
|
in | dB_threshold, |
|
|
in | EdB, |
|
|
in | THETA, |
|
|
in | PHI, |
|
|
in | flip_z_flag ) |
Plots the 3D radiation pattern using a spherical projection.
- Parameters
-
dB_threshold | Threshold cutoff in dB (default = -60) |
EdB | Optional precomputed 3D pattern [dB] |
THETA | Optional theta meshgrid [rad] |
PHI | Optional phi meshgrid [rad] |
flip_z_flag | Optional flag to invert Z (default = no flip) |
- Return values
-
EdB | 3D pattern [dB] |
THETA | Theta meshgrid [rad] |
PHI | Phi meshgrid [rad] |
◆ dish
The documentation for this class was generated from the following file: