System object: phased.ULA
Package: phased
Plot array pattern
pattern(sArray,FREQ)
pattern(sArray,FREQ,AZ)
pattern(sArray,FREQ,AZ,EL)
pattern(___,Name,Value)
[PAT,AZ_ANG,EL_ANG] = pattern(___)
pattern(
plots
the 3D array directivity pattern (in dBi) for the array specified
in sArray
,FREQ
)sArray
. The operating frequency is specified
in FREQ
.
pattern(
plots
the array directivity pattern at the specified azimuth angle.sArray
,FREQ
,AZ
)
pattern(
plots
the array directivity pattern at specified azimuth and elevation angles.sArray
,FREQ
,AZ
,EL
)
pattern(___,
plots the array pattern with additional options specified by one or
more Name,Value
)Name,Value
pair arguments.
returns the array pattern in [PAT,AZ_ANG,EL_ANG]
= pattern(___)PAT
. The AZ_ANG
output
contains the coordinate values corresponding to the rows of PAT
.
The EL_ANG
output contains the coordinate values
corresponding to the columns of PAT
. If the 'CoordinateSystem'
parameter
is set to 'uv'
, then AZ_ANG
contains
the U coordinates of the pattern and EL_ANG
contains
the V coordinates of the pattern. Otherwise, they
are in angular units in degrees. UV units are dimensionless.
This method replaces the plotResponse
method.
See Convert plotResponse to pattern for guidelines on
how to use pattern
in place of plotResponse
.
sArray
— Uniform linear arrayUniform linear array, specified as a phased.ULA
System
object.
Example: sArray= phased.ULA;
FREQ
— Frequency for computing directivity and patternsFrequencies for computing directivity and patterns, specified as a positive scalar or 1byL realvalued row vector. Frequency units are in hertz.
For an antenna, microphone, or sonar hydrophone or
projector element, FREQ
must lie within the range
of values specified by the FrequencyRange
or FrequencyVector
property
of the element. Otherwise, the element produces no response and the
directivity is returned as –Inf
. Most elements
use the FrequencyRange
property except for phased.CustomAntennaElement
and phased.CustomMicrophoneElement
,
which use the FrequencyVector
property.
For an array of elements, FREQ
must
lie within the frequency range of the elements that make up the array.
Otherwise, the array produces no response and the directivity is returned
as –Inf
.
Example: [1e8 2e6]
Data Types: double
AZ
— Azimuth angles[180:180]
(default)  1byN realvalued row vectorAzimuth angles for computing directivity and pattern, specified as a 1byN realvalued row vector where N is the number of azimuth angles. Angle units are in degrees. Azimuth angles must lie between –180° and 180°.
The azimuth angle is the angle between the xaxis and the projection of the direction vector onto the xy plane. When measured from the xaxis toward the yaxis, this angle is positive.
Example: [45:2:45]
Data Types: double
EL
— Elevation angles[90:90]
(default)  1byM realvalued row vectorElevation angles for computing directivity and pattern, specified as a 1byM realvalued row vector where M is the number of desired elevation directions. Angle units are in degrees. The elevation angle must lie between –90° and 90°.
The elevation angle is the angle between the direction vector and xyplane. The elevation angle is positive when measured towards the zaxis.
Example: [75:1:70]
Data Types: double
Specify optional
commaseparated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
'CoordinateSystem'
— Plotting coordinate system'polar'
(default)  'rectangular'
 'uv'
Plotting coordinate system of the pattern, specified as the
commaseparated pair consisting of 'CoordinateSystem'
and
one of 'polar'
, 'rectangular'
,
or 'uv'
. When 'CoordinateSystem'
is
set to 'polar'
or 'rectangular'
,
the AZ
and EL
arguments
specify the pattern azimuth and elevation, respectively. AZ
values
must lie between –180° and 180°. EL
values
must lie between –90° and 90°. If 'CoordinateSystem'
is
set to 'uv'
, AZ
and EL
then
specify U and V coordinates,
respectively. AZ
and EL
must
lie between 1 and 1.
Example: 'uv'
Data Types: char
'Type'
— Displayed pattern type'directivity'
(default)  'efield'
 'power'
 'powerdb'
