pattern
System object: phased.ReplicatedSubarray
Namespace: phased
Plot replicated subarray directivity and patterns
Syntax
pattern(sArray,FREQ)
pattern(sArray,FREQ,AZ)
pattern(sArray,FREQ,AZ,EL)
pattern(___,Name,Value)
[PAT,AZ_ANG,EL_ANG] = pattern(___)
Description
pattern(
plots
the 3-D 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
.
Input Arguments
sArray
— Replicated subarray
System object™
Replicated subarray, specified as a phased.ReplicatedSubarray
System object.
Example: sArray= phased.ReplicatedSubarray;
FREQ
— Frequency for computing directivity and patterns
positive scalar | 1-by-L real-valued row vector
Frequencies for computing directivity and patterns, specified as a positive scalar or 1-by-L real-valued 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 theFrequencyRange
orFrequencyVector
property of the element. Otherwise, the element produces no response and the directivity is returned as–Inf
. Most elements use theFrequencyRange
property except forphased.CustomAntennaElement
andphased.CustomMicrophoneElement
, which use theFrequencyVector
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) | 1-by-N real-valued row vector
Azimuth angles for computing directivity and pattern, specified as a 1-by-N real-valued 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 x-axis and the projection of the direction vector onto the xy plane. When measured from the x-axis toward the y-axis, this angle is positive.
Example: [-45:2:45]
Data Types: double
EL
— Elevation angles
[-90:90]
(default) | 1-by-M real-valued row vector
Elevation angles for computing directivity and pattern, specified as a 1-by-M real-valued 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 xy-plane. The elevation angle is positive when measured towards the z-axis.
Example: [-75:1:70]
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.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
CoordinateSystem
— Plotting coordinate system
'polar'
(default) | 'rectangular'
| 'uv'
Plotting coordinate system of the pattern, specified as the
comma-separated 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 comma-separated 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) | 3-by-1 real-valued column vector
Array orientation, specified as a 3-by-1 real-valued column vector containing three rotation angles. The three angles define orthogonal rotations with respect to the x-, y-, and z-axes of the local coordinate system. To create the full orientation matrix, the orthogonal rotations are applied in this order:
a rotation around the positive x-axis by the angle θx.
a rotation around the positive y-axis by the angle θy.
a rotation around the positive z-axis by the angle θz.
Positive angles are defined using the right-handed rule. A positive angle defines a rotation that appears clockwise when looking towards the positive direction of the axis, and negative values when the rotation appears counter-clockwise. The right-hand rule is invoked by pointing the right-hand thumb along an axis. Then the other fingers of the right hand curl in the positive direction,
Normalize
— Display normalize pattern
true
(default) | false
Display normalized pattern, specified as the comma-separated 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 geometry
false
(default) | true
View the array geometry along with the 3D radiation pattern, specified as
false
or true
.
Data Types: logical
ShowLocalCoordinates
— Show local coordinate axes
true
(default) | false
Show the local coordinate axes, specified as true
or false
.
Data Types: logical
ShowColorbar
— Show colorbar
true
(default) | false
Show the colorbar, specified as true
or false
.
Data Types: logical
Parent
— Handle to axis
scalar
Handle 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 comma-separated pair consisting of
'Polarization' and 'combined'
, 'H'
, or
'V'
. This parameter applies only when the sensors are
polarization-capable 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 speed
speed of light (default) | positive scalar
Signal propagation speed, specified as the comma-separated pair
consisting of 'PropagationSpeed'
and a positive
scalar in meters per second.
Example: 'PropagationSpeed',physconst('LightSpeed')
Data Types: double
Weights
— Subarray weights
1 (default) | N-by-1 complex-valued column vector | N-by-L complex-valued
matrix
Subarray weights, specified as the comma-separated pair consisting
of 'Weights
' and an N-by-1 complex-valued
column vector or N-by-M complex-valued
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 |
---|---|---|
N-by-1 complex-valued column vector | Scalar or 1-by-L row vector | Applies a set of weights for the single frequency or for all L frequencies. |
N-by-L complex-valued matrix | 1-by-L 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 | 2-element column vector
Subarray steering angle, specified as the comma-separated pair
consisting of 'SteerAngle'
and a scalar or a 2-by-1
column vector.
If 'SteerAngle'
is a 2-by-1 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 subarray
1
(default) | complex-valued NSE-by-N
matrix
Subarray element weights, specified as complex-valued NSE-by-N matrix. Weights are applied to the individual elements within a subarray. All subarrays have the same dimensions and sizes. NSE is the number of elements in each subarray and N is the number of subarrays. Each column of the matrix specifies the weights for the corresponding subarray.
Dependencies
To enable this name-value pair, set the SubarraySteering
property of the array to 'Custom'
.
Data Types: double
Complex Number Support: Yes
Output Arguments
Examples
Azimuth Response of Array with Subarrays
Plot the azimuth response of a 4-element ULA composed of two 2-element ULAs. By default, the antenna elements are isotropic.
sArray = phased.ULA('NumElements',2,'ElementSpacing',0.5); sRSA = phased.ReplicatedSubarray('Subarray',sArray,... 'Layout','Rectangular','GridSize',[1 2],... 'GridSpacing','Auto');
Plot the azimuth response of the array. Assume the operating frequency is 1 GHz and the wave propagation speed is the speed of light.
fc = 1.0e9; pattern(sRSA,fc,[-180:180],0,... 'PropagationSpeed',physconst('LightSpeed'),... 'Type','powerdb',... 'Normalize',true,... 'CoordinateSystem','polar')
Directivity of Array with Subarrays
Create a 2-by-2-element URA of isotropic antenna elements, and arrange four copies to form a 16-element URA. Plot the 3-D directivity pattern.
Create the 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 2],... 'ElementSpacing',lam/2); sRS = phased.ReplicatedSubarray('Subarray',sURA,... 'Layout','Rectangular','GridSize',[2 2],... 'GridSpacing','Auto');
Plot 3-D directivity pattern
fc = 1e9; wts = [0.862,1.23,1.23,0.862]'; pattern(sRS,fc,[-180:180],[-90:90],... 'PropagationSpeed',physconst('LightSpeed'),.... 'Type','directivity',... 'Weights',wts);
More About
Directivity
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
where Urad(θ,φ) is the radiant intensity of a transmitter in the direction (θ,φ) and Ptotal 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.
Convert plotResponse to pattern
For antenna, microphone, and array System objects, the pattern
method
replaces the plotResponse
method. In addition, two new
simplified methods exist just to draw 2-D azimuth and elevation pattern plots. These
methods are patternAzimuth
and
patternElevation
.
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 Name-Value 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' name-value pair. This
parameter is only used for arrays. | ||||||||||||||||||||
'Format' and 'RespCut' name-value
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 2-D or 3-D. This table shows
you how to create different types of plots using
|
If you set | ||||||||||||||||||||
'CutAngle' name-value pair | Constant angle at to take an azimuth or elevation cut. When
producing a 2-D plot and when 'RespCut' is set
to 'Az' or 'El' , use 'CutAngle' to
set the slice across which to view the plot. | No equivalent name-value pair. To create a cut, specify either AZ or EL as
a scalar, not a vector. | ||||||||||||||||||||
'NormalizeResponse' name-value pair | Normalizes the plot. When 'Unit' is set
to 'dbi' , you cannot specify 'NormalizeResponse' . | Use the | ||||||||||||||||||||
'OverlayFreq' name-value pair | Plot multiple frequencies on the same 2-D 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' name-value pair | Determines how to plot polarized fields. Options are 'None' , 'Combined' , 'H' ,
or 'V' . | 'Polarization' name-value pair determines
how to plot polarized fields. The 'None' option
is removed. The options 'Combined' , 'H' ,
or 'V' are unchanged. | ||||||||||||||||||||
'Unit' name-value pair | Determines the plot units. Choose 'db' , 'mag' , 'pow' ,
or 'dbi' , where the default is 'db' . |
| ||||||||||||||||||||
'Weights' name-value pair | Array element tapers (or weights). | 'Weights' name-value pair (no change). | ||||||||||||||||||||
'AzimuthAngles' name-value pair | Azimuth angles used to display the antenna or array response. |
| ||||||||||||||||||||
'ElevationAngles' name-value pair | Elevation angles used to display the antenna or array response. |
| ||||||||||||||||||||
'UGrid' name-value pair | Contains U coordinates in UV-space. |
| ||||||||||||||||||||
'VGrid' name-value pair | Contains V-coordinates in UV-space. |
|
Version History
Introduced in R2015a
See Also
MATLAB Command
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.
Select a Web Site
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: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)