MT Modulate FSK
- Updated2023-02-17
- 7 minute(s) read
MT Modulate FSK
Receives a sequence of data bits, performs FSK modulation, and returns the modulated complex baseband waveform in the output complex waveform parameter.
Inputs/Outputs

input bit stream
The sequence of information bits to be modulated.

FSK system parameters
Parameter values defining the FSK system. Wire the FSK system parameters cluster returned from MT Generate FSK System Parameters (M) or MT Generate FSK System Parameters (map) to this cluster. Do not alter the values.

samples per symbol
An even number of samples dedicated to each symbol. Multiply this value by the symbol rate to determine the sample rate.
Default value: 16

symbol map
An ordered array that maps each Boolean symbol to its desired deviation frequency. The number of FSK levels in the array is 2N, where N is the number of bits per symbol.

symbol phase continuity
Continuity of phase transitions between symbols.
| continuous |
Continuous phase transitions between symbols. |
| discontinuous |
Discontinuous phase transitions between symbols, that is, discontinuous phase FSK (DPFSK). With discontinuous phase-FSK (DPFSK), modulation consists of selecting the appropriate sinusoid based on the input data. Thus, when switching between symbols, there is a discontinuity in the FSK signal phase. To emulate a hardware-based DPFSK source, this node maintains the phase of each independent sinusoid versus time. Thus, the DPFSK modulator acts like a hardware-based (multiple switched tone generator) FSK modulator. |
Default value: continuous

symbol rate
The desired symbol rate, in hertz (Hz).
Default value: 1.0

pulse shaping filter coefficients
An ordered array containing the desired pulse-shaping coefficients. Wire the pulse shaping filter coefficients parameter of MT Generate Filter Coefficients to this parameter. When generating the filter coefficients, ensure that the value of the pulse shaping samples per symbol parameter of MT Generate Filter Coefficients is equal to the value of the samples per symbol element of the FSK system parameters cluster which is passed to this node.

error in
Error conditions that occur before this node runs.
The node responds to this input according to standard error behavior.
Default value: No error

reset?
A Boolean that determines whether the node continues modulating using the previous iteration states. The node resets on the first call and when you configure reset? to TRUE. You must configure reset? to TRUE the first time this node is called and whenever you want to restart the modulator.
Default value: TRUE

flush buffers?
A Boolean that determines whether samples are forced out from the modulated waveform that are affected by the FIR pulse-shaping filter delay. Set this parameter to TRUE during single-shot operations and during the last iteration of continuous operations.
| TRUE | Destroys the internal states of the algorithms such that you cannot perform continuous processing on the signal during subsequent iterations. If flush buffers? is set to TRUE, you must set reset? to TRUE on the subsequent iteration. |
| FALSE | Stores the internal states of the algorithms so that you can perform continuous processing on the signal during subsequent iterations. |
Default value: FALSE

output complex waveform
The modulated complex baseband waveform data.

t0
Time of the first value in the Y array.

dt
Time interval between data values in the Y array.
Default value: 1.0

Y
The complex-valued signal-only baseband modulated waveform. The real and imaginary parts of this complex data array correspond to the in-phase (I) and quadrature-phase (Q) data, respectively.

symbols out
The array of mapped symbols before pulse shaping is applied. The real portion corresponds to the carrier frequency offset of the mapped symbol, and the imaginary portion is zero.

error out
Error information.
The node produces this output according to standard error behavior.
Signal Bandwidth
The signal bandwidth, using Carson’s Rule, is calculated using the following formula:
BW = 2(Fm + Fd)
where,
Fm is symbol bandwidth and is given by
, where R is the symbol rate and is the filter parameter.Fd is the maximum frequency deviation and is given by
, where hi is the modulation index for the ith baud.Aliasing
The sample rate of the signal is given by fs = samples per symbol * R.
A value of fs that is less than BW causes aliasing. The signal can be checked for aliasing by observing its spectrum and noting whether the observed bandwidth of the signal is higher than the calculated bandwidth.
You can prevent your signal from aliasing by using one of the following strategies:
- Increasing the sample rate by increasing the samples per symbol.
- Decreasing the bandwidth of the message signal by decreasing the filter parameter .
- Decreasing the maximum modulation index (h i ).
Filter Delay
Finite impulse response (FIR) filters are used for different operations such as pulse-shaping, matched filtering, and downconversion filtering. For such filters, the output signal is related to the input signal as shown by the following equation:
where
P is the filter order
x[n] is the input signal
y[n] is the output signal
b i are the filter coefficients
The initial state for all samples in an FIR filter is 0. The filter output until the first input sample reaches the middle tap (the first causal sample) is called the transient response, or filter delay. For an FIR filter that has N taps, the delay is (N-1)/2 samples. This relationship is illustrated in the following figure, where a sine wave is filtered by an FIR filter with 50 taps.
Recovering Samples in Single-Shot Operations
In single-shot operations for modulators and demodulators, the filter delay is truncated before the signal is generated because these samples are not valid. Some samples at the end of the block do not appear at the modulator or demodulator output, and hence appear to have been lost.
- For modulation: Let
L be the pulse-shaping filter length,
m be the number of samples per symbol, and
M be the modulation order. The number of bits to be added to the input bit stream is given by the following formula:
- For demodulation: Demodulation use filters during matched filtering. Let
L be the length of the matched filter. The number of samples to be added to the input signal prior to filtering is given by the following formula: The N extra samples are obtained by repeating the last sample value of the input signal N times to ensure signal continuity.