MT Detect MSK

Demodulates an minimum-shift keying (MSK)-modulated complex baseband waveform and returns the demodulated bit stream. This node attempts to remove carrier and phase offset by locking to the carrier signal.

Note MT Detect MSK returns only the demodulated bit stream. Use MT Demodulate MSK to acquire the time-aligned oversampled complex waveform, the ideal oversampled waveform, the demodulated bit stream, and the results of offset and drift measurements.
Note This node assumes that the sample rate of the input complex waveform is exactly samples per symbol × the symbol rate. If this relationship does not apply to your application, use MT Resample (Complex Cluster) to resample the waveform to the desired sample rate.
1378

Inputs/Outputs

datatype_icon

input complex waveform

The modulated complex baseband waveform data.

datatype_icon

t0

Trigger (start) time of the Y array.

Default value: 0.0

datatype_icon

dt

Time interval between data points in the Y array.

Default value: 1.0

datatype_icon

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.

datatype_icon

MSK system parameters

Parameter values defining the MSK system. Wire the MSK system parameters cluster of MT Generate MSK System Parameters to this cluster. Do not alter the values.

datatype_icon

differential encoding enable

Behavior of the differential encoding.

disable

Disables differential encoding for input symbols.

enable

Enables differential encoding for input symbols.

Default value: enable

datatype_icon

samples per symbol

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

Note The demodulation and detector nodes use timing recovery, which is optimized for four or more samples per symbol.

Default value: 16

datatype_icon

synchronization parameters

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

Note If the synchronization parameters cluster is not wired, the demodulator does not attempt to synchronize, and the constellation of the demodulated waveform has a carrier phase ambiguity.
datatype_icon

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.

datatype_icon

sync sequence

The mapped symbol pattern used to synchronize the bit stream. To prevent false synchronization, select this pattern such that there is a low probability of accidental correlation to nonsynchronized parts of the data stream. For MSK, the real portion of the mapped symbols is the frequency deviation of the symbol value, and the imaginary portion is 0. If this parameter is left empty, the signal is still demodulated.

datatype_icon

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

datatype_icon

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

datatype_icon

error in

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Default value: No error

datatype_icon

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 MSK system parameters cluster that is passed to this node.

Dependency on reset? Input

When reset? is set to TRUE, there is a transient response of half the filter length at the start of the demodulated signal, and the returned data is shortened by approximately half the filter length. When reset? is set to FALSE, the node uses data from the previous iteration to eliminate the transient.

Tip When reset? is set to TRUE, the number of trailing symbols that are carried over to the next iteration during demodulation is upper bounded by [L/2 + P/2 + 4(13 + K)]/K, where L is the matched filter length in taps, P is the pulse-shaping filter length in taps, and K is the number of samples per symbol. For typical values of L = 11, P = 25, and K = 4, this value equals 21.5 symbols. Therefore when reset? is set to TRUE, a total of 1,022 MSK symbols must be passed to the demodulator to obtain at least 1,000 symbols at the output. This formula does not account for truncation due to any specified synchronization parameters.
datatype_icon

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

datatype_icon

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

datatype_icon

output bit stream

The demodulated information bit stream.

Note For systems with more than 1 bit per symbol the symbols are converted to bits in least significant bit (LSB) first order. For example, if the detected symbols are 2,1,... the generated bits are 0,1,1,0...
datatype_icon

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.

datatype_icon

error out

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

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.