Documentation Center

  • Trial Software
  • Product Updates

phased.CustomAntennaElement System object

Package: phased

Custom antenna element

Description

The phased.CustomAntennaElement object models an antenna element with a custom response pattern. The response pattern may be defined for polarized or non-polarized fields.

To compute the response of the antenna element for specified directions:

  1. Define and set up your custom antenna element. See Construction.

  2. Call step to compute the antenna response according to the properties of phased.CustomAntennaElement. The behavior of step is specific to each object in the toolbox.

Construction

H = phased.CustomAntennaElement creates a system object, H, to model an antenna element with a custom response pattern. How the response pattern is specified depends upon whether polarization is desired or not. The default pattern has an isotropic spatial response.

  • To create a nonpolarized response pattern, set the SpecifyPolarizationPattern property to false (default). Then, use the RadiationPattern property to set the response pattern.

  • To create a polarized response pattern, set the SpecifyPolarizationPattern property to true. Then, use any or all of the HorizontalMagnitudePattern, HorizontalPhasePattern, VerticalMagnitudePattern, and VerticalPhasePattern properties to set the response pattern.

The output response of the step method depends on whether polarization is set or not.

H = phased.CustomAntennaElement(Name,Value) creates a custom antenna object, H, with each specified property Name set to the specified Value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

Properties

FrequencyVector

Response and pattern frequency vector

Specify the frequencies (in Hz) at which the frequency response and antenna patterns are to be returned, as a 1-by-L row vector. The elements of the vector must be in increasing order. The antenna element has no response outside the frequency range specified by the minimum and maximum elements of the frequency vector.

Default: [0 1e20]

AzimuthAngles

Azimuth angles

Specify the azimuth angles (in degrees) as a length-P vector. These values are the azimuth angles where the custom radiation pattern is to be specified. P must be greater than 2. The azimuth angles should lie between –180 and 180 degrees and be in strictly increasing order.

Default: [-180:180]

ElevationAngles

Elevation angles

Specify the elevation angles (in degrees) as a length-Q vector. These values are the elevation angles where the custom radiation pattern is to be specified. Q must be greater than 2. The elevation angles should lie between –90 and 90 degrees and be in strictly increasing order.

Default: [-90:90]

FrequencyResponse

Frequency responses of antenna element

Specify the frequency responses in decibels measured at the frequencies defined in FrequencyVector property as a 1-by-L row vector where L must equal the length of the vector specified in the FrequencyVector property.

Default: [0 0]

SpecifyPolarizationPattern

Polarized array response

  • When the SpecifyPolarizationPattern property is set to false, nonpolarized radiation is transmitted or received by the antenna element. In this case, use the RadiationPattern property to set the antenna response pattern.

  • When the SpecifyPolarizationPattern property is set to true, polarized radiation is transmitted or received by the antenna element. In this case, use the HorizontalMagnitudePattern and HorizontalPhasePattern properties to set the horizontal polarization response pattern and the VerticalMagnitudePattern and VerticalPhasePattern properties to set the vertical polarization response pattern.

Default: false

RadiationPattern

Magnitude of combined antenna radiation pattern

The magnitude of the combined polarization antenna radiation pattern specified as a Q-by-P matrix or a Q-by-P-by-L array. This property is used only when the SpecifyPolarizationPattern property is set to false. Magnitude units are in dB.

  • If the value of this property is a Q-by-P matrix, the same pattern is applied to all frequencies specified in the FrequencyVector property.

  • If the value is a Q-by-P-by-L array, each Q-by-P page of the array specifies a pattern for the corresponding frequency specified in the FrequencyVector property.

If the pattern contains a NaN at any azimuth and elevation direction, it is converted to -Inf, indicating zero response in that direction. The custom antenna object uses interpolation to estimate the response of the antenna at a given direction. To avoid interpolation errors, the custom response pattern should contain azimuth angles in the range[–180,180] degrees. You should also set the range of elevation angles to [–90,90] degrees.

Default: A 181-by-361 matrix with all elements equal to 0 dB

HorizontalMagnitudePattern

Magnitude of horizontal polarization component of antenna radiation pattern

