A stepped frequency pulse waveform consists of a series of N narrowband pulses. The frequency is increased from step to step by a fixed amount, Δf, in Hz.
Similar to linear FM pulse waveforms, stepped frequency waveforms are a popular pulse compression technique. Using this approach enables you to increase the range resolution of the radar without sacrificing target detection capability.
To create a stepped FM pulse waveform, use phased.SteppedFMWaveform.
The stepped frequency pulse waveform has the following modifiable properties:
SampleRate — Sampling rate in Hz
PulseWidth — Pulse duration in seconds
PRF — Pulse repetition frequency in Hz
FrequencyStep — Frequency step in Hz
NumSteps — Number of frequency steps
OutputFormat — Output format in pulses or samples
NumSamples — Number of samples in the output when the OutputFormat property is 'Samples'
NumPulses — Number of pulses in the output when the OutputFormat property is 'Pulses'
Enter the following to construct a stepped FM pulse waveform with a pulse duration (width) of 50 μs, a PRF of 10 kHz, and five steps of 20 kHz. The sampling rate is 1 MHz. By default the OutputFormat property is equal to 'Pulses' and the number of pulses in the output is equal to one. The example uses the bandwidth method to demonstrate that the bandwidth of the stepped FM pulse waveform is the product of the frequency step and the number of steps Obj.FrequencyStep*Obj.Numsteps.
hs = phased.SteppedFMWaveform('SampleRate',1e6,... 'PulseWidth',5e-5,'PRF',1e4,... 'FrequencyStep',2e4,'NumSteps',5); bandwidth(hs) % equal to hs.NumSteps*hs.FrequencyStep
Because the OutputFormat property is set to 'Pulses' and the NumPulses property is set to 1, calling the step method returns one pulse repetition interval (PRI). The pulse duration within that interval is equal to the PulseWidth property. The remainder of the PRI consists of zeros.
The initial pulse has a frequency of zero, and is a DC pulse. With the NumPulses property set to 1, each time you use step, the frequency of the narrowband pulse increments by the value of the FrequencyStep property. If you call step more times than the value of the NumSteps property, the process repeats, starting over with the DC pulse.
Use step to return successively higher frequency pulses. Plot the pulses one by one in the same figure window. Pause the loop to visualize the increment in frequency with each successive call to step. Make an additional call to step to demonstrate that the process starts over with the DC (rectangular) pulse.
t = unigrid(0,1/hs.SampleRate,1/hs.PRF,'[)'); for i = 1:hs.NumSteps plot(t,real(step(hs))); pause(0.5); axis tight; end % calling step again starts over with a DC pulse y = step(hs);
The next figure shows the plot in the final iteration of the loop.