Main Content

getStretchProcessor

Create stretch processor for waveform

Since R2023a

Description

example

strproc = getStretchProcessor(waveform) returns the stretch processor strproc for the waveform System object™. By default the processor is set up so the reference range corresponds to 1/4 of the maximum unambiguous range of a pulse. The range span corresponds to 1/10 of the distance traveled by the wave within the pulse width. The propagation speed is the speed of light.

strproc = getStretchProcessor(waveform,refrng) also specifies the reference range.

strproc = getStretchProcessor(waveform,refrng,rngspan) also specifies the range span rngspan. The reference interval is centered at refrng.

strproc = getStretchProcessor(waveform,refrng,rngspan,v) specifies the propagation speed v.

Examples

collapse all

Use stretch processing to locate a target at a range of 4950 m.

Simulate the signal.

waveform = phased.LinearFMWaveform;
x = waveform();
c = physconst('LightSpeed');
rng = 4950.0;
num_samples = round(rng/(c/(2*waveform.SampleRate)));
x = circshift(x,num_samples);

Perform stretch processing.

stretchproc = getStretchProcessor(waveform,5000,200,c);
y = stretchproc(x);

Plot the spectrum of the resulting signal.

[Pxx,F] = periodogram(y,[],2048,stretchproc.SampleRate,'centered');
plot(F/1000,10*log10(Pxx))
grid
xlabel('Frequency (kHz)')
ylabel('Power/Frequency (dB/Hz)')
title('Periodogram Power Spectrum Density Estimate')

Detect the range.

[~,rngidx] = findpeaks(pow2db(Pxx/max(Pxx)),'MinPeakHeight',-5);
rngfreq = F(rngidx);
rng = stretchfreq2rng(rngfreq,stretchproc.SweepSlope,stretchproc.ReferenceRange,c)
rng = 4.9634e+03

Input Arguments

collapse all

Pulse waveform, specified as a Phased Array System Toolbox™ System object.

Example: phased.RectangularWaveform

Reference range, specified as a positive scalar. Units are in meters.

Data Types: double

Range span of interest, specified as a positive scalar. The center of the interval is the range value specified in the refrng argument. Units are in meters.

Data Types: double

Propagation speed, specified as a positive scalar. Units are in meters per second.

Example: 300.0

Data Types: double

Output Arguments

collapse all

Stretch processor, returned as a phased.StretchProcessor System object.

Version History

Introduced in R2023a