PO_matlab
DishAnalyzer Class Reference

Provides analysis tools for extracting radiation pattern features from a ParabolicDish object. More...

Public Member Functions

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.

Public Attributes

Property dish
 Handle to a ParabolicDish instance.

Detailed Description

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.

Constructor & Destructor Documentation

◆ DishAnalyzer()

function DishAnalyzer ( in dish)

Constructor.

Parameters
dishA ParabolicDish object
Here is the call graph for this function:

Member Function Documentation

◆ 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
EdB3D pattern matrix
THETAGrid of theta values [rad]
PHIGrid of phi values [rad]
phiSlice angle to extract [rad]
Return values
EdB2D pattern slice [dB]
theta_rangeCorresponding theta array
idxIndex of phi slice used

◆ function()

function ( )

Computes the 3dB and trough-based beamwidths from a 2D pattern.

Parameters
phiAzimuthal angle [rad] (default = 0)
EdBOptional 2D pattern values [dB]
theta_rangeOptional theta values [rad]
Return values
bw_3dBWidth between -3dB crossings
bw_troughsWidth between adjacent troughs
bw_3dB_boundsTheta limits of 3dB beamwidth
bw_troughs_boundsTheta limits of trough-based beamwidth
bw_3dB_idxIndices of 3dB points
bw_troughs_idxIndices of trough points
ml_thetaTheta of main lobe
ml_idxIndex of main lobe peak
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
phiAzimuth angle [rad] (default = 0)
theta_bounds[min max] bounds on theta [rad] (default = [0.5pi, 1.5pi])
theta_resolutionNumber of samples across theta (default = 500)
Return values
EdBNormalized E-field [dB]
EthetaTheta-polarized E-field
EphiPhi-polarized E-field
theta_rangeArray of theta values [rad]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_resolutionNumber of theta samples (default = 100)
phi_resolutionNumber of phi samples (default = 100)
Return values
EdBNormalized E-field [dB]
EthetaTheta-polarized E-field matrix
EphiPhi-polarized E-field matrix
THETAMeshgrid of theta values [rad]
PHIMeshgrid of phi values [rad]
Here is the caller graph for this function:

◆ get_sidelobes()

function get_sidelobes ( in obj,
in EdB,
in theta_range )

Finds sidelobes and main lobe in a 2D pattern.

Parameters
EdBRadiation pattern [dB]
theta_rangeCorresponding theta values [rad]
Return values
sl_idxIndices of sidelobes
sl_thetaTheta values of sidelobes
sl_valdB levels of sidelobes
ml_idxIndex of main lobe
ml_thetaTheta value of main lobe
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_shiftShift applied to theta axis [rad] (default = -pi)
EdBOptional pattern data [dB]
theta_rangeOptional theta values [rad]
phiAzimuthal cut angle [rad] (default = 0)
Return values
EdBComputed or passed-in pattern [dB]
theta_rangeTheta 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_thresholdThreshold cutoff in dB (default = -60)
EdBOptional precomputed 3D pattern [dB]
THETAOptional theta meshgrid [rad]
PHIOptional phi meshgrid [rad]
flip_z_flagOptional flag to invert Z (default = no flip)
Return values
EdB3D pattern [dB]
THETATheta meshgrid [rad]
PHIPhi meshgrid [rad]

Member Data Documentation

◆ dish

Property dish

Handle to a ParabolicDish instance.


The documentation for this class was generated from the following file: