Engee documentation

Pulse Compression Library

A library of pulse compression specifications.

pulse compression library

Description

The Pulse Compression Library block performs range compression processing of escort data. Pulse compression methods include matched filtering and range increase processing. The block allows you to create a library of different pulse compression specifications. The output is a filter characteristic consisting of a matrix or three-dimensional array whose rows represent the range selector pulse.

Ports

Input

X - input signal
complex matrix K by L | complex matrix K by N | complex array K by N by L

The input signal given as a complex matrix on , a complex matrix on or a complex array on on . Here is the number of fast time samples, is the number of pulses, and is the number of channels. Channels can be array elements or bundles.

Data types: Float64.

Support for complex numbers: Yes

Idx - index of the processing specification
`positive integer

The index of the processing specification in the pulse compression library, specified as a positive integer.

Data types: Float64.

Output

Y - output signal
complex matrix K on L | complex matrix K on N | complex array K on N on L

The output signal returned as a complex matrix on , a complex matrix on or a complex array on on . Here is the number of fast time samples, is the number of pulses, and is the number of channels. Channels can be array elements or bundles. The dimension Y coincides with the dimension X.

Data types: Float64.

Support for complex numbers: Yes

Range - sampling range
real vector of length M

The sampling range returned as a real vector of length , where is the number of rows Y. The elements of this vector define the ranges corresponding to the Y rows.

Data types: Float64.

Parameters

Propagation speed - speed of signal propagation, m/c
299792458 (by default) | positive scalar

Signal propagation speed as a real positive scalar. By default, the value of the speed of light is used: 299792458 m/c.

The unit of measurement is m/c.

Data types: Float64.

Specification of each waveform in the library - specification of each waveform in the library
(Rectangular = (PRF = 1e4, PulseWidth = 50e-6), LinearFM = (PRF = 1e4, PulseWidth = 50e-6, SweepBandwidth = 1e5, SweepDirection = "Up", SweepInterval = "Positive")) (By default) | ` cell array`.

A signal specification given as an array of cells. Each cell in the array contains the specification of one signal type. Each signal specification is also an array of cells containing the parameters of the signal.

(Waveform 1 = (Specification), Waveform 2 = (Specification), Waveform 3 = (Specification), ...)

This block supports four built-in signals. Each signal specification consists of a signal identifier followed by several arguments and their values that define the signal properties.

The Waveform values are:

  • LinearFM - linear frequency modulation. Arguments:

    • PRF - pulse repetition frequency as a positive scalar. The units of measurement are Hz.

    • PulseWidth - pulse duration as a positive scalar. The unit of measurement is s. You cannot specify PulseWidth and DutyCycle at the same time.

    • DutyCycle - the inverse of the pulse width as a positive scalar, greater than zero and less than or equal to one. You cannot specify PulseWidth and DutyCycle at the same time.

    • SweepBandwidth - width of the signal spectrum as a positive scalar. The unit of measurement is Hz.

    • SweepDirection - direction of frequency deviation, values for selecting Up or Down. Up corresponds to frequency increase. Down corresponds to decreasing the frequency.

    • SweepInterval - frequency deviation interval, values for selecting Positive or Symmetric. If Positive is set, the signal frequency will vary in the interval from 0 to , where is the value of the SweepBandwidth argument. If you set this property to Symmetric, the signal frequency will vary between and .

    • Envelope - envelope function, values to select are Rectangular or Gaussian.

    • FrequencyOffset - frequency offset as a scalar. Frequency offset shifts the frequency of the generated pulse. The unit of measurement is Hz.

  • PhaseCoded - phase coded. Arguments:

    • PRF - Pulse repetition frequency as a positive scalar. The unit of measurement is Hz.

    • Code - Type of phase modulation code, values to select are Frank, P1, P2, Px, Zadoff-Chu, P3, P4 or Barker.

    • SequenceIndex - the sequence index used for the Zadoff-Chu code, specified as a positive integer. The value of SequenceIndex must be reciprocally simple with respect to the value of NumChips.

    • ChipWidth - duration of the elementary signal as a positive scalar. The units of measurement are s.

    • NumChips - number of elementary signals in the signal as a positive integer.

    • FrequencyOffset - frequency shift as a scalar. Frequency offset shifts the frequency of the generated pulse. The unit of measurement is Hz.

  • Rectangular - rectangular. Arguments:

    • PRF - pulse repetition frequency as a positive scalar. Units - Hz.

    • PulseWidth - pulse duration as a positive scalar. The unit of measurement is s. You cannot specify PulseWidth and DutyCycle at the same time.

    • DutyCycle - the inverse of the pulse width as a positive scalar greater than zero and less than or equal to one. You cannot specify PulseWidth and DutyCycle at the same time.

    • FrequencyOffset is the frequency offset as a scalar. Frequency offset shifts the frequency of the generated pulse. The unit of measurement is Hz.

  • SteppedFM - stepped frequency modulation. Arguments:

    • PRF - pulse repetition frequency as a positive scalar. The units of measurement are Hz.

    • PulseWidth - pulse duration as a positive scalar. The unit of measurement is s. You cannot specify PulseWidth and DutyCycle at the same time.

    • DutyCycle - the duty cycle of the pulse as a positive scalar, greater than zero and less than or equal to one. You cannot specify PulseWidth and DutyCycle at the same time.

    • NumSteps - the number of frequency steps as a positive integer.

    • FrequencyStep - linear step in frequency as a positive integer.

    • FrequencyOffset - frequency offset as a scalar. Frequency offset shifts the frequency of the generated pulse. Units of measurement - Hz.

Pulse compression specifications - specify pulse compression type
(MatchedFilter = (SpectrumWndow = "None",), StretchProcessor = (RangeSpan = 200, ReferenceRange = 5000, RangeWindow = "None")) (By default) | ` Cell Array`.

The type and parameters of the signal processing specified as an array of processing specification cells. Each processing specification is itself a cell array containing the processing type and processing arguments.

(Processing 1 = (Specification), Processing 2 = (Specification),Processing 3 = (Specification), ...)

Each processing specification specifies what type of processing should be applied to the signal, as well as the arguments required for processing.

(processtype = (Name=Value, ...))

The processstype values are either MatchedFilter or StretchProcessor.

The arguments MatchedFilter:

  • Coefficients are the coefficients of the matched filter in the form of a column vector. If this argument is not specified, the coefficient values are calculated depending on the signal type. For a stepped SteppedFM modulation waveform containing multiple pulses, Coefficients matches each pulse until the pulse index changes.

  • SpectrumWndow is the spectral window applied to the signal. The values to select are None, Hamming, Chebyshev, Hann, Kaiser and Taylor. By default, the value of None is used.

  • SidelobeAttenuation - level of side lobe attenuation for Chebyshev or Taylor windows as a positive scalar. The value by default is 30. This parameter is applied if SpectrumWndow is set to Chebyshev or Taylor.

  • Beta - parameter defining the attenuation of the side lobes of the Kaiser window, as a non-negative scalar. The value by default is 0.5. This parameters is applied if SpectrumWndow is set to Kaiser.

  • Nbar - the number of nearly constant level side lobes adjacent to the main lobe in the Taylor window, as a positive integer. The value by default is 4. This parameters is applied if SpectrumWndow is set to Taylor.

  • SpectrumRange - specifies the area of the spectrum on which the spectral window is overlaid, as a 1 by 2 vector having the form [StartFrequency EndFrequency]. The value by default is [0 1.0e5]. This parameters is applied if SpectrumWndow has any value other than None. The unit of measure is Hz. Both parameters StartFrequency and EndFrequency are measured in the baseband area , where is the sampling frequency specified by the SampleRate parameter, StartFrequency cannot be greater than EndFrequency.

Arguments StretchProcessor:

  • ReferenceRange - specifies the centre of the range of interest as a positive scalar. The value of ReferenceRange must be in the single digit range of a single pulse. The value by default is 5000. The unit of measurement is m.

  • RangeSpan - specifies the range interval of interest as a positive scalar. The range interval is centred on the range value specified in ReferenceRange. The value by default is 200. The unit of measure is m.

  • RangeFFTLength - the length for the fast Fourier transform (FFT) in the range area as a positive integer. If the parameters is not specified, the value by default is equal to the length of input data.

  • RangeWindow - specifies the window used for range processing, the values to select are None, Hamming, Chebyshev, Hann, Kaiser and Taylor. By default, the value None is used.

Inherit sample rate - inherit sample rate
On (By default) | Off

Select the checkbox to inherit sample rate from upstream blocks. Otherwise, set the sample rate using the Sample rate (Hz) parameters.

Sample rate (Hz) - sampling rate
1e6 (By default) | Positive scalar

The sampling frequency of the signal as a positive scalar. The unit of measurement is Hz.

Dependencies

To use this parameters, clear the Inherit sample rate checkbox.