Linear FM (LFM) pulse waveform
Phased Array System Toolbox / Waveforms
The Linear FM Waveform block generates a linear FM pulse waveform with specified pulse width, pulse repetition frequency (PRF), and sweep bandwidth. The block outputs an integer number of pulses or samples.
PRFIdx
— PRF IndexIndex to select the pulse repetition frequency (PRF), specified as a positive integer. The index selects the PRF from the predefined vector of values specified by the Pulse repetition frequency (Hz) parameter.
Example:
4
To enable this port, select Enable PRF selection input.
Data Types: double
FreqOffset
— Frequency offsetFrequency offset in Hz, specified as a scalar.
Example:
2e3
To enable this port, set Source of Frequency Offset to
Input port
.
Data Types: double
Y
— Pulse waveformPulse waveform samples, returned as a complex-valued vector.
Data Types: double
PRF
— Pulse repetition frequencyPulse repetition frequency of current pulse, returned as a positive scalar.
To enable this port, set the Output signal
format parameter to Pulses
and then select the Enable PRF output
parameter.
Data Types: double
Coeff
— Matched filter coefficientsMatched filter coefficients, returned as a vector or matrix.
To enable this port, select Enable Matched Filter Coefficients Output.
Data Types: double
Complex Number Support: Yes
Sample rate (Hz)
— Sample rate of the output waveform1e6
(default) | positive scalarSample rate of the output waveform, specified as a positive scalar. The ratio of Sample rate (Hz) to each element in the Pulse repetition frequency (Hz) vector must be an integer. This restriction is equivalent to requiring that the pulse repetition interval is an integral multiple of the sample interval.
Method to specify pulse duration
— Pulse duration as time or duty cyclePulse width
(default) | Duty cycle
Method to set the pulse duration, specified as Pulse width
or Duty cycle
. When you set this parameter to
Pulse width
, the pulse duration is set using the
Pulse width (s) parameter. When you set this parameter to
Duty cycle
, the pulse duration is computed from the
values of the Pulse repetition frequency (Hz) and Duty
Cycle parameters.
Pulse width (s)
— Time duration of pulse50e-6
(default) | positive scalarThe duration of each pulse, specified as a positive scalar. Set the product of Pulse width (s) and Pulse repetition frequency to be less than or equal to one. This restriction ensures that the pulse width is smaller than the pulse repetition interval. Units are in seconds.
Example: 300e-6
To enable this parameter, set the Method to specify pulse
duration parameter to Pulse width
.
Duty cycle
— Waveform duty cycle0.5
(default) | scalar in the range [0,1]Waveform duty cycle, specified as a scalar in the range [0,1].
Example: 0.7
To enable this parameter, set the Method to specify pulse duration
parameter to Duty cycle
.
Pulse repetition frequency (Hz)
— Pulse repetition frequency1e4
(default) | positive scalarPulse 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 pulse repetition frequency, PRF. The value of Pulse repetition frequency (Hz) must satisfy these constraints:
The product of Pulse width and Pulse repetition frequency (Hz) must be less than or equal to one. This condition expresses the requirement that the pulse width is less than one 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 any element of Pulse repetition frequency must be an integer. This condition expresses the requirement that the number of samples in one pulse repetition interval is an integer.
You can select the value of PRF by using block parameter settings alone or
in conjunction with the input port, PRFIdx
.
When the Enable PRF selection input parameter is not selected, set the PRF using block parameters.
To implement a constant PRF, specify Pulse repetition frequency (Hz) as a positive scalar.
To implement a staggered PRF, specify Pulse repetition frequency (Hz) as a row vector with positive values. After the waveform reaches the last element of the vector, the process continues cyclically with the first element of the vector. When PRF is staggered, the time between successive output pulses cycles through the successive values of the PRF vector.
When the Enable PRF selection input parameter is selected, you
can implement a selectable PRF by specifying Pulse
repetition frequency (Hz) as a row vector with positive real-valued
entries. But this time, when you execute the block, select a PRF by
passing an index into the PRF vector into the
PRFIdx
port.
In all cases, the number of output samples is fixed when you set the
Output signal format to Samples
. When you
use a varying PRF and set Output signal format to
Pulses
, the number of output samples can vary.
Enable PRF selection input
— Select predefined PRFSelect this parameter to enable the PRFIdx
port.
When enabled, pass in an index into a vector of predefined PRFs. Set predefined PRFs using the Pulse repetition frequency (Hz) parameter.
When not enabled, the block cycles through the vector of PRFs specified by the Pulse repetition frequency (Hz) parameter. If Pulse repetition frequency (Hz) is a scalar, the PRF is constant.
Sweep bandwidth (Hz)
— Bandwidth of FM sweep1e5
(default) | positive scalarBandwidth of the linear FM sweep in Hz, specified as a positive scalar.
Example: 1e3
Sweep direction
— Direction of FM sweepUp
(default) | Down
Specify the direction of the linear FM sweep as Up
(increasing frequency) or Down
(decreasing
frequency).
Sweep interval
— FM frequency sweep intervalPositive
(default) | Symmetric
FM frequency sweep interval, specified as
Positive
or
Symmetric
. If you set this parameter to
Positive
, the waveform sweeps the frequency
interval between 0 and B, where
B is the value of the Sweep
bandwidth parameter. If you set this parameter value to
Symmetric
, the waveform sweeps the interval
between –B/2 and B/2.
Envelope function
— FM signal amplitude envelopeRectangular
(default) | Gaussian
FM signal amplitude envelope, specified as
Rectangular
or
Gaussian
.
Source of Frequency Offset
— Source of frequency offsetProperty
(default) | Input port
Source of frequency offset, specified as Property
or
Input port
.
When set to
Property
, the offset is
determined by the value of the Frequency
Offset parameter.
When set to Input
port
, the offset is determined by
the value of the FreqOffset
port.
Frequency Offset (Hz)
— Frequency offset0
(default) | scalarFrequency offset in Hz, specified as a scalar.
Example: 2e3
To enable this parameter set the Source of Frequency Offset
parameter to Input port
.
Source of simulation sample time
— Source of simulation sample timeDerive from waveform parameters
(default) | Inherit from Simulink engine
Source of simulation sample time, specified as Derive from waveform
parameters
or Inherit from Simulink engine
.
When set to Derive from waveform parameters
, the block runs
at a variable rate determined by the PRF of the selected waveform. The elapsed time is
variable. When set to Inherit from Simulink engine
, the
block runs at a fixed rate so the elapsed time is a constant.
To enable this parameter, select the Enable PRF selection input parameter.
Output signal format
— Format of the output signalPulses
(default) | Samples
The format of the output signal, specified as Pulses
or Samples
.
If you set this parameter to Samples
, the output of the block consists of multiple samples. The number of samples is the value of the Number of samples in output parameter.
If you set this parameter to Pulses
, the output of the block consists of multiple pulses. The number of pulses is the value of the Number of pulses in output parameter.
Number of samples in output
— Number of samples in output100
(default) | positive integerNumber of samples in the block output, specified as a positive integer.
Example: 1000
To enable this parameter, set the Output signal format
parameter to Samples
.
Data Types: double
Number of pulses in output
— Number of pulses in output1
(default) | positive integerNumber of pulses in the block output, specified as a positive integer.
Example: 2
To enable this parameter, set the Output signal
format parameter to
Pulses
.
Data Types: double
Enable PRF Output
— Enable output of PRFoff
(default) | on
Select this parameter to enable the PRF
output port.
To enable this parameter, set Output signal format to
Pulses
.
Enable Matched Filter Coeficients Output
— Enable output of matched filter coefficientsoff
(default) | on
Select this parameter to enable the Coeff
output port.
Simulate using
— Block simulation methodInterpreted Execution
(default) | Code Generation
Block simulation, specified as Interpreted Execution
or Code
Generation
. If you want your block to use the MATLAB® interpreter,
choose Interpreted Execution
. If you want
your block to run as compiled code, choose Code Generation
.
Compiled code requires time to compile but usually runs faster.
Interpreted execution is useful when you are developing and tuning a model. The block runs the
underlying System object™ in MATLAB. You can change and execute your model quickly. When you are satisfied
with your results, you can then run the block using Code
Generation
. Long simulations run faster with generated code than in
interpreted execution. You can run repeated executions without recompiling, but if you
change any block parameters, then the block automatically recompiles before
execution.
This table shows how the Simulate using parameter affects the overall simulation behavior.
When the Simulink® model is in Accelerator
mode, the block mode specified
using Simulate using overrides the simulation mode.
Acceleration Modes
Block Simulation | Simulation Behavior | ||
Normal | Accelerator | Rapid Accelerator | |
Interpreted Execution | The block executes using the MATLAB interpreter. | The block executes using the MATLAB interpreter. | Creates a standalone executable from the model. |
Code Generation | The block is compiled. | All blocks in the model are compiled. |
For more information, see Choosing a Simulation Mode (Simulink).