The linear FM waveform is popular in radar systems because its large time-bandwidth product can provide good range resolution. However, the large bandwidth of this waveform makes digital matched filtering difficult because it requires expensive, high-quality analog-to-digital converters. Stretch processing, also known as deramping or dechirping, is an alternative to matched filtering. Stretch processing provides pulse compression by looking for the return within a predefined range interval of interest. Stretch processing typically occurs in the analog domain. Unlike matched filtering, stretch processing reduces the bandwidth requirement of subsequent processing.
The phased.StretchProcessor
System object™ implements stretch processing. You can use this object as part of a
simulation that uses phased.LinearFMWaveform
or
directly with your own data.
The typical procedure for stretch processing is as follows:
Choose a range interval of interest, centered on a reference range. Stretch processing focuses on this interval instead of the entire range span that the pulse can cover.
Define and configure a stretch processor object. The configuration includes the reference range, length of the range interval of interest, characteristics of the linear FM waveform, and signal propagation speed.
If you are using a phased.LinearFMWaveform
object to implement the
linear FM waveform, use the getStretchProcessor
method to define and
automatically configure a stretch processor object.
Otherwise, create a phased.StretchProcessor
object directly, and set its
properties as needed.
Perform stretch processing by calling the step
method on your stretch processor object. You provide
your received signal as an input argument. The step
method generates a reference signal and correlates it
with your received signal.
Compute a periodogram of the output from step
, and identify the peak frequencies. You can use the
following features to help you perform this step:
periodogram
psd
findpeaks
Convert each peak frequency to the corresponding range value, using the
stretchfreq2rng
function.
findpeaks
| periodogram
| phased.LinearFMWaveform
| phased.StretchProcessor
| stretchfreq2rng