EngeePhased.RangeDopplerResponse
Range-Doppler processing.
| Library |
|
| Block |
Description
System object EngeePhased.RangeDopplerResponse calculates the radiation pattern after filtering by fast and slow time, or, equivalently, by range data, using either a matched filter or an FFT.
At the entrance of the object EngeePhased.RangeDopplerResponse an array of data is being submitted. The data array corresponds to the antenna array object. The first measurement of the array is the samples of the fast time or the range of the received signals. The second dimension corresponds to several channels, such as sensors or beams. The third dimension, slow time, represents pulses. If the data contains only one channel or one pulse, the data array may have fewer than three dimensions. Range processing is performed along the first dimension of the array. Doppler processing is performed along the last dimension.
To calculate the range-Doppler processing, follow these steps:
-
Create an object EngeePhased.RangeDopplerResponse and set its properties.
-
Call the object with arguments as if it were a function.
To learn more about how to work with system objects, see Engee System Objects.
Syntax
Creation
-
response = EngeePhased.RangeDopplerResponse()— creates a range-Doppler processing system object with default property values. -
response = EngeePhased.RangeDopplerResponse(Name=Value)— creates a range-Doppler processing system object with specified properties in the form of a pairName=Value, whereName— the name of the property, andValue— the appropriate value. You can specify multiple pairs «name-value» the order of the pairs does not matter. Unspecified properties retain their default values.
Using
-
resp,rnggrid,dopgrid = response(x)— calculates the range-Doppler characteristic resp of the input signal x. The arguments rnggrid and dopgrid represent range counts and Doppler counts, respectively, at which the range-Doppler characteristic is estimated. This syntax is available if for the property RangeMethod value set"FFT", and for the property DechirpInput — valuefalse. This syntax is most often used with FM signals. -
resp,rnggrid,dopgrid = response(x,xref)— uses the xref signal as a reference signal to demodulate the x input signal. This syntax is available if for the property RangeMethod set the value"FFT", and for the property DechirpInput — valuetrue. This syntax is most often used with FM signals, where the reference signal is the transmitted signal. -
resp,rnggrid,dopgrid = response(x,coeff)— uses coeff as coefficients of the matched filter. This syntax is available if you set the property RangeMethod value"Matched filter". This syntax is most often used for pulse signals, where the matched filter is time-reversed with respect to the transmitted signal. -
resp,rnggrid,dopgrid = response(_,prf)— uses prf as the pulse repetition rate. This syntax is available if you set the property [Property:Pdfsource] value"Input port". This syntax is most often used for pulse signals, where the matched filter is time-reversed with respect to the transmitted signal.
Arguments
Input arguments
x — input data
+
the complex matrix K on L | a complex array of K by N by L
Details
Input data set as a complex matrix on or an array on on , where
-
— these are fast time counts;
-
— this is the number of channels, such as beams or antenna elements. When equal to one, only one data channel is present;
-
— this is the number of pulses to be processed by a matched filter and the number of deviations to process the FFT.
The specific requirements depend on the syntax:
-
In the syntax
response(x)Each column x represents a demodulated signal with a single deviation frequency. The function assumes that all frequency deviations in x are sequential. -
In the syntax
response(x,xref)each column x represents a signal with a single deviation frequency. The function assumes that all frequency deviations in x are consistent and not demodulated. -
In the syntax
response(x,coeff)Each column of the x matrix represents a signal from a single pulse. The function assumes that all pulses in x are sequential.
In the case of an LFM signal with triangular deviation frequencies alternate positive and negative slopes. However, the system object EngeePhased.RangeDopplerResponse It is designed to handle consecutive deviations with the same slope. To apply EngeePhased.RangeDopplerResponse for a system with a triangular deviation, use one of the following approaches:
-
Specify a positive value for the SweepSlope, while x will only correspond to an increase in frequency. After getting the Doppler score or speed, divide them by
2. -
Specify a negative value for the SweepSlope, while x will only correspond to frequency reduction. After getting the Doppler score or speed, divide them by
2.
| Типы данных |
|
| Support for complex numbers |
Yes |
xref — reference signal
+
column vector
Details
A reference signal defined as a column vector, the number of elements of which is equal to the number of rows x.
| Типы данных |
|
coeff — coefficients of the matched filter
+
column vector
Details
The filter coefficients, set as a column vector.
| Типы данных |
|
prf —
pulse repetition
rate
positive scalar
Details
Pulse repetition rate, set as a positive scalar.
The prf value must be less than or equal to the sampling frequency specified in the SampleRate divided by the length of the first measurement of the input signal x.
Dependencies
To enable this argument, set the PRFSource property to Input port.
| Типы данных |
|
Output arguments
resp — range-Doppler characteristic
+
the complex matrix M on P | a complex array of M by N by P
Details
Range-Doppler characteristic returned as a complex matrix on or an array on on . Values and depend on the syntax, has the same value as for the input argument x.
-
For the syntax
response(x):-
If for a property RangeFFTLength value set
"Auto"Then — the length of the first dimension x. Otherwise equal to the value of the RangeFFTLength. -
If for a property DopplerFFTLength value set
"Auto"Then — the length of the last measurement x. Otherwise equal to the value of the DopplerFFTLength.
-
-
For the syntax
response(x,xref):-
— this is the quotient of dividing the length of the first dimension x by the value of the property DecimationFactor.
-
If for a property DopplerFFTLength value set
"Auto"Then , the length of the last measurement x. Otherwise equal to the value of the DopplerFFTLength.
-
-
For the syntax
response(x,coeff):-
— this is the number of rows x.
-
If for a property DopplerFFTLength value set
"Auto", — the length of the last measurement x. Otherwise equal to the value of the DopplerFFTLength.
-
Features
#
RangeWindow —
range weighing window
String
Details
The window used for range processing is set to one of the following values: "None" (by default), "Hamming", "Chebyshev", "Hann", "Kaiser", "Taylor" or "Custom".
If you set the RangeWindow property to "Taylor" The generated Taylor window will have four almost permanent lobes adjacent to the main lobe.
Dependencies
To use this property, set the RangeMethod value "FFT".
#
DopplerOutput —
output of the Doppler domain
String
Details
The output of the Doppler domain, defined as "Frequency" (by default) or "Speed". The output of the Doppler domain is the dopgrid argument:
-
"Frequency"dopgrid is the Doppler shift in Hz. -
"Speed"dopgrid is the radial velocity corresponding to the Doppler shift, in m/s.
#
DechirpInput —
quadrature demodulation of the input signal
Logical
Details
Set the DechirpInput property to true so that the system object EngeePhased.RangeDopplerResponse performed quadrature demodulation (dechirp) of the input FM signal.
If a value is specified for this property true, the reference LCHM signal is multiplied with the complex-conjugate LCHM signal.
Set the DechirpInput property to false to indicate that the input signal is demodulated and no additional demodulation operation is required.
Dependencies
To use this property, set the RangeMethod value "FFT".
#
SweepSlope —
the slope of the frequency deviation
Real number
Details
The slope of the linear frequency deviation in Hz/s, set as a scalar.
The input signal data x must correspond to the deviation with the specified property SweepSlope slope.
Default value — 1e9.
Dependencies
To use this property, set the RangeMethod value "FFT".
#
DopplerWindow —
the Doppler weighing window
String
Details
The window used for Doppler processing is set to one of the following values: "None" (by default), "Hamming", "Chebyshev", "Hann", "Kaiser", "Taylor" or "Custom".
If you set the value for the DopplerWindow property "Taylor" The generated Taylor window will have four almost permanent side lobes adjacent to the main lobe.
Dependencies
To use this property, set the RangeMethod value "FFT".
#
PropagationSpeed —
signal propagation speed
Real number
Details
The propagation velocity in m/s, set as a positive scalar.
The default value is the speed of light. 299792458.
#
DopplerFFTLength —
FFT length for Doppler processing
Int64 integer
Details
The length of the FFT for Doppler processing, set as a positive integer.
Default value — 1024.
Dependencies
To use this property, set the RangeMethod property to "FFT", and for the DopplerFFTLengthSource property , the value "Property".
#
PRFSource —
pulse repetition rate source
String
Details
The pulse repetition rate source, set as:
-
"Auto"(default) — The pulse repetition rate (PRF) is assumed to be the inverse of the input signal duration x. Then PRF is equal to the sampling frequency of the signal divided by the number of lines in the input signal. -
"Property"— specify the pulse repetition rate using the PRF property. -
"Input port"— specify the PRF using the input argument of the prf method.
Use values "Property" or "Input port" when the pulse repetition rate cannot be determined by the duration of the signal, as is the case with range-selective data.
#
DopplerFFTLengthSource —
the source of the FFT length during Doppler processing
String
Details
A method for determining the length of the FFT for Doppler processing, specified as:
-
"Auto"— the length of the FFT is equal to the number of input lines. -
"Property"— property [Property:The DopplerFFTLength] of this object determines the length of the FFT.
Dependencies
To use this property, set the RangeMethod property to "FFT".
#
PRF —
pulse repetition rate of the input signal
Real number
Details
The pulse repetition rate of the input signal, set as a positive scalar. PRF must be less than or equal to the sampling frequency divided by the number of lines of the input signal x.
If the length of the signal is variable, use the maximum possible number of input lines instead.
Default value — 10000.0
Dependencies
To use this property, set the PRFSource property to "Property".
#
ReferenceRangeCentered —
reference range in the center of the range grid
Logical
Details
Set the reference range to the center of the range grid. Set as true (by default) or false. Setting this property to true allows you to set the reference range in the center of the range grid. Setting this property to false sets the reference range at the beginning of the range grid.
Dependencies
To use this property, set the RangeMethod property to "FFT".
#
DecimationFactor —
decimation coefficient for signal quadrature demodulation operation
Real number
Details
The decimation coefficient for the signal demodulation operation, set as a positive integer.
When processing FM signals, it is often possible to decimate the demodulated signal in order to reduce the requirements for the analog-to-digital converter.
Default value 1 means no decimation.
Dependencies
To use this property, set the RangeMethod property to "FFT", and for the DechirpInput property , the value true.
#
ReferenceRange —
reference range of the range grid
Real number
Details
The reference range of the range grid, set as a non-negative scalar.
-
If for a property RangeMethod value set
"Matched filter"(matched filter), the reference range is set to the beginning of the range grid. -
If for a property RangeMethod value set
"FFT"(FFT), the reference range is determined by the property ReferenceRangeCentered.-
When for a property ReferenceRangeCentered value set
true, the reference range is set to the center of the range grid. -
When for a property ReferenceRangeCentered value set
false, the reference range is set to the beginning of the range grid.
-
The units of measurement are meters.
Default value — 0.0
#
RangeSidelobeAttenuation —
the attenuation level of the side lobes for range handling
Real number
Details
The attenuation level of the side lobes of the Kaiser, Chebyshev, or Taylor window during range processing, set as a positive scalar.
The units of measurement are dB.
Default value — 30
Dependencies
To use this property, set the RangeMethod value "FFT", and for the property RangeWindow values "Kaiser", "Chebyshev" or "Taylor".
#
DopplerSidelobeAttenuation —
the level of attenuation of the side lobes for Doppler processing
Real number
Details
The attenuation level of the side lobes of the Kaiser, Chebyshev, or Taylor windows for Doppler processing, set as a positive scalar.
The units of measurement are dB.
Default value — 30
Dependencies
To use this property, set the RangeMethod value "FFT", and for the property RangeWindow values "Kaiser", "Chebyshev" or "Taylor".
#
MaximumNumInputSamplesSource —
the source of the maximum number of samples
String
Details
The source of the maximum number of samples of the input signal, set as "Auto" (by default) or "Property".
-
If you set the MaximumNumInputSamplesSource property to
"Auto"the object automatically allocates enough memory to buffer the first input signal. -
If you set the MaximumNumInputSamplesSource property to
"Property", you need to specify the maximum number of samples in the input signal using the MaximumNumInputSamples. Any input signal that exceeds this value will be truncated.
#
SampleRate —
sampling rate
Real number
Details
The sampling frequency in Hz, set as a positive scalar.
Default value — 1e6
#
OperatingFrequency —
carrier frequency of the signal
Real number
Details
The carrier frequency in Hz, set as a scalar.
Default value — 3e8
Dependencies
To use this property, set the DopplerOutput value "Speed".
#
RangeFFTLengthSource —
the source of the FFT length used in range processing
String
Details
The source of the FFT length used to process the range, set as "Auto" (by default) or "Property". This property determines how the object calculates the length of the FFT used in range processing.
-
"Auto"— the length of the FFT is equal to the number of input lines. -
"Property"— the length of the FFT is set in the RangeFFTLength.
Dependencies
To use this property, set the RangeMethod property to "FFT".
#
RangeMethod —
range processing method
String
Details
The range processing method, specified as "Matched filter" (by default) or "FFT":
-
"Matched filter"— the algorithm applies a matched filter to the incoming signal. This approach is typical for pulse signals, when the matched filter is a temporary feedback characteristic of the transmitted signal. -
"FFT"— the algorithm performs range processing by applying the FFT to the input signal. This approach is commonly used with FM and linear FM pulse signals.
#
MaximumNumInputSamples —
maximum number of input samples
Real number
Details
The maximum number of samples in the input signal is x, set as a positive integer. This property limits the size of the input signal. Any input signal that exceeds this value is truncated.
Default value — 100
Dependencies
To use this property, set the RangeMethod value "Matched filter", and for the property MaximumNumInputSamplesSource — value "Property".
#
RangeFFTLength —
the length of the FFT when processing the range
Int64 integer
Details
The length of the FFT in the range range, set as a positive integer.
Default value — 1024
Dependencies
To use this property, set the RangeMethod value "FFT", and for the property RangeFFTLengthSource value "Property".
Algorithms
Processing algorithm
Details
An object EngeePhased.RangeDopplerResponse performs the processing as follows:
-
Processes the input signal in a fast time measurement using either a matched filter or a demodulation/FFT operation.
-
Processes the input signal in pulse measurement using the FFT. The decimation algorithm uses a 30th-order FIR filter generated by the function
fir1(30,1/R), whereR— property value DecimationFactor.
Data accuracy
Details
This system object supports single and double precision for inputs, properties, and arguments. If the input data x has single precision, then the output data will be single precision. If the input data x has double precision, then the output data will have double precision. The accuracy of the output data does not depend on the accuracy of the properties and other arguments.