The magnitude of the horizontal polarization component of the antenna radiation pattern specified as a Q-by-P matrix or a Q-by-P-by-L array. This property is used only when the SpecifyPolarizationPattern property is set to true. Magnitude units are in dB.

  • If the value of this property is a Q-by-P matrix, the same pattern is applied to all frequencies specified in the FrequencyVector property.

  • If the value is a Q-by-P-by-L array, each Q-by-P page of the array specifies a pattern for the corresponding frequency specified in the FrequencyVector property.

If the magnitude pattern contains a NaN at any azimuth and elevation direction, it is converted to -Inf, indicating zero response in that direction. The custom antenna object uses interpolation to estimate the response of the antenna at a given direction. To avoid interpolation errors, the custom response pattern should contain azimuth angles in the range [–180,180]° nd elevation angles in the range [–90,90]°.

Default: A 181-by-361 matrix with all elements equal to 0 dB

HorizontalPhasePattern

Phase of horizontal polarization component of antenna radiation pattern

The phase of the horizontal polarization component of the antenna radiation pattern specified as a Q-by-P matrix or a Q-by-P-by-L array. This property is used only when the SpecifyPolarizationPattern property is set to true. Phase units are in degrees.

  • If the value of this property is a Q-by-P matrix, the same pattern is applied to all frequencies specified in the FrequencyVector property.

  • If the value is a Q-by-P-by-L array, each Q-by-P page of the array specifies a pattern for the corresponding frequency specified in the FrequencyVector property.

The custom antenna object uses interpolation to estimate the response of the antenna at a given direction. To avoid interpolation errors, the custom response pattern should contain azimuth angles in the range[–180,180]° and elevation angles in the range [–90,90]°.

Default: A 181-by-361 matrix with all elements equal to 0°

VerticalMagnitudePattern

Magnitude of vertical polarization component of antenna radiation pattern

The magnitude of the vertical polarization component of the antenna radiation pattern specified as a Q-by-P matrix or a Q-by-P-by-L array. This property is used only when the SpecifyPolarizationPattern property is set to true. Magnitude units are in dB.

  • If the value of this property is a Q-by-P matrix, the same pattern is applied to all frequencies specified in the FrequencyVector property.

  • If the value is a Q-by-P-by-L array, each Q-by-P page of the array specifies a pattern for the corresponding frequency specified in the FrequencyVector property.

If the pattern contains a NaN at any azimuth and elevation direction, it is converted to -Inf, indicating zero response in that direction. The custom antenna object uses interpolation to estimate the response of the antenna at a given direction. To avoid interpolation errors, the custom response pattern should contain azimuth angles in the range[–180,180]° and elevation angles in the range [–90,90]°.

Default: A 181-by-361 matrix with all elements equal to 0 dB

VerticalPhasePattern

Phase of vertical polarization component of antenna radiation pattern

The phase of the vertical polarization component of the antenna radiation pattern specified as a Q-by-P matrix or a Q-by-P-by-L array. This property is used only when the SpecifyPolarizationPattern property is set to true. Phase units are in degrees.

  • If the value of this property is a Q-by-P matrix, the same pattern is applied to all frequencies specified in the FrequencyVector property.

  • If the value is a Q-by-P-by-L array, each Q-by-P page of the array specifies a pattern for the corresponding frequency specified in the FrequencyVector property.

The custom antenna object uses interpolation to estimate the response of the antenna at a given direction. To avoid interpolation errors, the custom response pattern should contain azimuth angles in the range[–180,180]° and elevation angles in the range [–90,90]°.

Default: A 181-by-361 matrix with all elements equal to 0°

Methods

cloneCreate custom antenna object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
isPolarizationCapablePolarization capability
plotResponsePlot response pattern of antenna
releaseAllow property value and input characteristics changes
stepOutput response of antenna element

Examples

expand all

Response and Directivity of Custom Antenna

Create a user-defined antenna with cosine pattern, and plot an elevation cut of the antenna's power response.

The user-defined pattern is omnidirectional in the azimuth direction and has a cosine pattern in the elevation direction. Assume the antenna operates at 1 GHz. Get the response at 0 degrees azimuth and 30 degrees elevation.

