Stepped FM pulse waveform
SteppedFMWaveform object creates a stepped
FM pulse waveform.
To obtain waveform samples:
Define and set up your stepped FM pulse waveform. See Construction.
step to generate the stepped
FM pulse waveform samples according to the properties of
The behavior of
step is specific to each object in
Starting in R2016b, instead of using the
sSFM = phased.SteppedFMWaveform creates
a stepped FM pulse waveform System object,
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 PRF.
The value of the
You can select the value of PRF by using property settings or input arguments.
In all cases, when you use a varying PRF and
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
|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|
Create System object with same property values
Expected number of inputs to a System object
Expected number of outputs of a System object
Check locked states of a System object (logical)
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).