Planar Array Routines
Release: | 0.0.0 |
Date: | July 03, 2011 |
Module for analysis and design of (uni-directional) planar phased array
antennas.
Progress:
Just some important basic routines are done. There is much more to be done!
References
at_import
-
planar.at_import(dtype='complex')
A simple function to import a CSV text file as a Numpy ndarray
Parameter: | dtype – Data-type of the resulting array; default:complex. For further
information, see numpy.loadtxt. |
Return type: | ip, a Numpy ndarray |
at_export
-
planar.at_export(data, data_ID=False, fmt='%.4e', mode='a')
A simple function to export a Numpy ndarray as a CSV text file.
Parameters: |
- data – Numpy ndarray
- data_ID – a string to represent the data being exported
- fmt – str or sequence of strs. For more information, see
numpy.savetxt.
- mode – file opening mode, e.g., ‘w’, ‘a’, etc
|
Return type: | A CSV text file
|
ATE
-
planar.ATE(array_ip)
A simple function to evaluate the array taper efficiency (ATE).
Parameter: | array_ip – array excitation data in ‘Arraytool’ input format (see ip_format()) |
Return type: | ATE, a Numpy float |
K_norm
-
planar.K_norm(array_ip)
Function to get the normalized bore-sight slope for difference patterns.
Parameter: | array_ip – array excitation data in ‘Arraytool’ input format (see ip_format()) |
Return type: | K_norm, a Numpy float |
AF_zeros
-
planar.AF_zeros(a, M, R, dist_type, nbar=False, alpha=0)
This function gives array-factor zeros corresponding to different
types of array distributions. Unless you know what you are doing exactly,
do not use this function directly. Instead, user can use the function dist().
Parameters: |
- a – separation between the elements along the x-axis in wavelengths
- M – number of elements along the x-axis
- R – side-lobe ratio in linear scale
- dist_type – type of the distribution, e.g., ‘Dolph’ for Dolph-Chebyshev
- nbar – transition index for dilation
- alpha – Taylor’s asymptotic tapering parameter
|
Return type: | U0, a Numpy array of size (*,1)
|
A_frm_zeros
-
planar.A_frm_zeros(U0, a, M, symmetry=False)
This function gives array excitation coefficients corresponding to the
given array factor zeros. Unless you know what you are doing exactly, do not
use this function directly. Instead, user can use the function dist().
Parameters: |
- U0 – arrayfactor zeros... in the format of ‘AF_zeros’ output form
- a – separation between elements along the x-axis in wavelengths
- M – number of elements along the x-axis
- symmetry – symmetry information to simplify numerical process... even/odd/False
|
Return type: | A_tot, a Numpy array of size (1,M)
|
dist
-
planar.dist(a, M, R_x, dist_type_x, b=None, N=None, R_y=None, dist_type_y=False, mbar=False, nbar=False, alpha_x=0, alpha_y=0)
This function gives array excitation coefficients corresponding to various
array distribution types such as Dolph-Chebyshev, McNamara-Zolotarev-sum,
McNamara-Zolotarev-diff-f, McNamara-Zolotarev-diff-s, Taylor, Bayliss,
Pritchard-Chebyshev-be, Pritchard-Chebyshev-ue, etc.
Parameters: |
- a – separation between the elements along the x-axis in wavelengths
- M – number of elements along the x-axis
- R_x – side-lobe ratio in linear scale
- dist_type_x – type of the distribution, e.g., ‘Dolph’ for Dolph-Chebyshev
- mbar – transition index for dilation
- alpha_x – Taylor’s asymptotic tapering parameter
|
All other parameters are similar to the above ones ... except that they
correspond to the y-axis “principle plane” distribution.
Return type: | A_tot, a Numpy array of size (N,M) |
cutoff
-
planar.cutoff(F, dB_limit=-40)
When AF/GF/NF is 0, their dB value is ‘-infinity’. So, this function
will be used to cut-off all the value below some ‘dB_limit’.
Parameters: |
- F – F is a Numpy array (in our case, it is usually AF/GF/NF)
- dB_limit – cut-off level in dB, default value is -40
|
Return type: | a Numpy array, same size as the input parameter F
|
pattern_u
-
planar.pattern_u(array_ip, u_scan=0, u_min=-1, u_max=1, u_num=50, scale='dB', dB_limit=-40, factor='GF', plot_type='rect', lattice=False, color='b', linewidth=1, linestyle='-', alpha=1, show=True)
Function to evaluate 2D AF/GF/NF of a linear array in u-domain.
By default, this function calculates the gain-factor (GF).
Parameters: |
- array_ip – array excitation data in ‘Arraytool’ input format (see ip_format())
- u_scan – beam scan position
- u_min, u_max – limits of u-domain
- u_num – number of points between ‘u_min’ and ‘u_max’ including
boundaries
- scale – specifies the scale choice ... dB/linear
- dB_limit – cutoff limit (see cutoff())
- factor – type of pattern you need ... AF/NF/GF
- plot_type – can be rect/polar ... if False, nothing happens
- lattice – If True, highlights visible-space and lattice period in
“rect” plot mode
|
Lattice period is meaningful only if the array is “uniformly spaced”.
All other parameters are nothing but ‘Matplotlib’ parameters. These should
be familiar to ‘Matlab’ or ‘Matplotlib’ users.
Return type: | A list, [u,F] |
pattern_uv
-
planar.pattern_uv(array_ip, u_scan=0, v_scan=0, u_min=-1, u_max=1, u_num=50, v_min=-1, v_max=1, v_num=50, scale='dB', dB_limit=-40, factor='GF', plot_type='rect', mayavi_app=False)
Function to evaluate 3D AF/GF/NF of a planar array in uv-domain.
By default, this function calculates the gain-factor (GF).
Parameters: |
- array_ip – array excitation data in ‘Arraytool’ input format (see ip_format())
- u_scan, v_scan – beam scan position in uv-domain
- u_min, etc – limits of uv-domain
- u_num, v_num – number of points between ‘u_min’ and ‘u_max’ including boundaries
- scale – specifies the scale choice ... dB/linear
- dB_limit – cutoff limit (see cutoff())
- factor – type of pattern you need ... AF/NF/GF
- plot_type – can be rect/polar ... if False, nothing happens
- mayavi_app – if True, the 3D plot will be opened in the MayaVi application
|
Return type: | A list, [u,v,F]
|
pattern_tp
-
planar.pattern_tp(array_ip, tht_scan=0, phi_scan=0, tht_min=0, tht_max=3.1415926535897931, tht_num=50, phi_min=0, phi_max=6.2831853071795862, phi_num=50, scale='dB', dB_limit=-40, factor='GF', plot_type='rect', mayavi_app=False)
Function to evaluate 3D AF/GF/NF of a arbitrary 3D array in (tht, phi)-domain.
By default, this function calculates the gain-factor (GF).
Parameters: |
- array_ip – array excitation data in ‘Arraytool’ input format (see ip_format())
- tht_scan, etc – beam scan position in (tht, phi)-domain
- tht_min, etc – limits of (tht, phi)-domain
- tht_num, etc – number of points between ‘tht_min’ and ‘tht_max’ including
the boundaries
- scale – specifies the scale choice ... dB/linear
- dB_limit – cutoff limit (see cutoff())
- factor – type of pattern you need ... AF/NF/GF
- plot_type – can be rect/polar/contour ... if False, nothing happens
- mayavi_app – if True, the 3D plot will be opened in the MayaVi application
|
Return type: | A list, [tht,phi,F]
|