Custom FM Waveform
A signal generator with custom frequency modulation.
blockType: CustomFMWaveform
Path in the library:
|
Description
Block Custom FM Waveform generates a pulse signal with a custom frequency modulation with a preset pulse duration, pulse repetition rate and frequency deviation. The output signal of the unit is an integer number of pulses or an integer number of samples.
Ports
Entrance
FreqOffset — frequency offset
scalar
Frequency offset in Hz in the form of a scalar.
Dependencies
To use this port, set the Source of Frequency Offset parameter to Input port
.
Data types: Float64
Output
Y — pulse signal
complex vector
The output signal of the block, returned as a complex vector.
Data types: Float64
Support for complex numbers: Yes
PRF — pulse repetition rate
positive scalar
The pulse repetition rate returned as a positive scalar.
Dependencies
To use this port, set the Output signal format parameter to Pulses
, and then check the box for the Enable PRF output parameter.
Data types: Float64
Coeff — coefficients of the matched pass filter:q[<br>] vector
| the matrix
Coefficients of the matched filter, returned as a vector or matrix.
Dependencies
To use this port, select the Enable Matched Filter Coefficients Output checkbox.
Data types: Float64
Support for complex numbers: Yes
Parameters
Sample rate (Hz) — sampling rate of the output signal
1e6 (default)
| positive scalar
The sampling frequency of the signal in the form of a positive scalar. The units of measurement are Hz.
Ratio Sample rate (Hz) for each element of the vector Pulse repetition frequency (Hz) must be an integer.
This restriction is equivalent to the requirement that the pulse repetition interval it was an integer multiple of the sampling interval.
Block parameter |
|
Values |
|
By default |
|
Method to specify pulse duration — pulse duration as time or fill factor (duty cycle)
Pulse width (default)
| Duty cycle
Pulse duration setting method, options to choose from:
-
Pulse width
— the pulse duration is set using the Pulse width(s) parameter. -
`Duty cycle' is the fill factor, where the pulse duration is calculated from the parameter values Pulse repetition frequency (Hz) and Duty Cycle.
Block parameter |
|
Values |
|
By default |
|
Pulse width (s) — pulse duration
50e−6 (default)
| positive scalar
The pulse duration in seconds, set as a positive scalar value.
Product Pulse width (s) and Pulse repetition frequency (Hz) must be less than or equal to one. This limitation ensures that the pulse width is less than the pulse repetition interval.
Dependencies
To use this parameter, set the Method to specify pulse duration parameter to Pulse width
.
Block parameter |
|
Values |
|
By default |
|
Duty cycle — fill factor (duty cycle)
0.5 (default)
| scalar in the range [0,1]
The fill factor, set as a scalar in the range .
Dependencies
To use this parameter, set the Method to specify pulse duration parameter to Duty cycle
.
Block parameter |
|
Values |
|
By default |
|
Pulse repetition frequency (Hz) — pulse repetition frequency
1e4 (default)
| positive scalar
Pulse repetition rate , specified as a scalar or string vector. Pulse repetition interval is the inverse of the pulse repetition rate .
The value of Pulse repetition frequency (Hz) must satisfy the following constraints:
-
Product Pulse width (s) and Pulse repetition frequency (Hz) must be less than or equal to one. This limitation ensures that the pulse width is less than one pulse repetition interval. For a phase-coded signal, the pulse duration is equal to the product of the duration of one chip and the number of chips.
-
The ratio of the sampling frequency to any Pulse repetition frequency element must be an integer. This restriction is equivalent to requiring that the number of samples in a single pulse repetition interval be an integer.
You can select the value using the block parameters:
-
To implement a permanent , set the Pulse repetition frequency (Hz) as a positive scalar.
-
To implement a stepwise , specify Pulse repetition frequency (Hz) as a string vector with positive values. After the signal reaches the last element of the vector, the process continues cyclically from the first element of the vector. When stepwise, the time between successive output pulses cycles through successive vector values .
The number of output samples is fixed if the Output signal format parameter is set to `Samples'. If it uses a changing if the Output signal format has the value `Pulses', then the number of output samples may vary.
Block parameter |
|
Values |
|
By default |
|
Frequency modulation — pass signal frequency modulation function:q[<br>] [0, 1e5] (default)
| a real vector of length M
| function descriptor
| array of cells
The frequency modulation function of a signal, defined as a real vector of length , a function descriptor or an array of cells.
-
If the value of Frequency Modulation is a vector, then it sets a sample of instantaneous frequency values in points in the form of . For -th pulse with the start time and duration , the instantaneous frequency at a moment in time
equal to , where and . Instantaneous frequencies between time and are found by linear interpolation between and . The received signal with user frequency modulation can be considered as a piecewise signal with linear frequency modulation, consisting of linear sections of equal duration.
-
If the value Frequency Modulation is a function descriptor, then the function must have the following syntax: , where — instantaneous frequency at a moment in time , — the time at which the instantaneous frequency needs to be calculated. Values in they range from 0 to the pulse width.
-
If the value of Frequency Modulation is an array of cells, then the first cell must be a function descriptor, as indicated above. The remaining entries in the cell array are additional input arguments to the function, if any.
Block parameter |
|
Values |
|
By default |
|
Envelope function — setting the envelope of the frequency modulated signal
Rectangular (default)
| Gaussian
| Hamming
| Chebyshev
| Hann
| Kaiser
| Taylor
Frequency modulated signal envelope, options to choose from: Rectangular
, Gaussian', `Hamming
, Chebyshev
, Hann
, Kaiser
or `Taylor'.
Block parameter |
|
Values |
|
By default |
|
Source of Frequency Offset — setting the frequency offset
Property (default)
| Input port
The frequency offset source specified as Property
or Input port
:
-
If the value
Property
is set, the offset is determined by the value of the Frequency Offset parameter. -
If the value
Input port
is set, the offset is determined by the port value FreqOffset.
Block parameter |
|
Values |
|
By default |
|
Frequency Offset (Hz) — pass frequency offset:q[<br>] 0 (default)
| scalar
The frequency offset specified as a scalar. The units of measurement are Hz.
Dependencies
To use this parameter, set the Source of Frequency Offset parameter to Property
.
Block parameter |
|
Values |
|
By default |
|
Output signal format — pass output signal format:q[<br>] Pulses (default)
| Samples
Output signal format in the form of Pulses
or `Samples':
-
If you set this parameter to
Pulses
, then the output of the block consists of several pulses. The number of pulses is the value of the parameter Number of pulses in output. -
If you set this parameter to
Samples
, then the output of the block consists of several samples. The number of samples is the value of the Number of samples in output parameter.
Block parameter |
|
Values |
|
By default |
|
Number of samples in output — number of samples of the pass output signal:q[<br>] 100 (default)
| positive number
The number of samples of the output signal, set as a positive integer.
Example: 1000
Dependencies
To use this parameter, set the Output signal format parameter to Samples
.
Block parameter |
|
Values |
|
By default |
|
Number of pulses in output — number of pulses of the pass output signal:q[<br>] 1 (default)
| positive number
The number of pulses of the output signal, set as a positive integer.
Dependencies
To use this parameter, set the Output signal format parameter to Pulses
.
Block parameter |
|
Values |
|
By default |
|
Enable PRF Output — enable PRF pass output:q[<br>] disabled (by default)
| enabled
Select the checkbox to enable the PRF output port.
Dependencies
To use this parameter, set the Output signal format parameter to Pulses
.
Block parameter |
|
Values |
|
By default |
|
Enable Matched Filter Coefficients Output — enable output of matched filter coefficients
disabled (by default)
| enabled
Select the checkbox to enable the Coeff output port.
Block parameter |
|
Values |
|
By default |
|