Main Content

patternFromSlices

Reconstruct approximate 3-D radiation pattern from two orthogonal slices

Description

example

patternFromSlices(vertislice,theta,horizslice,phi) plots the approximate 3-D pattern reconstructed from the input data containing the 2-D pattern along the vertical and horizontal plane as well as the polar and azimuthal angles in the spherical coordinates.

example

patternFromSlices(vertislice,theta,horizslice) plots the approximate 3-D pattern with the horizontal slice provided as a real-valued scalar. The syntax assumes that the antenna is omnidirectional with symmetry about the Z-axis.

patternFromSlices(vertislice,theta) plots the approximate 3-D pattern reconstructed from only vertical pattern data, assuming of azimuthal omni directionality and that horizontal pattern data is equal to maximum value of vertical pattern data.

[pat3D,thetaout,phiout] = patternFromSlices(___) returns the reconstructed pattern as a matrix with the vectors of phi and theta.

[___] = patternFromSlices(___,Name=Value) specifies options using one or more name-value arguments in addition to any of the input argument combinations in previous syntaxes. For example, you can specify the customization and tuning options to the pattern reconstruction method.

Examples

collapse all

Load the MAT file containing the data of the dipole pattern.

load dipoleAntennaSlices.mat

Reconstruct the pattern from the data provided using the CrossWeighted algorithm and pattern plot options.

p = PatternPlotOptions(Transparency=0.6);
patternFromSlices(vertSlice,theta,horizSlice,phi,Method="CrossWeighted",PatternOptions=p)

Load the MAT file containing the data of the sector antenna pattern.

load sectorAntennaSlices.mat

Reconstruct the pattern from the data provided using the Summing algorithm.

 patternFromSlices(vertSlice,theta,horizSlice,phi,Method="Summing")

 [pat3D,thetaout,phiout] = patternFromSlices(vertSlice,theta,horizSlice,phi,Method="Summing");
 pat3D = pat3D(1:5)
pat3D = 1×5

  -23.2025  -23.2071  -23.2224  -23.2485  -23.2854

 thetaout = thetaout(1:5)
thetaout = 1×5

   180   179   178   177   176

 phiout = phiout(1:5)
phiout = 1×5

  -180  -179  -178  -177  -176

Input Arguments

collapse all

Required Input Arguments

2-D pattern slice data along the vertical or the elevation plane, specified as a real-valued vector with each element unit in dBi. This parameter need not be normalized. numel(vertislice) must be equal to numel(theta).

Data Types: double

Polar or inclination angles in spherical coordinates, specified as a real-valued vector with each element unit in degrees.

Note

θ=90el

el is the elevation angle.

Data Types: double

Optional Input Arguments

2-D pattern slice data along the horizontal or the azimuthal plane, specified as a real-valued scalar in dBi or a real-valued vector with each element unit in dBi.

  • If the value is a vector, then numel(horizslice) must be equal to numel(phi).

  • If the value is a scalar, then the antenna is omnidirectional if the scalar value is used for all angles in the azimuthal plane.

  • If no value is provided, then the antenna is omnidirectional and the default value (for the entire azimuthal slice) is set equal to the maximum directivity or gain of the elevation slice.

Data Types: double

Azimuthal angles in the spherical coordinates, specified as a real-valued vector with each element unit in degrees. If this argument is not provided:

  • The antenna is assumed omnidirectional with symmetry about the Z-axis or azimuthal symmetry.

  • The default values used are: phi = 0:5:360.

Data Types: double

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: Method="Summing"

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'Method','Summing'

Approximate interpolation algorithm to perform reconstruction, specified as either "Summing" or "CrossWeighted".

Example: "CrossWeighted"

Data Types: string

Normalization parameter for cross-weighted summing method, specified as a real-valued positive scalar. As this parameter increases, the pattern reconstruction becomes a pessimistic approximation of the estimated directivity or gain. As this parameter decreases, the pattern reconstruction becomes an optimistic approximation of the estimated directivity or gain.

Example: 2

Data Types: double

Parameter to change pattern plot properties, specified as a PatternPlotOptions object. The properties of PatternPlotOptions object that you can vary are:

  • Transparency

  • MagnitudeScale

Other properties used in the PatternOptions for the inset figure are ignored in patternCustom.

Output Arguments

collapse all

Matrix of reconstructed 3-D pattern, returned as an N-by-M real-valued array. The number of rows in the matrix corresponds to the number of phi elements in dBi. The number of columns in the matrix corresponds to the number of theta elements in dBi.

Polar inclination angle, returned as an M-element real-valued vector in degrees. The returned value is for the subset of input data for the chosen reconstructed method.

Azimuthal angle, returned as an N-element real-valued vector in degrees. The returned value is for the subset of input data for the chosen reconstructed method.

Limitations

  • The summing method does not always reliably approximate the 3-D pattern in the backplane. It works effectively for the azimuthally omnidirectional patterns, as the front plane and the backplane are symmetrical about the z-axis.

  • The cross-weighted method can be used to approximate the 3-D pattern in both the front plane and backplane, but the accuracy or robustness is typically best for the main radiation lobe in the front plane.

  • Both the summing and the cross-weighted methods do not utilize vertical pattern slice data from the backplane (that is theta ≥ 180°). If you provide backplane vertical slice and theta data, the patternFromSlices function discards it. However, the patternFromSlices function uses all the horizontal pattern and front plane vertical pattern slice data.

More About

collapse all

Summing

The summing approximation or interpolation algorithm performs:

G(ϕ,θ)=GH(ϕ)+GV(θ)

where, GH(ϕ) and GV(θ) are the normalized 2-D pattern cut data in dBi.

Cross-Weighted

The cross-weighted approximation or interpolation algorithm performs:

GH(ϕ,θ)=GH(ϕ)w1+GV(θ)w2w1k+w2kk

where,

  • {w1(ϕ,θ)=vert(θ)[1hor(ϕ)]w2(ϕ,θ)=hor(ϕ)[1vert(θ)]

  • GH(ϕ) and GV(θ) are normalized 2-D pattern cut data in dBi.

  • hor(ϕ) and vert(θ) are normalized in linear units.

  • k is the normalization parameter.

References

[1] Makarov, Sergey N. Antenna and Em Modeling in MATLAB. Chapter3, Sec 3.4 3.8. Wiley Inter-Science.

[2] Balanis, C.A. Antenna Theory, Analysis and Design, Chapter 2, sec 2.3-2.6, Wiley.

[3] T. G. Vasiliadis, A. G. Dimitriou and G. D. Sergiadis, "A novel technique for the approximation of 3-D antenna radiation patterns," in IEEE Transactions on Antennas and Propagation, July 2005, vol. 53, no. 7: pp. 2212-2219.

[4] N. R. Leonor, R. F. S. Caldeirinha, M. G. Sánchez and T. R. Fernandes, "A Three-Dimensional Directive Antenna Pattern Interpolation Method," in IEEE Antennas and Wireless Propagation Letters, 2016, vol. 15, pp. 881-884.

Version History

Introduced in R2019a