Documentation Center

  • Trial Software
  • Product Updates

phased.RangeDopplerResponse System object

Package: phased

Range-Doppler response

Description

The RangeDopplerResponse object calculates the range-Doppler response of input data.

To compute the range-Doppler response:

  1. Define and set up your range-Doppler response calculator. See Construction.

  2. Call step to compute the range-Doppler response of the input signal according to the properties of phased.RangeDopplerResponse. The behavior of step is specific to each object in the toolbox.

Construction

H = phased.RangeDopplerResponse creates a range-Doppler response System object™, H. The object calculates the range-Doppler response of the input data.

H = phased.RangeDopplerResponse(Name,Value) creates a range-Doppler response object, H, with additional options specified by one or more Name,Value pair arguments. Name is a property name, and Value is the corresponding value. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,…,NameN,ValueN.

Properties

RangeMethod

Method of range processing

Specify the method of range processing as 'Matched filter' or 'Dechirp'.

'Matched filter'Algorithm applies a matched filter to the incoming signal. This approach is common with pulsed signals, where the matched filter is the time reverse of the transmitted signal.
'Dechirp'Algorithm mixes the incoming signal with a reference signal. This approach is common with FMCW signals, where the reference signal is the transmitted signal. This approach can also apply to a system that uses linear FM pulsed signals.

Default: 'Matched filter'

PropagationSpeed

Signal propagation speed

Specify the propagation speed of the signal, in meters per second, as a positive scalar.

Default: Speed of light

SampleRate

Sample rate

Specify the sample rate, in hertz, as a positive scalar. The default value corresponds to 1 MHz.

Default: 1e6

SweepSlope

FM sweep slope

Specify the slope of the linear FM sweeping, in hertz per second, as a scalar. The x data you provide to step or plotResponse must correspond to sweeps having this slope.

This property applies only when you set the RangeMethod property to 'Dechirp'.

Default: 1e9

DechirpInput

Whether to dechirp input signal

Set this property to true to have the range-Doppler response object dechirp the input signal. Set this property to false to indicate that the input signal is already dechirped and no dechirp operation is necessary. This property applies only when you set the RangeMethod property to 'Dechirp'.

Default: false

DecimationFactor

Decimation factor for dechirped signal

Specify the decimation factor for the dechirped signal as a positive integer. When processing FMCW signals, you can often decimate the dechirped signal to reduce the requirements on the analog-to-digital converter.

This property applies only when you set the RangeMethod property to 'Dechirp' and the DechirpInput property to true. The default value indicates no decimation.

Default: 1

RangeFFTLengthSource

Source of FFT length in range processing

Specify how the object determines the FFT length in range processing. Values of this property are:

'Auto'The FFT length equals the number of rows of the input signal.
'Property'The RangeFFTLength property of this object specifies the FFT length.

This property applies only when you set the RangeMethod property to 'Dechirp'.

Default: 'Auto'

RangeFFTLength

FFT length in range processing

Specify the FFT length in the range domain as a positive integer. This property applies only when you set the RangeMethod property to 'Dechirp' and the RangeFFTLengthSource property to 'Property'.

Default: 1024

RangeWindow

Window for range weighting

Specify the window used for range processing using one of 'None', 'Hamming', 'Chebyshev', 'Hann', 'Kaiser', 'Taylor', or 'Custom'. If you set this property to 'Taylor', the generated Taylor window has four nearly constant sidelobes adjacent to the mainlobe. This property applies only when you set the RangeMethod property to 'Dechirp'.

Default: 'None'

RangeSidelobeAttenuation

Sidelobe attenuation level for range processing

Specify the sidelobe attenuation level of a Kaiser, Chebyshev, or Taylor window in range processing as a positive scalar, in decibels. This property applies only when you set the RangeMethod property to 'Dechirp' and the RangeWindow property to 'Kaiser', 'Chebyshev', or 'Taylor'.

Default: 30

CustomRangeWindow

User-defined window for range processing

Specify the user-defined window for range processing using a function handle or a cell array. This property applies only when you set the RangeMethod property to 'Dechirp' and the RangeWindow property to 'Custom'.

If CustomRangeWindow is a function handle, the specified function takes the window length as the input and generates appropriate window coefficients.

If CustomRangeWindow is a cell array, then the first cell must be a function handle. The specified function takes the window length as the first input argument, with other additional input arguments, if necessary. The function then generates appropriate window coefficients. The remaining entries in the cell array are the additional input arguments to the function, if any.

Default: @hamming

DopplerFFTLengthSource

Source of FFT length in Doppler processing

Specify how the object determines the FFT length in Doppler processing. Values of this property are:

'Auto'The FFT length is equal to the number of rows of the input signal.
'Property'The DopplerFFTLength property of this object specifies the FFT length.

This property applies only when you set the RangeMethod property to 'Dechirp'.

Default: 'Auto'

