MT Detect FSK
- Updated2023-02-17
- 7 minute(s) read
MT Detect FSK
Demodulates a frequency-shift keying (FSK)-modulated complex baseband waveform and returns the demodulated information bit stream. This node attempts to remove carrier and phase offset by locking to the carrier signal.
Inputs/Outputs

input complex waveform
The modulated complex baseband waveform data.

t0
Trigger (start) time of the Y array.
Default value: 0.0

dt
Time interval between data points 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.

FSK system parameters
Parameter values defining the FSK system. Wire the FSK system parameters cluster of the FSK (M) or FSK (Map) instance of MT Generate System Parameters 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

synchronization parameters
Parameter values describing the synchronization sequence and the range of bits over which to search for the sequence. Wire the FSK synchronization parameters cluster returned by the FSK bit array or number array instances of MT Generate Synchronization Parameters to this cluster.

expected sync location
The expected location of the first symbol of the sync sequence.
This value is an index to the input complex waveform. A value of -1 searches the entire input complex waveform and ignores the sync location uncertainty parameter.

sync sequence
The mapped symbol pattern. Although the data type is complex, only the real portion is used.
The real portion of the mapped symbols is the frequency deviation of the symbol value, and the imaginary portion is 0. To prevent false synchronization, configure this pattern so that there is a low probability of accidental correlation to nonsynchronized parts of the data stream. If this parameter is left empty, the signal is still demodulated.

sync location uncertainty
Number of symbols before or after the expected sync location where the first symbol of the sync sequence may be located. The node ignores this parameter if the expected sync location parameter is set to -1.
Default value: 10

sync indent
Distance that the sync sequence is indented into the information block.
The distance is the number of demodulated symbols preceding the sync sequence. For example, a value of 10 indicates that the output bit stream consists of 10 data symbols, followed by the sync sequence, followed by the remaining data symbols.
Default value: 0

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

matched filter coefficients
An ordered array containing the desired matched filter coefficients. Wire the matched filter coefficients parameter of MT Generate Filter Coefficients to this parameter. When generating the filter coefficients, ensure that the value of the matched 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 passed to this node.
Dependency on reset? Input

reset?
A Boolean that determines whether the node continues demodulating using the previous iteration states.
| TRUE | Restarts the demodulator. The node resets on the first call and when reset? is set to TRUE. |
| FALSE | Continues demodulating using the previous iteration states. The input complex waveform is contiguous with the input complex waveform from the previous iteration of this node. |
Default value: TRUE

flush buffers?
A Boolean that determines whether to flush samples from the input complex waveform that are delayed due to the FIR filters used in the demodulation algorithm. 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 bit stream
The demodulated information bit stream.

sync found index
Symbol index within the input complex waveform where the peak correlation to the sync sequence was found. If no sync sequence is specified in the synchronization parameters cluster, the sync found index parameter returns the offset from the start of the input complex waveform to the first complete symbol.

error out
Error information.
The node produces this output according to standard error behavior.
Demodulator Performance
Successful Locking
Successful locking depends on many factors, including signal quality, modulation type, filtering parameters, and acquisition size. Locking also requires a fairly uniform distribution of symbols in the signal. The demodulator lock rate increases (and failures decrease) as the number of symbols demodulated increases. In general, you can expect to achieve a better than 95% lock when demodulating 10 × M number of symbols, where M is 2bits per symbol.