Displayed pattern type, specified as the commaseparated pair
consisting of 'Type'
and one of
'directivity'
— directivity
pattern measured in dBi.
'efield'
— field pattern
of the sensor or array. For acoustic sensors, the displayed pattern
is for the scalar sound field.
'power'
— power pattern
of the sensor or array defined as the square of the field pattern.
'powerdb'
— power pattern
converted to dB.
Example: 'powerdb'
Data Types: char
'Normalize'
— Display normalize patterntrue
(default)  false
Display normalized pattern, specified as the commaseparated pair consisting of
'Normalize
' and a Boolean. Set this parameter to
true
to display a normalized pattern. This parameter does not
apply when you set 'Type'
to 'directivity'
.
Directivity patterns are already normalized.
Data Types: logical
'PlotStyle'
— Plotting style'overlay'
(default)  'waterfall'
'Polarization'
— Polarized field component'combined'
(default)  'H'
 'V'
Polarized field component to display, specified as the commaseparated pair consisting of
'Polarization' and 'combined'
, 'H'
, or
'V'
. This parameter applies only when the sensors are
polarizationcapable and when the 'Type'
parameter is not set to
'directivity'
. This table shows the meaning of the display
options.
'Polarization'  Display 

'combined'  Combined H and V polarization components 
'H'  H polarization component 
'V'  V polarization component 
Example: 'V'
Data Types: char
'PropagationSpeed'
— Signal propagation speedSignal propagation speed, specified as the commaseparated pair
consisting of 'PropagationSpeed'
and a positive
scalar in meters per second.
Example: 'PropagationSpeed',physconst('LightSpeed')
Data Types: double
'Weights'
— Array weightsArray weights, specified as the commaseparated pair consisting
of 'Weights
' and an Nby1 complexvalued
column vector or NbyL complexvalued
matrix. Array weights are applied to the elements of the array to
produce array steering, tapering, or both. The dimension N is
the number of elements in the array. The dimension L is
the number of frequencies specified by FREQ
.
Weights Dimension  FREQ Dimension  Purpose 

Nby1 complexvalued column vector  Scalar or 1byL row vector  Applies a set of weights for the single frequency or for all L frequencies. 
NbyL complexvalued matrix  1byL row vector  Applies each of the L columns of 'Weights' for
the corresponding frequency in FREQ . 
Use complex weights to steer the array response toward different
directions. You can create weights using the phased.SteeringVector
System
object or
you can compute your own weights. In general, you apply Hermitian
conjugation before using weights in any Phased Array
System Toolbox™ function
or System
object such as phased.Radiator
or phased.Collector
. However, for the directivity
, pattern
, patternAzimuth
,
and patternElevation
methods of any array System
object use
the steering vector without conjugation.
Example: 'Weights',ones(N,M)
Data Types: double
Complex Number Support: Yes
Create an 9element ULA of short dipole antenna elements spaced 0.2 meters apart. Display the azimuth and elevation directivities. The operating frequency is 500 MHz. Plot the directivities in polar coordinates.
Evaluate the fields at 45 degrees azimuth and 0 degrees elevation.
sSD = phased.ShortDipoleAntennaElement(... 'FrequencyRange',[50e6,1000e6],... 'AxisDirection','Z'); sULA = phased.ULA('NumElements',9,'ElementSpacing',1.5,'Element',sSD); fc = 500e6; ang = [45;0]; resp = step(sULA,fc,ang); disp(resp.V)
1.2247 1.2247 1.2247 1.2247 1.2247 1.2247 1.2247 1.2247 1.2247
Display the azimuth directivity pattern at 500 MHz for azimuth angles between 180 and 180 degrees.
c = physconst('LightSpeed'); pattern(sULA,fc,[180:180],0,... 'Type','directivity',... 'PropagationSpeed',c)
Display the elevation directivity pattern at 500 MHz for elevation angles between 90 and 90 degrees.
pattern(sULA,fc,[0],[90:90],... 'Type','directivity',... 'PropagationSpeed',c)
Create a 10element ULA antenna array consisting of cosine antenna elements spaced 10 cm apart. Display the 3D power pattern in UV space. The operating frequency is 500 MHz.
sCos = phased.CosineAntennaElement('FrequencyRange',[100e6 1e9],... 'CosinePower',[2.5,2.5]); sULA = phased.ULA('NumElements',10,... 'ElementSpacing',.1,... 'Element',sCos); c = physconst('LightSpeed'); fc = 500e6; pattern(sULA,fc,[1:.01:1],[1:.01:1],... 'CoordinateSystem','uv',... 'Type','powerdb',... 'PropagationSpeed',c)
Directivity describes the directionality of the radiation pattern of a sensor element or array of sensor elements.
Higher directivity is desired when you want to transmit more radiation in a specific direction. Directivity is the ratio of the transmitted radiant intensity in a specified direction to the radiant intensity transmitted by an isotropic radiator with the same total transmitted power
$$D=4\pi \frac{{U}_{\text{rad}}\left(\theta ,\phi \right)}{{P}_{\text{total}}}$$
where U_{rad}(θ,φ) is the radiant intensity of a transmitter in the direction (θ,φ) and P_{total} is the total power transmitted by an isotropic radiator. For a receiving element or array, directivity measures the sensitivity toward radiation arriving from a specific direction. The principle of reciprocity shows that the directivity of an element or array used for reception equals the directivity of the same element or array used for transmission. When converted to decibels, the directivity is denoted as dBi. For information on directivity, read the notes on Element Directivity and Array Directivity.
Computing directivity requires integrating the farfield transmitted radiant intensity over all directions in space to obtain the total transmitted power. There is a difference between how that integration is performed when Antenna Toolbox™ antennas are used in a phased array and when Phased Array System Toolbox antennas are used. When an array contains Antenna Toolbox antennas, the directivity computation is performed using a triangular mesh created from 500 regularly spaced points over a sphere. For Phased Array System Toolbox antennas, the integration uses a uniform rectangular mesh of points spaced 1° apart in azimuth and elevation over a sphere. There may be significant differences in computed directivity, especially for large arrays.
For antenna, microphone, and array System objects, the pattern
method
replaces the plotResponse
method. In addition,
two new simplified methods exist just to draw 2D azimuth and elevation
pattern plots. These are the azimuthPattern
and elevationPattern
methods.
The following table is a guide for converting your code from
using plotResponse
to pattern
.
You should notice that some of the inputs have changed from input
arguments to NameValue pairs and
vice versa. The general pattern
method syntax
is
pattern(H,FREQ,AZ,EL,'Name1','Value1',...,'NameN','ValueN')
plotResponse Inputs  plotResponse Description  pattern Inputs  

