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