Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

step

System object: phased.ConstantGammaClutter
Package: phased

Simulate clutter using constant gamma model

Syntax

Y = step(H)
Y = step(H,X)
Y = step(H,STEERANGLE)
Y = step(H,X,STEERANGLE)

Description

    Note:   Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.

Y = step(H) computes the collected clutter return at each sensor. This syntax is available when you set the TransmitSignalInputPort property to false.

Y = step(H,X) specifies the transmit signal in X. Transmit signal refers to the output of the transmitter while it is on during a given pulse. This syntax is available when you set the TransmitSignalInputPort property to true.

Y = step(H,STEERANGLE) uses STEERANGLE as the subarray steering angle. This syntax is available when you configure H so that H.Sensor is an array that contains subarrays and H.Sensor.SubarraySteering is either 'Phase' or 'Time'.

Y = step(H,X,STEERANGLE) combines all input arguments. This syntax is available when you configure H so that H.TransmitSignalInputPort is true, H.Sensor is an array that contains subarrays, and H.Sensor.SubarraySteering is either 'Phase' or 'Time'.

Input Arguments

H

Constant gamma clutter object.

X

Transmit signal, specified as a column vector.

STEERANGLE

Subarray steering angle in degrees. STEERANGLE can be a length-2 column vector or a scalar.

If STEERANGLE is a length-2 vector, it has the form [azimuth; elevation]. The azimuth angle must be between –180 and 180 degrees, and the elevation angle must be between –90 and 90 degrees.

If STEERANGLE is a scalar, it represents the azimuth angle. In this case, the elevation angle is assumed to be 0.

Output Arguments

Y

Collected clutter return at each sensor. Y has dimensions N-by-M matrix. M is the number of subarrays in the radar system if H.Sensor contains subarrays, or the number of sensors, otherwise. When you set the OutputFormat property to 'Samples', N is specified in the NumSamples property. When you set the OutputFormat property to 'Pulses', N is the total number of samples in the next L pulses. In this case, L is specified in the NumPulses property.

Tips

The clutter simulation that ConstantGammaClutter provides is based on these assumptions:

  • The radar system is monostatic.

  • The propagation is in free space.

  • The terrain is homogeneous.

  • The clutter patch is stationary during the coherence time. Coherence time indicates how frequently the software changes the set of random numbers in the clutter simulation.

  • The signal is narrowband. Thus, the spatial response can be approximated by a phase shift. Similarly, the Doppler shift can be approximated by a phase shift.

  • The radar system maintains a constant height during simulation.

  • The radar system maintains a constant speed during simulation.

Examples

expand all

Simulate the clutter return from terrain with a gamma value of 0 dB. The effective transmitted power of the radar system is 5 kW.

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent step syntax. For example, replace myObject(x) with step(myObject,x).

Set up the characteristics of the radar system. This system uses a 4-element uniform linear array (ULA). The sample rate is 1 MHz, and the PRF is 10 kHz. The propagation speed is the speed of light, and the operating frequency is 300 MHz. The radar platform is flying 1 km above the ground with a path parallel to the ground along the array axis. The platform speed is 2 km/s. The mainlobe has a depression angle of 30°.

Nele = 4;
c = physconst('Lightspeed');
fc = 300.0e6;
lambda = c/fc;
array = phased.ULA('NumElements',Nele,'ElementSpacing',lambda/2);
fs = 1.0e6;
prf = 10.0e3;
height = 1000.0;
direction = [90;0];
speed = 2.0e3;
depang = 30.0;

Create the clutter simulation object. The configuration assumes the earth is flat. The maximum clutter range of interest is 5 km, and the maximum azimuth coverage is ±60°.

Rmax = 5000.0;
Azcov = 120.0;
tergamma = 0.0;
tpower = 5000.0;
clutter = phased.ConstantGammaClutter('Sensor',array,...
    'PropagationSpeed',c,'OperatingFrequency',fc,'PRF',prf,...
    'SampleRate',fs,'Gamma',tergamma,'EarthModel','Flat',...
    'TransmitERP',tpower,'PlatformHeight',height,...
    'PlatformSpeed',speed,'PlatformDirection',direction,...
    'BroadsideDepressionAngle',depang,'MaximumRange',Rmax,...
    'AzimuthCoverage',Azcov,'SeedSource','Property',...
    'Seed',40547);

Simulate the clutter return for 10 pulses.

Nsamp = fs/prf;
Npulse = 10;
sig = zeros(Nsamp,Nele,Npulse);
for m = 1:Npulse
    sig(:,:,m) = clutter();
end

Plot the angle-Doppler response of the clutter at the 20th range bin.

response = phased.AngleDopplerResponse('SensorArray',array,...
    'OperatingFrequency',fc,'PropagationSpeed',c,'PRF',prf);
plotResponse(response,shiftdim(sig(20,:,:)),'NormalizeDoppler',true)

Simulate the clutter return from terrain with a gamma value of 0 dB. You input the transmit signal of the radar system when creating clutter. In this case, you do not use the TransmitERP property.

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent step syntax. For example, replace myObject(x) with step(myObject,x).

Set up the characteristics of the radar system. This system has a 4-element uniform linear array (ULA). The sample rate is 1 MHz, and the PRF is 10 kHz. The propagation speed is the speed of light, and the operating frequency is 300 MHz. The radar platform is flying 1 km above the ground with a path parallel to the ground along the array axis. The platform speed is 2 km/s. The mainlobe has a depression angle of 30°.

Nele = 4;
c = physconst('Lightspeed');
fc = 300.0e6;
lambda = c/fc;
ula = phased.ULA('NumElements',Nele,'ElementSpacing',lambda/2);
fs = 1.0e6;
prf = 10.0e3;
height = 1.0e3;
direction = [90;0];
speed = 2.0e3;
depang = 30;

Create the clutter simulation object and configure it to accept an transmit signal as an input argument. The configuration assumes the earth is flat. The maximum clutter range of interest is 5 km, and the maximum azimuth coverage is ±60°.

Rmax = 5000.0;
Azcov = 120.0;
tergamma = 0.0;
clutter = phased.ConstantGammaClutter('Sensor',ula,...
    'PropagationSpeed',c,'OperatingFrequency',fc,'PRF',prf,...
    'SampleRate',fs,'Gamma',tergamma,'EarthModel','Flat',...
    'TransmitSignalInputPort',true,'PlatformHeight',height,...
    'PlatformSpeed',speed,'PlatformDirection',direction,...
    'BroadsideDepressionAngle',depang,'MaximumRange',Rmax,...
    'AzimuthCoverage',Azcov,'SeedSource','Property',...
    'Seed',40547);

Simulate the clutter return for 10 pulses. At each step, pass the transmit signal as an input argument. The software computes the effective transmitted power of the signal. The transmit signal is a rectangular waveform with a pulse width of 2 μs.

tpower = 5.0e3;
pw = 2.0e-6;
X = tpower*ones(floor(pw*fs),1);
Nsamp = fs/prf;
Npulse = 10;
sig = zeros(Nsamp,Nele,Npulse);
for m = 1:Npulse
    sig(:,:,m) = step(clutter,X);
end

Plot the angle-Doppler response of the clutter at the 20th range bin.

response = phased.AngleDopplerResponse('SensorArray',ula,...
    'OperatingFrequency',fc,'PropagationSpeed',c,'PRF',prf);
plotResponse(response,shiftdim(sig(20,:,:)),'NormalizeDoppler',true)

Related Examples

More About


Was this topic helpful?