Constant gamma clutter simulation using gpu
Environment and Targets
phasedenvlib
The GPU Constant Gamma Clutter block generates, using a GPU, constant gamma clutter reflected from homogeneous terrain for a monostatic radar transmitting a narrowband signal into free space. The radar is assumed to be at constant altitude moving at constant speed.
Specify the $$\gamma $$ value used in the constant $$\gamma $$ clutter model, as a scalar in dB. The $$\gamma $$ value depends on both terrain type and the operating frequency.
Specify the earth model used in clutter simulation as Flat
or Curved
.
When you set this parameter to Flat
, the earth
is assumed to be a flat plane. When you set this parameter to Curved
,
the earth is assumed to be a sphere.
Specify the maximum range in meters for the clutter simulation as a positive scalar. The maximum range must be greater than the value specified in the Radar height parameter on the Radar panel.
Specify the azimuth coverage in degrees as a positive scalar. The clutter simulation covers a region having the specified azimuth span, symmetric to zero degrees azimuth. Typically, all clutter patches have their azimuth centers within the region, but by setting the Clutter patch azimuth span value, you can cause some patches to extend beyond the region.
Specify the azimuth span of each clutter patch in degrees as a positive scalar.
Specify the coherence time in seconds for the clutter simulation
as a positive scalar. After the coherence time elapses, block updates
the random numbers it uses for the clutter simulation at the next
pulse. A value of inf
means the random numbers
are never updated.
Specify the propagation speed of the signal, in meters per second,
as a positive scalar. You can use the function physconst
to specify the speed of light.
Specify the signal sample rate in hertz as a positive scalar. This parameter should be set to the same value as used in any of the Waveforms library blocks.
Specify the pulse repetition frequency, PRF, as a scalar or
a row vector. Units for PRF are hertz. This parameter should be set
to the same value as used in any Waveforms
library
block.
Specify the format of the output signal as one of Pulses
or Samples
.
This parameter should be set to the same value as used in any Waveforms library blocks.
Specify the number of pulses in the block output as a positive
integer. This parameter appears only when you set the Output
signal format parameter to Pulses
and
should be set to the same value as used in any Waveforms library
blocks.
Specify the number of samples in the block output as a positive
integer. This parameter appears only when you set the Output
signal format parameter to Samples
and
should be set to the same value as used in any Waveforms library
blocks.
Block simulation method, specified as Interpreted Execution
or Code
Generation
. If you want your block to use the MATLAB^{®} interpreter,
choose Interpreted Execution
. If you want your
block to run as compiled code, choose Code Generation
.
Compiled code requires time to compile but usually runs faster.
Interpreted execution is useful when you are developing and
tuning a model. The block runs the underlying System
object™ in MATLAB.
You can change and execute your model quickly. When you are satisfied
with your results, you can then run the block using Code
Generation
. Long simulations run faster than they would
in interpreted execution. You can run repeated executions without
recompiling. However, if you change any block parameters, then the
block automatically recompiles before execution.
When setting this parameter, you must take into account the overall model simulation mode. The table shows how the Simulate using parameter interacts with the overall simulation mode.
When the Simulink^{®} model is in Accelerator
mode,
the block mode specified using Simulate using overrides
the simulation mode.
Acceleration Modes
Block Simulation  Simulation Behavior  
Normal  Accelerator  Rapid Accelerator  
Interpreted Execution  The block executes using the MATLAB interpreter.  The block executes using the MATLAB interpreter.  Creates a standalone executable from the model. 
Code Generation  The block is compiled.  All blocks in the model are compiled. 
Specify the operating frequency of the system, in hertz, as a positive scalar.
Specify the transmitted effective radiated power (ERP) of the radar system in watts as a positive scalar.
Specify the radar platform height in meters, measured upward from the surface as a nonnegative scalar.
Specify the radar platform’s speed as a nonnegative scalar in meters per second.
Specify the direction of radar platform motion as a 2by1 vector
in the form [AzimuthAngle; ElevationAngle]
in degrees.
Both azimuth and elevation angle are measured in the local coordinate
system of the radar antenna or antenna array. Azimuth angle must be
between –180° and 180°. Elevation angle must be between
–90° and 90°.
Specify the depression angle of the radar antenna array in degrees with respect to broadside. This value is a scalar. Broadside is defined as zero degrees azimuth and zero degrees elevation. The depression angle is measured downward from horizontal.
Specify sensor element or sensor array. A sensor array can also contain subarrays or be a partitioned array. This parameter can also be expressed as a MATLAB expression.
Types
Single element 
Array (no subarrays) 
Partitioned array 
Replicated subarray 
MATLAB expression 
Specify the array geometry as one of the following:
ULA
— Uniform linear array
URA
— Uniform rectangular
array
UCA
— Uniform circular array
Conformal Array
— arbitrary
element positions
Number of array elements.
Number of array elements, specified as a positive integer. This
parameter appears when the Geometry is set to ULA
or UCA
.
If Sensor Array has a Replicated subarray
option,
this parameter applies to the subarray.
This parameter appears when Geometry is
set to URA
. When Sensor Array is
set to Replicated subarray
, this parameter applies
to the subarrays.
Specify the size of the array as a positive integer or 1by2 vector of positive integers.
If Array size is a 1by2 vector,
the vector has the form [NumberOfArrayRows,NumberOfArrayColumns]
.
If Array size is an integer, the array has the same number of rows and columns.
For a URA, elements are indexed from top to bottom
along a column and continuing to the next columns from left to right.
In this figure, an Array size of [3,2]
produces
an array of three rows and two columns.
This parameter appears when Geometry is
set to ULA
or URA
. When Sensor
Array has the Replicated subarray
option,
this parameter applies to the subarrays.
For a ULA
, specify the spacing,
in meters, between two adjacent elements in the array as a scalar.
For a URA
, specify the element
spacing of the array, in meters, as a 1by2 vector or a scalar. If Element
spacing is a 1by2 vector, the vector has the form [SpacingBetweenRows,SpacingBetweenColumns]
.
For a discussion of these quantities, see phased.URA
. If Element
spacing is a scalar, the spacings between rows and columns
are equal.
This parameter appears when the Geometry parameter
is set to ULA
or when the block only supports a
ULA array geometry. Specify the array axis as x
, y
,
or z
. All ULA array elements are uniformly spaced
along this axis in the local array coordinate system.
This parameter appears when you set Geometryto URA
or UCA
.
Specify the Array normal as x
, y
,
or z
. All URA and UCA array elements are placed
in the yz, zx, or xyplanes,
respectively, of the array coordinate system.
Radius of a uniform circular array specified as a positive scalar. Units are meters.
This parameter appears when the Geometry is
set to UCA
.
Tapers, also known as element weights, are applied to sensor elements in the array. Tapers are used to modify both the amplitude and phase of the transmitted or received data.
This parameter applies to all array types, but when you set Sensor
Array to Replicated subarray
, this parameter
applies to subarrays.
For a ULA
or UCA
,
specify element tapering as a complexvalued scalar or a complexvalued
1byN row vector. In this vector, N represents
the number of elements in the array. If Taper is
a scalar, the same weight is applied to each element. If Taper is
a vector, a weight from the vector is applied to the corresponding
sensor element. A weight must be applied to each element in the sensor
array.
For a URA
, specify element tapering
as a complexvalued scalar or complexvalued MbyN matrix.
In this matrix, M is the number of elements along
the zaxis, and N is the number
of elements along the yaxis. M and N correspond
to the values of [NumberofArrayRows,NumberOfArrayColumns]
in
the Array size matrix. If Taper
is
a scalar, the same weight is applied to each element. If Taper is
a matrix, a weight from the matrix is applied to the corresponding
sensor element. A weight must be applied to each element in the sensor
array.
For a Conformal Array
, specify
element tapering as a complexvalued scalar or complexvalued 1byN vector.
In this vector, N is the number of elements in
the array as determined by the size of the Element positions vector.
If Taper is a scalar, the same weight is applied
to each element. If the value of Taper is a vector,
a weight from the vector is applied to the corresponding sensor element.
A weight must be applied to each element in the sensor array.
This parameter appears when Geometry is
set to URA
. When Sensor Array is
set to Replicated subarray
, this parameter applies
to the subarray.
Specify the element lattice as Rectangular
or Triangular
Rectangular
— Aligns all
the elements in row and column directions.
Triangular
— Shifts the evenrow
elements of a rectangular lattice toward the positiverow axis direction.
The displacement is onehalf the element spacing along the row dimension.
This parameter appears when Geometry is
set to Conformal Array
. When Sensor Array is
set to Replicated subarray
, this parameter applies
to subarrays.
Specify the positions of conformal array elements as a 3byN matrix,
where N is the number of elements in the conformal
array. Each column of Element positions (m) represents
the position of a single element, in the form [x;y;z]
,
in the array’s local coordinate system. The local coordinate
system has its origin at an arbitrary point. Units are in meters.
This parameter appears when Geometry is
set to Conformal Array
. When Sensor Array is
set to Replicated subarray
, this parameter applies
to subarrays.
Specify the normal directions of the elements in a conformal
array as a 2byN matrix or a 2by1 column vector
in degrees. The variable N indicates the number
of elements in the array. If Element normals (deg) is
a matrix, each column specifies the normal direction of the corresponding
element in the form [azimuth;elevation]
, with respect
to the local coordinate system. The local coordinate system aligns
the positive xaxis with the direction normal to
the conformal array. If Element normals (deg) is
a 2by1 column vector, the vector specifies the same pointing direction
for all elements in the array.
You can use the Element positions (m) and Element normals (deg) parameters to represent any arrangement in which pairs of elements differ by certain transformations. You can combine translation, azimuth rotation, and elevation rotation transformations. However, you cannot use transformations that require rotation about the normal.
This parameter appears when Specify sensor array as is set to
Partitioned array
.
Specify the subarray selection as an MbyN matrix. M is the number of subarrays and N is the total number of elements in the array. Each row of the matrix corresponds to a subarray and each entry in the row indicates whether or not an element belongs to the subarray. When the entry is zero, the element does not belong the subarray. A nonzero entry represents a complexvalued weight applied to the corresponding element. Each row must contain at least one nonzero entry.
The phase center of each subarray is its geometric center. Subarray definition matrix and Geometry determine the geometric center.
This parameter appears when the Specify sensor array as parameter is set
to Partitioned array
or Replicated
subarray
.
Specify the subarray steering method as either
None
Phase
Time
Custom
Selecting Phase
or Time
opens the
Steer
input port on the Narrowband Receive Array,
Narrowband Transmit Array, Wideband Receive Array,
Wideband Transmit Array blocks, Constant Gamma
Clutter, and GPU Constant Gamma Clutter blocks.
Selecting Custom
opens the WS
input port on the
Narrowband Receive Array, Narrowband Transmit Array,
Wideband Receive Array, Wideband Transmit Array
blocks, Constant Gamma Clutter, and GPU Constant Gamma
Clutter blocks.
This parameter appears when you set Sensor array to Partitioned
array
or Replicated subarray
and you
set Subarray steering method to Phase
.
Specify the operating frequency, in hertz, of phase shifters to perform subarray steering as a positive scalar.
This parameter appears when you set Sensor array to Partitioned
array
or Replicated subarray
and you
set Subarray steering method to Phase
.
The number of bits used to quantize the phase shift component of beamformer or steering vector weights. Specify the number of bits as a nonnegative integer. A value of zero indicates that no quantization is performed.
This parameter appears when you set Sensor array to Replicated
subarray
.
Specify the layout of the replicated subarrays as Rectangular
or Custom
.
This parameter appears when you set Sensor array to Replicated
subarray
and Subarrays layout to Rectangular
.
Rectangular subarray grid size, specified as a single positive integer or a positive integervalued 1by2 row vector.
If Grid size is an integer scalar, the
array has an equal number of subarrays in each row and column. If Grid
size is a 1by2 vector of the form [NumberOfRows,
NumberOfColumns]
, the first entry is the number of subarrays
along each column. The second entry is the number of subarrays in
each row. A row is along the local yaxis, and
a column is along the local zaxis. The figure
here shows how you can replicate a 3by2 URA subarray using a Grid
size of [1,2]
.
This parameter appears when you set Sensor array to Replicated
subarray
and Subarrays layout to Rectangular
.
Specify the rectangular grid spacing of subarrays as a realvalued
positive scalar, a 1by2 row vector, or Auto
.
Grid spacing units are expressed in meters.
If Grid spacing is a scalar, the spacing along the row and the spacing along the column is the same.
If Grid spacing is a 1by2
row vector, the vector has the form [SpacingBetweenRows,SpacingBetweenColumn]
.
The first entry specifies the spacing between rows along a column.
The second entry specifies the spacing between columns along a row.
If Grid spacing is set to Auto
,
replication preserves the element spacing of the subarray for both
rows and columns while building the full array. This option is available
only when you specify Geometry as ULA
or URA
.
This parameter appears when you set Sensor array to Replicated
subarray
and Subarrays layout to Custom
.
Specify the positions of the subarrays in the custom grid as
a 3byN matrix, where N is
the number of subarrays in the array. Each column of the matrix represents
the position of a single subarray, in meters, in the array’s
local coordinate system. The coordinates are expressed in the form [x;
y; z]
.
This parameter appears when you set the Sensor array parameter
to Replicated subarray
and the Subarrays
layout to Custom
.
Specify the normal directions of the subarrays in the array.
This parameter value is a 2byN matrix, where N is
the number of subarrays in the array. Each column of the matrix specifies
the normal direction of the corresponding subarray, in the form [azimuth;
elevation]
. Each angle is in degrees and is defined in the
local coordinate system.
You can use the Subarray positions and Subarray normals parameters to represent any arrangement in which pairs of subarrays differ by certain transformations. The transformations can combine translation, azimuth rotation, and elevation rotation. However, you cannot use transformations that require rotation about the normal.
A valid MATLAB expression containing an array constructor,
for example, phased.URA
.
Specify the antenna or microphone type as
Isotropic Antenna
Cosine Antenna
Custom Antenna
This parameter appears when you set Element type to Cosine
Antenna
.
Specify the exponent of the cosine pattern as a scalar or a 1by2 vector. You must specify all values as nonnegative real numbers. When you set Exponent of cosine pattern to a scalar, both the azimuth direction cosine pattern and the elevation direction cosine pattern are raised to the specified value. When you set Exponent of cosine pattern to a 1by2 vector, the first element is the exponent for the azimuth direction cosine pattern and the second element is the exponent for the elevation direction cosine pattern.
This parameter appears when Element type is
set to Isotropic Antenna
or Cosine Antenna
.
Specify the operating frequency range, in hertz, of the antenna
element as a 1by2 row vector in the form [LowerBound,UpperBound]
.
The antenna element has no response outside the specified frequency
range.
This parameter appears when Element type is
set to Custom Antenna
or Custom Microphone
.
Specify the frequencies, in Hz, at which to set the antenna and microphone frequency responses as a 1byL row vector of increasing values. Use Frequency responses to set the frequency responses. The antenna or microphone element has no response outside the frequency range specified by the minimum and maximum elements of Operating frequency vector (Hz).
This parameter appears when Element type is
set to Custom Antenna
or Custom Microphone
.
Specify this parameter as the frequency response of an antenna or microphone, in decibels, for the frequencies defined by Operating frequency vector (Hz). Specify Frequency responses (dB) as a 1byL vector matching the dimensions of the vector specified in Operating frequency vector (Hz).
This parameter appears when Element type is
set to Custom Antenna
.
Specify the azimuth angles at which to calculate the antenna radiation pattern as a 1byP row vector. P must be greater than 2. Angle units are in degrees. Azimuth angles must lie between –180° and 180° and be in strictly increasing order.
This parameter appears when the Element type is
set to Custom Antenna
.
Specify the elevation angles at which to compute the radiation pattern as a 1byQ vector. Q must be greater than 2. Angle units are in degrees. Elevation angles must lie between –90° and 90° and be in strictly increasing order.
This parameter appears when the Element type is
set to Custom Antenna
.
The magnitude in db of the combined polarized antenna radiation pattern specified as a QbyP matrix or a QbyPbyL array. The value of Q must match the value of Q specified by Elevation angles (deg). The value of P must match the value of P specified by Azimuth angles (deg_. The value of L must match the value of L specified by Operating frequency vector (Hz).
This check box appears only when the Element type parameter
is set to Isotropic Antenna
or Omni Microphone
.
Select this check box to baffle the back of the antenna element. In this case, the antenna responses to all azimuth angles beyond ±90° from broadside are set to zero. Define the broadside direction as 0° azimuth angle and 0° elevation angle.
The block input and output ports correspond to the input and
output parameters described in the step
method of
the underlying System
object. See link at the bottom of this page.
Port  Data Types 

Steer 
Steering angle input port. To enable this port, select

WS 
Subarray element weights input port. To enable this port, select

Out  Doubleprecision floating point 