Main Content

phased.FMCWWaveform

FMCW waveform

Description

The FMCWWaveform object creates an FMCW (frequency modulated continuous wave) waveform.

To obtain waveform samples:

  1. Define and set up your FMCW waveform. See Construction.

  2. Call step to generate the FMCW waveform samples according to the properties of phased.FMCWWaveform. 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

H = phased.FMCWWaveform creates an FMCW waveform System object, H. The object generates samples of an FMCW waveform.

H = phased.FMCWWaveform(Name,Value) creates an FMCW waveform object, H, with additional options specified by one or more Name,Value pair arguments. Name is a property name, and Value is the corresponding value. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,…,NameN,ValueN.

Properties

SampleRate

Sample rate

Specify the same rate, in hertz, as a positive scalar. The default value of this property corresponds to 1 MHz.

The quantity (SampleRate .* SweepTime) is a scalar or vector that must contain only integers.

Default: 1e6

SweepTime

Duration of each linear FM sweep

Specify the duration of the upsweep or downsweep, in seconds, as a row vector of positive, real numbers. The default value corresponds to 100 μs.

If SweepDirection is 'Triangle', the sweep time is half the sweep period because each period consists of an upsweep and a downsweep. If SweepDirection is 'Up' or 'Down', the sweep time equals the sweep period.

The quantity (SampleRate .* SweepTime) is a scalar or vector that must contain only integers.

To implement a varying sweep time, specify SweepTime as a nonscalar row vector. The waveform uses successive entries of the vector as the sweep time for successive periods of the waveform. If the last element of the vector is reached, the process continues cyclically with the first entry of the vector.

If SweepTime and SweepBandwidth are both nonscalar, they must have the same length.

Default: 1e-4

SweepBandwidth

FM sweep bandwidth

Specify the bandwidth of the linear FM sweeping, in hertz, as a row vector of positive, real numbers. The default value corresponds to 100 kHz.

To implement a varying bandwidth, specify SweepBandwidth as a nonscalar row vector. The waveform uses successive entries of the vector as the sweep bandwidth for successive periods of the waveform. If the last element of the SweepBandwidth vector is reached, the process continues cyclically with the first entry of the vector.

If SweepTime and SweepBandwidth are both nonscalar, they must have the same length.

Default: 1e5

SweepDirection

FM sweep direction

Specify the direction of the linear FM sweep as one of 'Up' | 'Down' | 'Triangle'.

Default: 'Up'

SweepInterval

Location of FM sweep interval

If you set this property value to 'Positive', the waveform sweeps in the interval between 0 and B, where B is the SweepBandwidth property value. If you set this property value to 'Symmetric', the waveform sweeps in the interval between –B/2 and B/2.

Default: 'Positive'

OutputFormat

Output signal format

Specify the format of the output signal as one of 'Sweeps' or 'Samples'. When you set the OutputFormat property to 'Sweeps', the output of the step method is in the form of multiple sweeps. In this case, the number of sweeps is the value of the NumSweeps property. If the SweepDirection property is 'Triangle', each sweep is half a period.

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 samples is the value of the NumSamples property.

Default: 'Sweeps'

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

NumSweeps

Number of sweeps in output

Specify the number of sweeps in the output of the step method as a positive integer. This property applies only when you set the OutputFormat property to 'Sweeps'.

Default: 1

Methods

plotPlot FMCW waveform
resetReset states of FMCW waveform object
stepSamples of FMCW waveform
Common to All System Objects
release

Allow System object property value changes

Examples

collapse all

Create and plot an upsweep FMCW waveform.

waveform = phased.FMCWWaveform('SweepBandwidth',100.0e3,...
    'OutputFormat','Sweeps','NumSweeps',2);
plot(waveform)

Figure contains an axes object. The axes object with title FMCW waveform: real part, sweep 1, xlabel Time (s), ylabel Amplitude (v) contains an object of type line.

Generate samples of a triangle sweep FMCW Waveform. Then, plot the spectrogram of the sweep. The sweep has a 10 MHz bandwidth.

sFMCW = phased.FMCWWaveform('SweepBandwidth',10.0e6,...
   'SampleRate',20.0e6,'SweepDirection','Triangle',...
   'NumSweeps',2);
sig = step(sFMCW);
windowlength = 32;
noverlap = 16;
nfft = 32;
spectrogram(sig,windowlength,noverlap,nfft,sFMCW.SampleRate,'yaxis')

Figure contains an axes object. The axes object with xlabel Time (μs), ylabel Frequency (MHz) contains an object of type image.

More About

expand all

References

[1] Issakov, Vadim. Microwave Circuits for 24 GHz Automotive Radar in Silicon-based Technologies. Berlin: Springer, 2010.

[2] Skolnik, M.I. Introduction to Radar Systems. New York: McGraw-Hill, 1980.

Extended Capabilities

Version History

Introduced in R2012b