Demodulates an minimum shift keying (MSK)-modulated complex baseband waveform and returns the time-aligned oversampled complex waveform, the ideal oversampled waveform, the demodulated bit stream, and the results of offset and drift measurements. This node attempts to remove carrier and phase offset by locking to the carrier signal.
Matched filtering and/or waveform realignment performed during symbol timing recovery may lead to the apparent loss of bits. Refer to Filter Delay in the Details for more information about this effect. You can use MT Detect MSK if your application requires only the demodulated bit stream output and not the recovered complex waveform or measurements.
The modulated complex baseband waveform data.
Trigger (start) time of the Y array.
Default: 0.0
Time interval between data points in the Y array.
Default: 1.0
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.
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.
Behavior of the differential encoding.
Name | Description |
---|---|
disable | Disables differential encoding for input symbols. |
enable | Enables differential encoding for input symbols. |
Default: enable
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.
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.
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.
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.
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.
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: 10
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: 0
Error conditions that occur before this node runs.
The node responds to this input according to standard error behavior.
Standard Error Behavior
Many nodes provide an error in input and an error out output so that the node can respond to and communicate errors that occur while code is running. The value of error in specifies whether an error occurred before the node runs. Most nodes respond to values of error in in a standard, predictable way.
Default: No error
An ordered array containing the desired pulse shaping coefficients. This parameter is used to remodulate the bit stream to perform measurements. 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 MSK system parameters cluster.
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: TRUE
The ideal oversampled waveform corresponding to the output bit stream. Wire this parameter to the detected complex waveform parameter of MT Measure MSK Quadrature Impairments.
Trigger (start) time of the Y array.
Default: 0
Time interval between data values in the Y array.
Default: 1.0
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.
The time-aligned and oversampled complex waveform data after frequency offset correction and phase offset correction. The frequency offset and phase offset corrections are scalar values applied to the entire block.
The recovered complex waveform returned by the MSK demodulator is corrected for carrier phase and frequency offsets. As MSK modulation is essentially a digital implementation of analog FM modulation, you must perform FM demodulation and matched filtering to make frequency deviation measurements or display the eye diagram of the frequency of the recovered waveform. To do this, pass the recovered complex waveform to MT Demodulate FM, followed by MT Matched Filter.
Trigger (start) time of the Y array.
Default: 0
Time interval between data values in the Y array.
Default: 1.0
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.
Measurements performed by the demodulator.
The measured carrier frequency offset, in hertz (Hz). The measured frequency offset is removed from the recovered complex waveform.
The measured carrier frequency drift, in Hz. The measured frequency drift is not removed from the recovered complex waveform.
The measured phase offset, in degrees. The measured phase offset is removed from the recovered complex waveform.
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 information.
The node produces this output according to standard error behavior.
Standard Error Behavior
Many nodes provide an error in input and an error out output so that the node can respond to and communicate errors that occur while code is running. The value of error in specifies whether an error occurred before the node runs. Most nodes respond to values of error in in a standard, predictable way.
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 2^{ bits per symbol }.
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.
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.
Where This Node Can Run:
Desktop OS: Windows
FPGA:
Web Server: Not supported in VIs that run in a web application