Stepped FM pulse waveform
SteppedFMWaveform object creates a stepped
FM pulse waveform.
To obtain waveform samples:
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 hertz. The pulse repetition interval (PRI) is the inverse of the PRF.
The value of this property must satisfy these constraints:
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 one of
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|
|clone||Create stepped FM pulse waveform object with same property values|
|getMatchedFilter||Matched filter coefficients for waveform|
|getNumInputs||Number of expected inputs to step method|
|getNumOutputs||Number of outputs from step method|
|isLocked||Locked status for input attributes and nontunable properties|
|plot||Plot stepped FM pulse waveform|
|release||Allow property value and input characteristics changes|
|reset||Reset state of stepped FM pulse waveform object|
|step||Samples of stepped FM pulse waveform|
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.
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')
 Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005.