MT Demodulate CPM
- Updated2023-02-17
- 10 minute(s) read
MT Demodulate CPM
Demodulates a continuous-phase modulation (CPM)-modulated complex baseband waveform and returns the time-aligned demodulated waveform, the demodulated information bit stream, and measurement results obtained during demodulation. 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.

CPM system parameters
Parameter values defining the CPM system. Wire the CPM system parameters cluster of MT Generate CPM System Parameters (M) or MT Generate CPM 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
A two-dimensional array of desired frequency deviations. Each column corresponds to a symbol, with the binary representation of the column index being the mapped bit-representation of the symbol. Each row corresponds to a modulation index in the order in which it appears in the modulation index, h(i) parameter of MT Generate CPM System Parameters (M) or MT Generate CPM System Parameters (map).
Default value: Empty array

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 CPM 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 VI uses data from the previous iteration to prime the filter, hence eliminating the transient.

synchronization parameters
Parameter values describing the synchronization sequence and the range of bits over which to search for the sequence. Wire the CPM synchronization parameters cluster returned by MT Generate CPM Synchronization Parameters (bit array) or MT Generate CPM Synchronization Parameters (number array) 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

pulse shaping filter coefficients
An ordered array containing the desired pulse-shaping coefficients. This parameter is used to reproduce the ideal waveform for performing 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 parameter of the CPM system parameters cluster.

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

detected complex waveform
The ideal oversampled waveform corresponding to the output bit stream. Wire this parameter to the detected complex waveform parameter of MT Measure CPM Quadrature Impairments.

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

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.

recovered complex waveform
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.

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

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.

output bit stream
The demodulated information bit stream.

measurements
Measurements performed by the demodulator.

frequency offset
The measured carrier frequency offset, in hertz (Hz). The measured frequency offset is removed from the recovered complex waveform.

frequency drift
The measured carrier frequency drift, in Hz. The measured frequency drift is not removed from the recovered complex waveform.

phase offset
The measured phase offset, in degrees. The measured phase offset is removed from the recovered complex waveform.

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
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.