The multiple frequency shift keying (MFSK) waveform is used
in automotive radar to improve simultaneous range and Doppler estimation
of multiple targets. The
the baseband representation of an MFSK waveform. An MFSK waveform
consists of two interleaved sequences of increasing frequencies, as
described in Algorithms.
To obtain waveform samples:
Define and set up the MFSK waveform. See Construction.
step to generate the MFSK
waveform samples according to the properties of
The behavior of
step is specific to each object in
the toolbox. The output of the
step method is controlled
OutputFormat property, which has no effect
on the properties of the waveform.
Starting in R2016b, instead of using the
to perform the operation defined by the System
object, you can
call the object with arguments, as if it were a function. For example,
= step(obj,x) and
y = obj(x) perform
equivalent operations. When the only argument to the
is the System
object itself, replace
y = step(obj) by
sMFSK = phased.MFSKWaveform creates an
MFSK waveform System
an MFSK waveform object,
sMFSK = phased.MFSKWaveform(
sMFSK, with additional
properties specified by one or more
Name-Value pair arguments.
appear inside single quotes (
''). You can specify
several name-value pair arguments in any order as
SampleRate— Sample rate
Sample rate of the signal, specified as a positive scalar. Units are hertz.
SweepBandwidth— MFSK sweep bandwidth
MFSK sweep bandwidth, specified as a positive scalar. Units are in hertz. The sweep bandwidth is the difference between the highest and lowest frequencies of either sequence.
StepTime— Duration of frequency step
Time duration of each frequency step, specified as a positive scalar in seconds.
StepsPerSweep— Total number of frequency steps
Total number of frequency steps in a sweep, specified as an even positive integer.
FrequencyOffset— Chirp offset frequency
Chirp offset frequency, specified as a real scalar. Units are in hertz. The offset determines the frequency translation between the two sequences.
OutputFormat— Output signal grouping
Output signal grouping, specified as one of
'Samples'. This property has no effect on the
waveform but determines the output form of the
'Steps' — The output consists
of all samples contained in an integer number of frequency steps,
'Samples' — The output consists
of an integer number of samples,
'Sweeps' — The output consists
of all samples contained in an integer number of sweeps,
NumSamples— Number of samples in output
Number of samples in output, specified as a positive integer.
This property applies only when you set
NumSteps— Number of frequency steps in output
Number of frequency steps in output, specified as a positive
integer. This property applies only when you set
NumSweeps— Number of sweeps in output
Number of sweeps in output, specified as a positive integer.
This property applies only when you set
|plot||Plot continuous MFSK waveform|
|reset||Reset states of the MFSK waveform object|
|step||Samples of continuous MFSK waveform|
Construct an MFSK waveform with a sample rate of 1 MHz and a sweep bandwidth of 0.1 MHz. Assume 52 steps with a step time of 4 milliseconds. Set the frequency offset to 1 kHz. There are 4000 samples per step.
fs = 1e6; fsweep = 1e5; tstep = 4e-3; numsteps = 52; foffset = 1000; noutputsteps = 4; sMFSK = phased.MFSKWaveform('SampleRate',fs,... 'SweepBandwidth',fsweep,... 'StepTime',tstep,... 'StepsPerSweep',numsteps,... 'FrequencyOffset',foffset,... 'OutputFormat','Steps',... 'NumSteps',noutputsteps);
Plot the real and imaginary components of the second step of the waveform using the
plot method. Set the plot color to red.
An MFSK waveform consists of two interleaved stepped-frequency sequences, as shown in this time-frequency diagram.
Each sequence is a set of continuous waveform (CW) signals increasing in frequency. The offset, Foffset, between the two sequences is constant and can be positive or negative. A complete waveform consists of an even number of steps, N, of equal duration, Tstep. Then, each sequence consists of N/2 steps. The sweep frequency, Fsweep, is the difference between the lowest and highest frequency of either sequence. Fsweep is always positive, indicating increasing frequency. The frequency difference between successive steps of each sequence is given by
Fstep = Fsweep/(N/2–1).
 Meinecke, Marc-Michale, and Hermann Rohling, “Combination of LFMCW and FSK Modulation Principles for Automotive Radar Systems.” German Radar Symposium GRS2000. 2000.
 Rohling, Hermann, and Marc-Michale Meinecke. “Waveform Design Principles for Automotive Radar Systems”. CIE International Conference on Radar. 2001.
Usage notes and limitations:
plot method is not supported.
See System Objects in MATLAB Code Generation (MATLAB Coder).