Main Content

phased.FMCWWaveform

FMCW waveform

Description

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

To create and use the object:

  1. Create the phased.FMCWWaveform object and set its properties.

  2. Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

Creation

Description

waveform = phased.FMCWWaveform creates a phased.FMCWWaveform System object™, waveform, with default property values.

waveform = phased.FMCWWaveform(Name=Value) creates a FMCW waveform System object 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

expand all

Unless otherwise indicated, properties are nontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

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.

Example: 100

Data Types: double

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.

Example: 5e-4

Data Types: double

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.

Example: 1e6

Data Types: double

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

Example: 'Triangle'

Data Types: double

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.

Example: 'Symmetric'

Data Types: double

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 object is in the form of multiple samples. In this case, the number of samples is the value of the NumSamples property.

Example: 'Samples'

Data Types: char | string

Specify the number of samples in the output of the object as a positive integer.

Dependencies

To enable this property, set the OutputFormat property to 'Samples'.

Data Types: double

Specify the number of sweeps in the output of the object as a positive integer.

Example: 10

Dependencies

To enable this property, set the OutputFormat property to 'Sweeps.

Data Types: double

Usage

Description

Y = waveform() returns samples of the FMCW waveform Y. Y can contain either a certain number of sweeps or a certain number of samples.

example

Output Arguments

expand all

If the OutputFormat property is 'Samples', Y consists of NumSamples samples.

If the OutputFormat is 'Sweeps', Y consists of NumSweeps sweeps. Also, if SweepDirection is 'Triangle', each sweep is half a period.

Data Types: double

Object Functions

To use an object function, specify the System object as the first input argument. For example, to release system resources of a System object named obj, use this syntax:

release(obj)

expand all

plotPlot FMCW waveform
stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

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