This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


System object: phased.SteppedFMWaveform
Package: phased

Samples of stepped FM pulse waveform


Y = step(sSFM)
Y = step(sSFM,prfidx)


    Note:   Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations. When the only argument to the step method is the System object itself, replace y = step(obj) by y = obj().

Y = step(sSFM) returns samples of the stepped FM pulses in a column vector, Y. The output, Y, results from increasing the frequency of the preceding output by an amount specified by the FrequencyStep property. If the total frequency increase is larger than the value specified by the SweepBandwidth property, the samples of a rectangular pulse are returned.

Y = step(sSFM,prfidx), uses the prfidx index to select the PRF from the predefined vector of values specified by in the PRF property. This syntax applies when you set the PRFSelectionInputPort property to true.

    Note:   The object performs an initialization the first time the step method is executed. This initialization locks nontunable properties and input specifications, such as dimensions, complexity, and data type of the input data. If you change a nontunable property or an input specification, the System object issues an error. To change nontunable properties or inputs, you must first call the release method to unlock the object.


Stepped FM 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.


expand all

Create a stepped frequency pulse waveform object with a frequency step of 40 kHz and four frequency steps.

sSFM = phased.SteppedFMWaveform(...
fs = sSFM.SampleRate;

Use the step method to obtain the pulses.

First, generate pulse 1.

pulse1 = step(sSFM);

Then, generate pulse 2, incremented by the frequency step 40 kHz

pulse2 = step(sSFM);

Next, generate pulse 3, incremented by the frequency step 40 kHz

pulse3 = step(sSFM);

Finally, generate pulse 4, incremented by the frequency step 40 kHz

pulse4 = step(sSFM);
nsamps = size(pulse4,1);
t = [0:(nsamps-1)]/fs*1e6;
xlabel('Time (\mu sec)')

Was this topic helpful?