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

  • Will be provided later

ip_format

planar.ip_format(a, b, A, gamma=1.5707963267948966, plot=False, color='b', linewidth=1, linestyle='-', alpha=1, show=True, stem=False, stemline='g--', stemmarker='ro', mayavi_app=False)

Function to generate the ‘Arraytool’ input format.

Parameters:
  • a – separation between elements along the x-axis in wavelengths
  • b – separation between elements along the y-axis in wavelengths
  • A – visual excitation matrix
  • gamma – lattice angle in radians
  • plot – if True, produces a 2D/3D plot of the array excitation
  • stem – if True, the array excitation is plotted as ‘stem plot’
  • mayavi_app – if True, the 3D plot will be opened in the MayaVi application

All other parameters are nothing but the ‘Matplotlib’ parameters. These should be familiar to ‘Matlab’ or ‘Matplotlib’ users.

Return type:array_ip, a Numpy array of size (Number_elements(A)*4)

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]

Table Of Contents

Previous topic

A Few Examples

Next topic

Zolotarev Polynomial Related Routines

This Page