DopplerFFTLength

FFT length in Doppler processing

Specify the FFT length in Doppler processing as a positive integer. This property applies only when you set the RangeMethod property to 'Dechirp' and the DopplerFFTLengthSource property to 'Property'.

Default: 1024

DopplerWindow

Window for Doppler weighting

Specify the window used for Doppler processing using one of 'None', 'Hamming', 'Chebyshev', 'Hann', 'Kaiser', 'Taylor', or 'Custom'. If you set this property to 'Taylor', the generated Taylor window has four nearly constant sidelobes adjacent to the mainlobe. This property applies only when you set the RangeMethod property to 'Dechirp'.

Default: 'None'

DopplerSidelobeAttenuation

Sidelobe attenuation level for Doppler processing

Specify the sidelobe attenuation level of a Kaiser, Chebyshev, or Taylor window in Doppler processing as a positive scalar, in decibels. This property applies only when you set the RangeMethod property to 'Dechirp' and the DopplerWindow property to 'Kaiser', 'Chebyshev', or 'Taylor'.

Default: 30

CustomDopplerWindow

User-defined window for Doppler processing

Specify the user-defined window for Doppler processing using a function handle or a cell array. This property applies only when you set the RangeMethod property to 'Dechirp' and the DopplerWindow property to 'Custom'.

If CustomDopplerWindow is a function handle, the specified function takes the window length as the input and generates appropriate window coefficients.

If CustomDopplerWindow is a cell array, then the first cell must be a function handle. The specified function takes the window length as the first input argument, with other additional input arguments, if necessary. The function then generates appropriate window coefficients. The remaining entries in the cell array are the additional input arguments to the function, if any.

Default: @hamming

DopplerOutput

Doppler domain output

Specify the Doppler domain output as 'Frequency' or 'Speed'. The Doppler domain output is the DOP_GRID argument of step.

'Frequency'DOP_GRID is the Doppler shift, in hertz.
'Speed'DOP_GRID is the radial speed corresponding to the Doppler shift, in meters per second.

Default: 'Frequency'

OperatingFrequency

Signal carrier frequency

Specify the carrier frequency, in hertz, as a scalar. This property applies only when you set the DopplerOutput property to 'Speed'. The default value of this property corresponds to 300 MHz.

Default: 3e8

Methods

cloneCreate range-Doppler response object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
plotResponsePlot range-Doppler response
releaseAllow property value and input characteristics changes
stepCalculate range-Doppler response

Examples

expand all

Range-Doppler Response of Pulsed Radar Signal Using Matched Filter

Load data for a pulsed radar signal. The signal includes three target returns. Two targets are approximately 2000 m away, while the third is approximately 3500 m away. In addition, two of the targets are stationary relative to the radar. The third is moving away from the radar at about 100 m/s.

load RangeDopplerExampleData;

Create a range-Doppler response object.

hrdresp = phased.RangeDopplerResponse(...
   'DopplerFFTLengthSource','Property',...
   'DopplerFFTLength',RangeDopplerEx_MF_NFFTDOP,...
   'SampleRate',RangeDopplerEx_MF_Fs,...
   'DopplerOutput','Speed',...
   'OperatingFrequency',RangeDopplerEx_MF_Fc);

Calculate the range-Doppler response.

[resp,rng_grid,dop_grid] = step(hrdresp,...
   RangeDopplerEx_MF_X,RangeDopplerEx_MF_Coeff);

Plot the range-Doppler map.

imagesc(dop_grid,rng_grid,mag2db(abs(resp)));
xlabel('Speed (m/s)');
ylabel('Range (m)');
title('Range-Doppler Map');

Range-Doppler Response of FMCW Signal

Load data for an FMCW signal that has not been dechirped. The signal contains the return from a target about 2200 m away. The signal has a normalized Doppler frequency of about –0.36 relative to the radar.

load RangeDopplerExampleData;

Create a range-Doppler response object.

hrdresp = phased.RangeDopplerResponse(...
   'RangeMethod','Dechirp',...
   'PropagationSpeed',RangeDopplerEx_Dechirp_PropSpeed,...
   'SampleRate',RangeDopplerEx_Dechirp_Fs,...
   'DechirpInput',true,...
   'SweepSlope',RangeDopplerEx_Dechirp_SweepSlope);

Plot the range-Doppler response.

plotResponse(hrdresp,...
   RangeDopplerEx_Dechirp_X,RangeDopplerEx_Dechirp_Xref,...
   'Unit','db','NormalizeDoppler',true)

Algorithms

The RangeDopplerResponse object generates the response as follows:

  1. Processes the input signal in the range domain using either a matched filter or dechirp operation.

  2. Processes in the Doppler domain using an FFT.

The decimation algorithm uses a 30th order FIR filter generated by fir1(30,1/R), where R is the value of the DecimationFactor property.

See Also

| |

Was this topic helpful?