# Documentation

### This is machine translation

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

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# phased.SteppedFMWaveform System object

Stepped FM pulse waveform

## Description

The SteppedFMWaveform object creates a stepped FM pulse waveform.

To obtain waveform samples:

1. Define and set up your stepped FM pulse waveform. See Construction.

2. Call step to generate the stepped FM pulse waveform samples according to the properties of phased.SteppedFMWaveform. The behavior of step is specific to each object in the toolbox.

### 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().

## Construction

sSFM = phased.SteppedFMWaveform creates a stepped FM pulse waveform System object, sSFM. The object generates samples of a linearly stepped FM pulse waveform.

sSFM = phased.SteppedFMWaveform(Name,Value) creates a stepped FM pulse waveform object, sSFM, with each specified property Name set to the specified Value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

## Properties

 SampleRate Sample rate 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. Default: 1e6 DurationSpecification Method to set pulse duration Method to set pulse duration (pulse width), specified as 'Pulse width' or 'Duty cycle'. This property determines how you set the pulse duration. When you set this property to 'Pulse width', then you set the pulse duration directly using the PulseWidth property. When you set this property to 'Duty cycle', you set the pulse duration from the values of the PRF and DutyCycle properties. The pulse width is equal to the duty cycle divided by the PRF. Default: 'Pulse width' PulseWidth Pulse width Specify the length of each pulse (in seconds) as a positive scalar. The value must satisfy PulseWidth <= 1./PRF. Default: 50e-6 DutyCycle Waveform duty cycle Waveform duty cycle, specified as a scalar from 0 through 1, inclusive. This property applies when you set the DurationSpecification property to 'Duty cycle'. The pulse width is the value of the DutyCycle property divided by the value of the PRF property. Default: 0.5 PRF 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 PRF property must satisfy these constraints: The product of PRF and PulseWidth must be less than or equal to one. This is equivalent to the requirement that the pulse width is less than a pulse repetition interval. For the phase-coded waveform, the pulse width is the product of the chip width and number of chips.The ratio of sample rate to PRF must be an integer. This is equivalent to requiring that the number of samples in one pulse repetition interval be an integer. You can select the value of PRF by using property settings or input arguments. When PRFSelectionInputPort is false, you set the PRF using properties implement a constant PRF by specifying PRF as a positive real-valued scalar.implement a staggered PRF by specifying PRF as a row vector with positive real-valued entries. Then, each call to the step method uses successive elements of this vector for the PRF. If the last element of the vector is reached, the process continues cyclically with the first element of the vector. When PRFSelectionInputPort is true, you can implement a selectable PRF by specifying PRF as a row vector with positive real-valued entries. But this time, when you execute the step method, select a PRF by passing an index into the PRF vector as an argument. In all cases, when you use a varying PRF and choose the OutputFormat property as 'Pulses', the number of samples per pulse can vary as well. When you choose 'Samples' the number of samples per pulse is fixed. Default: 10e3 PRFSelectionInputPort Enable PRF selection input Enable the PRF selection input, specified as true or false. When you set this property to false, the step method uses the values set in the PRF property in order. When you set this property to true, you can pass an additional argument into the step method to select any value from the PRF vector. Default: false FrequencyStep 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. Default: 20e3 NumSteps Specify the number of frequency steps as a positive integer. When NumSteps is 1, the stepped FM waveform reduces to a rectangular waveform. Default: 5 OutputFormat Output signal format Specify the format of the output signal as 'Pulses' or 'Samples'. When you set the OutputFormat property to 'Pulses', the output of the step method takes the form of multiple pulses specified by the value of the NumPulses property. The number of samples per pulse can vary if you change the pulse repetition frequency during the simulation. When you set the OutputFormat property to 'Samples', the output of the step method is in the form of multiple samples. In this case, the number of output signal samples is the value of the NumSamples property and is fixed. Default: 'Pulses' NumSamples Number of samples in output Specify the number of samples in the output of the step method as a positive integer. This property applies only when you set the OutputFormat property to 'Samples'. Default: 100 NumPulses Number of pulses in output Specify the number of pulses in the output of the step method as a positive integer. This property applies only when you set the OutputFormat property to 'Pulses'. Default: 1

## Methods

 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
clone

Create System object with same property values

getNumInputs

Expected number of inputs to a System object

getNumOutputs

Expected number of outputs of a System object

isLocked

Check locked states of a System object (logical)

release

Allow System object property value changes

## Examples

expand all

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.

plot(sSFM,'PulseIdx',3);

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')

expand all

## References

[1] Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005.