System object: phased.PartitionedArray
Plot partitioned array directivity, field, and power patterns
[PAT,AZ_ANG,EL_ANG] = pattern(___)
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.
plots the array pattern with additional options specified by one or
Name,Value pair arguments.
returns the array pattern in
[PAT,AZ_ANG,EL_ANG] = pattern(___)
contains the coordinate values corresponding to the rows of
EL_ANG output contains the coordinate values
corresponding to the columns of
PAT. If the
is set to
the U coordinates of the pattern and
the V coordinates of the pattern. Otherwise, they
are in angular units in degrees. UV units are dimensionless.
This method replaces the
See Convert plotResponse to pattern for
guidelines on how to use
pattern in place of
sArray— Partitioned array
Partitioned array, specified as a
phased.PartitionedArray System object.
comma-separated pairs of
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
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 the rotation angles with respect to the x-, y-, and z-axes of the local coordinate system, respectively.
ShowArray— View array geometry
View the array geometry along with the 3D radiation pattern, specified as
ShowLocalCoordinates— Show local coordinate axes
Show the local coordinate axes, specified as
ShowColorbar— Show colorbar
Show the colorbar, specified as
Parent— Handle to axis
Handle to the axes along which the array geometry is displayed specified as a scalar.
ElementWeights— Weights applied to elements within subarray
1(default) | complex-valued NSE-by-N matrix | 1-by-N cell array
Subarray element weights, specified as complex-valued NSE-by-N matrix or 1-by-N cell array. Weights are applied to the individual elements within a subarray. Subarrays can have different dimensions and sizes.
ElementWeights is a complex-valued
NSE 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.
ElementWeights is a 1-by-N cell array. Each
cell contains a complex-valued column vector of weights for the corresponding subarray.
The column vectors have lengths equal to the number of elements in the corresponding
To enable this name-value pair, set the
SubarraySteering property of the array to
Complex Number Support: Yes
Plot the azimuth response of a 4-element ULA partitioned into two 2-element ULA's. The element spacing is one-half wavelength.
Create the ULA, and partition it into two 2-element 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 2-by-6 URA of isotropic antenna elements into a 1-by-3 partitioned array so that each subarray of the partitioned array is a 2-by-2 URA. Assume that the frequency response of the elements lies between 1 and 6 GHz. The elements are spaced one-half 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 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
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.
For antenna, microphone, and array System objects, the
plotResponse method. In addition,
two new simplified methods exist just to draw 2-D azimuth and elevation
pattern plots. These methods are
The following table is a guide for converting your code from
Notice that some of the inputs have changed from input arguments to Name-Value pairs
and conversely. The general
pattern method syntax
|plotResponse Inputs||plotResponse Description||pattern Inputs|
|Antenna, microphone, or array System object.|
|Propagation speed. This argument is used only for arrays.|
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
|Constant angle at to take an azimuth or elevation cut. When
producing a 2-D plot and when ||No equivalent name-value pair. To create a cut, specify either |
|Normalizes the plot. When |
|Plot multiple frequencies on the same 2-D plot. Available only
|Determines how to plot polarized fields. Options are |
|Determines the plot units. Choose |
|Array element tapers (or weights).|
|Azimuth angles used to display the antenna or array response.|
|Elevation angles used to display the antenna or array response.|
|Contains U coordinates in UV-space.|
|Contains V-coordinates in UV-space.|