ha = phased.CustomAntennaElement;
ha.AzimuthAngles = -180:180;
ha.ElevationAngles = -90:90;
ha.RadiationPattern = mag2db(repmat(cosd(ha.ElevationAngles)',...
    1,numel(ha.AzimuthAngles)));
resp = step(ha,1e9,[0;30])
resp =

    0.8660

Plot an elevation cut of the power response.

plotResponse(ha,1e9,'RespCut','El','Format','Polar');

Plot an elevation cut of the directivity.
plotResponse(ha,1e9,'RespCut','El','Format','Polar','Unit','dbi');

Antenna Radiation Pattern in U-V Coordinates

Define a custom antenna in $u-v$ space. Then, calculate and plot the response.

Define the radiation pattern (in dB) of an antenna in terms of $u$ and $v$ coordinates within the unit circle.

u = -1:0.01:1;
v = -1:0.01:1;
[u_grid,v_grid] = meshgrid(u,v);
pat_uv = sqrt(1 - u_grid.^2 - v_grid.^2);
pat_uv(hypot(u_grid,v_grid) >= 1) = 0;

Create an antenna with this radiation pattern. Convert $u-v$ coordinates to azimuth and elevation coordinates.

[pat_azel,az,el] = uv2azelpat(pat_uv,u,v);
ha = phased.CustomAntennaElement(...
    'AzimuthAngles',az,'ElevationAngles',el,...
    'RadiationPattern',pat_azel);

Calculate the response in the direction $u = 0.5$ , $v = 0$ . Assume the antenna operates at 1 GHz. The output of the step method is in linear units.

dir_uv = [0.5;0];
dir_azel = uv2azel(dir_uv);
fc = 1e9;
resp = step(ha,fc,dir_azel)
resp =

    1.1048

Plot the 3D response in UV coordinates.

plotResponse(ha,fc,'Format','UV','RespCut','3D');

Display the antenna response as a line plot in UV coordinates.

plotResponse(ha,fc,'Format','UV');

Polarized Antenna Radiation Patterns

Model a short dipole antenna oriented along the $x$ -axis of the local antenna coordinate system. For this type of antenna, the horizontal and vertical components of the electric field are given by $E_{H} =  \frac{j\omega\mu IL}{4\pi r}\sin(\mathrm{az})$ and $E_{V} =  -\frac{j\omega\mu IL}{4\pi r}\sin(\mathrm{el})\cos(\mathrm{az})$ .

Specify a normalized radiation pattern of a short dipole antenna terms of azimuth, $az$ , and elevation, $el$ , coordinates. The vertical and horizontal radiation patterns are normalized to a maximum of unity.

az = [-180:180];
el = [-90:90];
[az_grid,el_grid] = meshgrid(az,el);
horz_pat_azel = ...
    mag2db(abs(sind(az_grid)));
vert_pat_azel = ...
    mag2db(abs(sind(el_grid).*cosd(az_grid)));

Set up the antenna. Specify the SpecifyPolarizationPattern property to produce polarized radiation. In addition, set the HorizontalMagnitudePattern and VerticalMagnitudePattern properties. The HorizontalPhasePattern and VerticalPhasePattern properties take default values of zero.

ha = phased.CustomAntennaElement(...
    'AzimuthAngles',az,'ElevationAngles',el,...
    'SpecifyPolarizationPattern',true,...
    'HorizontalMagnitudePattern',horz_pat_azel,...
    'VerticalMagnitudePattern',vert_pat_azel);

Assume the antenna operates at 1 GHz.

fc = 1e9;

Display the vertical response pattern.

plotResponse(ha,fc,'Format','Polar',...
    'RespCut','3D','Polarization','V');

Display the horizontal response pattern.

plotResponse(ha,fc,'Format','Polar',...
    'RespCut','3D','Polarization','H');

The combined polarization response, shown below, best illustrates the $x$ -axis polarity of the dipole.

plotResponse(ha,fc,'Format','Polar',...
    'RespCut','3D','Polarization','C');

Algorithms

The total response of a custom antenna element is a combination of its frequency response and spatial response. phased.CustomAntennaElement calculates both responses using nearest neighbor interpolation, and then multiplies the responses to form the total response.

See Also

| | | | | | | | | |

Was this topic helpful?