Stepped FM pulse waveform
SteppedFMWaveform object creates a stepped
FM pulse waveform.
To obtain waveform samples:
Starting in R2016b, instead of using the
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example,
= step(obj,x) and
y = obj(x) perform
equivalent operations. When the only argument to the
is the System
object itself, replace
y = step(obj) by
sSFM = phased.SteppedFMWaveform creates
a stepped FM pulse waveform System
The object generates samples of a linearly stepped FM pulse waveform.
sSFM = phased.SteppedFMWaveform( creates
a stepped FM pulse waveform object,
each specified property Name set to the specified Value. You can specify
additional name-value pair arguments in any order as (
Signal sample rate, specified as a positive scalar. Units are Hertz. The ratio of sample rate to pulse repetition frequency (PRF) must be a positive integer — each pulse must contain an integer number of samples.
Method to set pulse duration
Method to set pulse duration (pulse width), specified as
Specify the length of each pulse (in seconds) as a positive
scalar. The value must satisfy
Waveform duty cycle
Waveform duty cycle, specified as a scalar from 0 through 1,
inclusive. This property applies when you set the
Pulse repetition frequency
Pulse repetition frequency, PRF, specified as a scalar or a row vector. Units are in Hz. The pulse repetition interval, PRI, is the inverse of the pulse repetition frequency, PRF. ThePRF must satisfy these restrictions:
You can select the value of PRF using property settings alone or using
property settings in conjunction with the
In all cases, the number of output samples is fixed when you set the
Enable PRF selection input
Enable the PRF selection input, specified as
Linear frequency step size
Specify the linear frequency step size (in hertz) as a positive scalar. The default value of this property corresponds to 20 kHz.
Specify the number of frequency steps as a positive integer.
Output signal format
Specify the format of the output signal as
When you set the
Number of samples in output
Specify the number of samples in the output of the
Number of pulses in output
Specify the number of pulses in the output of the
Set this property to
This property can be used only when the
|bandwidth||Bandwidth of stepped FM pulse waveform|
|getMatchedFilter||Matched filter coefficients for waveform|
|plot||Plot stepped FM pulse waveform|
|reset||Reset state of stepped FM pulse waveform object|
|step||Samples of stepped FM pulse waveform|
|Common to All System Objects|
Allow System object property value changes
Create a stepped frequency pulse waveform object. Assume the default value, 1 MHz, for the sample rate. Then, plot the waveform.
Create the SteppedFMWaveform System object™ with 20 kHz frequency step size.
sSFM = phased.SteppedFMWaveform('NumSteps',3,'FrequencyStep',20e3); fs = sSFM.SampleRate;
Plot the third pulse of the wave using the
phased.SteppedFMWaveform.plot method. Pass in the pulse number using the
'PulseIdx' name-value pair.
Alternatively, call the
step method three times to obtain three pulses. Collect the three pulses in a single time series. Then plot the waveform using the
plot function. You can see the full duty cycles of the pulses.
wavfull = ; wav = step(sSFM); wavfull = [wavfull;wav]; wav = step(sSFM); wavfull = [wavfull;wav]; wav = step(sSFM); wavfull = [wavfull;wav]; nsamps = size(wavfull,1); t = [0:(nsamps-1)]/fs*1e6; plot(t,real(wavfull)) xlabel('Time (\mu sec)') ylabel('Amplitude') grid
Plot the spectrum using the
spectrogram function. Assume an fft of 64 samples and a 50% overlap. Window the signal with a hamming function.
nfft1 = 64; nov = floor(0.5*nfft1); spectrogram(wavfull,hamming(nfft1),nov,nfft1,fs,'centered','yaxis')
In a stepped FM waveform, a group of pulses together sweep a certain bandwidth. Each pulse in this group occupies a given center frequency and these center frequencies are uniformly located within the total bandwidth.
 Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005.
Usage notes and limitations:
plot method is not supported.
See System Objects in MATLAB Code Generation (MATLAB Coder).