System object: phased.PartitionedArray
Package: phased
Plot partitioned array directivity, field, and power patterns
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
.
The integration used when computing array directivity has a minimum sampling grid of 0.1 degrees. If an array pattern has a beamwidth smaller than this, the directivity value will be inaccurate.
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.
Note
This method replaces the plotResponse
method.
See Convert plotResponse to pattern for
guidelines on how to use pattern
in place of plotResponse
.
sArray
— Partitioned arrayPartitioned array, specified as a phased.PartitionedArray
System object.
Example: sArray= phased.PartitionedArray;
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
Orientation
— Array orientation[0;0;0]
. (default)  3by1 realvalued column vectorArray orientation, specified as a 3by1 realvalued column vector containing the rotation angles with respect to the x, y, and zaxes of the local coordinate system, respectively.
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
ShowArray
— View array geometryfalse
(default)  true
View the array geometry along with the 3D radiation pattern, specified as
false
or true
.
Data Types: logical
ShowLocalCoordinates
— Show local coordinate axestrue
(default)  false
Show the local coordinate axes, specified as true
or false
.
Data Types: logical
ShowColorbar
— Show colorbartrue
(default)  false
Show the colorbar, specified as true
or false
.
Data Types: logical
Parent
— Handle to axisHandle to the axes along which the array geometry is displayed specified as a scalar.
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
— Subarray weightsSubarray weights, specified as the commaseparated pair consisting
of 'Weights
' and an Nby1 complexvalued
column vector or NbyM complexvalued
matrix. The dimension N is the number of subarrays
in the array. The dimension L is the number of
frequencies specified by the FREQ
argument.
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 the FREQ argument. 
Example: 'Weights',ones(N,M)
Data Types: double
SteerAngle
— Subarray steering angle[0;0]
(default)  scalar  2element column vectorSubarray steering angle, specified as the commaseparated pair
consisting of 'SteerAngle'
and a scalar or a 2by1
column vector.
If 'SteerAngle'
is a 2by1 column vector,
it has the form [azimuth; elevation]
. The azimuth
angle must be between –180° and 180°, inclusive.
The elevation angle must be between –90° and 90°,
inclusive.
If 'SteerAngle'
is a scalar, it specifies
the azimuth angle only. In this case, the elevation angle is assumed
to be 0.
This option applies only when the 'SubarraySteering'
property
of the System object is set to 'Phase'
or 'Time'
.
Example: 'SteerAngle',[20;30]
Data Types: double
ElementWeights
— Weights applied to elements within subarray1
(default)  complexvalued N_{SE}byN
matrix  1byN cell arraySubarray element weights, specified as complexvalued N_{SE}byN matrix or 1byN cell array. Weights are applied to the individual elements within a subarray. Subarrays can have different dimensions and sizes.
If ElementWeights
is a complexvalued
N_{SE}byN matrix,
N_{SE} is the number of elements in the
largest subarray and N is the number of subarrays. Each column of the
matrix specifies the weights for the corresponding subarray. Only the first
K entries in each column are applied as weights where
K is the number of elements in the corresponding subarray.
If ElementWeights
is a 1byN cell array. Each
cell contains a complexvalued column vector of weights for the corresponding subarray.
The column vectors have lengths equal to the number of elements in the corresponding
subarray.
To enable this namevalue pair, set the SubarraySteering
property of the array to 'Custom'
.
Data Types: double
Complex Number Support: Yes
Plot the azimuth response of a 4element ULA partitioned into two 2element ULA's. The element spacing is onehalf wavelength.
Create the ULA, and partition it into two 2element ULA's.
sULA = phased.ULA('NumElements',4,'ElementSpacing',0.5); sPA = phased.PartitionedArray('Array',sULA,... 'SubarraySelection',[1 1 0 0;0 0 1 1]);
Plot the azimuth response of the array. Assume the operating frequency is 1 GHz and the propagation speed is the speed of light.
fc = 1e9; pattern(sPA,fc,[180:180],0,'Type','powerdb',... 'CoordinateSystem','polar',... 'Normalize',true)
Convert a 2by6 URA of isotropic antenna elements into a 1by3 partitioned array so that each subarray of the partitioned array is a 2by2 URA. Assume that the frequency response of the elements lies between 1 and 6 GHz. The elements are spaced onehalf wavelength apart corresponding to the highest frequency of the element response. Plot an azimuth cut from 50 to 50 degrees for different two sets of weights. For partitioned arrays, weights are applied to the subarrays instead of the elements.
Create partitioned array
fmin = 1e9; fmax = 6e9; c = physconst('LightSpeed'); lam = c/fmax; sIso = phased.IsotropicAntennaElement(... 'FrequencyRange',[fmin,fmax],... 'BackBaffled',false); sURA = phased.URA('Element',sIso,'Size',[2,6],... 'ElementSpacing',[lam/2,lam/2]); subarraymap = [[1,1,1,1,0,0,0,0,0,0,0,0];... [0,0,0,0,1,1,1,1,0,0,0,0];... [0,0,0,0,0,0,0,0,1,1,1,1]]; sPA = phased.PartitionedArray('Array',sURA,... 'SubarraySelection',subarraymap);
Plot power pattern
Plot the response of the array at 5 GHz over the restricted range of azimuth angles.
fc = 5e9; wts = [[1,1,1]',[.862,1.23,.862]']; pattern(sPA,fc,[50:0.1:50],0,... 'Type','powerdb',... 'CoordinateSystem','polar',... 'Weights',wts)
The plot of the response shows the broadening of the main lobe and the reduction of the strength of the sidelobes caused by the weight tapering.
Plot directivity
Plot an azimuth cut of the directivity of the array at 5 GHz over the restricted range of azimuth angles for the two different sets of weights.
fc = 5e9; wts = [[1,1,1]',[.862,1.23,.862]']; pattern(sPA,fc,[50:0.1:50],0,... 'Type','directivity',... 'CoordinateSystem','rectangular',... 'Weights',wts)
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.
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 methods are azimuthPattern
and elevationPattern
.
The following table is a guide for converting your code from
using plotResponse
to pattern
.
Notice that some of the inputs have changed from input arguments to NameValue pairs
and conversely. 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. 

You have a modified version of this example. Do you want to open this example with your edits?
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.