H argument  Antenna, microphone, or array System object.  H argument (no change)  
FREQ argument  Operating frequency.  FREQ argument (no change)  
V argument  Propagation speed. This argument is used only for arrays.  'PropagationSpeed' namevalue pair. This
parameter is only used for arrays.  
'Format' and 'RespCut' namevalue
pairs  These options work together to let you create a plot
in angle space (line or polar style) or UV space.
They also determine whether the plot is 2D or 3D. This table shows
you how to create different types of plots using

If you set  
'CutAngle' namevalue pair  Constant angle at to take an azimuth or elevation cut. When
producing a 2D plot and when 'RespCut' is set
to 'Az' or 'El' , use 'CutAngle' to
set the slice across which to view the plot.  No equivalent namevalue pair. To create a cut, specify either AZ or EL as
a scalar, not a vector.  
'NormalizeResponse' namevalue pair  Normalizes the plot. When 'Unit' is set
to 'dbi' , you cannot specify 'NormalizeResponse' .  Use the  
'OverlayFreq' namevalue pair  Plot multiple frequencies on the same 2D plot. Available only
when 'Format' is set to 'line' or 'uv' and 'RespCut' is
not set to '3D' . The value true produces
an overlay plot and the value false produces a
waterfall plot. 
The values  
'Polarization' namevalue pair  Determines how to plot polarized fields. Options are 'None' , 'Combined' , 'H' ,
or 'V' .  'Polarization' namevalue pair determines
how to plot polarized fields. The 'None' option
is removed. The options 'Combined' , 'H' ,
or 'V' are unchanged.  
'Unit' namevalue pair  Determines the plot units. Choose 'db' , 'mag' , 'pow' ,
or 'dbi' , where the default is 'db' . 
 
'Weights' namevalue pair  Array element tapers (or weights).  'Weights' namevalue pair (no change).  
'AzimuthAngles' namevalue pair  Azimuth angles used to display the antenna or array response. 
 
'ElevationAngles' namevalue pair  Elevation angles used to display the antenna or array response. 
 
'UGrid' namevalue pair  Contains U coordinates in UVspace. 
 
'VGrid' namevalue pair  Contains Vcoordinates in UVspace. 

A modified version of this example exists on your system. Do you want to open this version instead?
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.