MT Modulate CPM VI

LabView Digital Modulation

MT Modulate CPM VI

Receives a sequence of data bits, performs CPM modulation, and returns the modulated complex baseband waveform in the output complex waveform parameter.

Note  Using FIR pulse-shaping filters in modulation VIs may lead to the apparent loss of bits caused by filter delay. Refer to Filter Delay for more information about this effect. Set the flush buffers? parameter to TRUE to offset the effects of filter delay in single-shot operations or in the last iteration of continuous operations.

Details

MT Modulate CPM

c1di8.gif

input bit stream specifies the sequence of information bits to be modulated.

Note   For CPM systems with more than 1 bit per symbol, such as 4-CPM, 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...
ccclst.gif

CPM system parameters specifies parameter values defining the CPM system. Wire the CPM system parameters cluster from the CPM (M) or CPM (Map) instance of the MT Generate System Parameters VI to this cluster. Do not alter the values.

ci32.gif

samples per symbol specifies an even, positive number of samples dedicated to each symbol. Multiply this value by the symbol rate to determine the sample rate. The default is 16.

c2ddbl.gif

symbol map specifies the number of samples per symbol in the modulated output complex waveform. It should be an even number.

cdbl.gif

symbol rate specifies the desired symbol rate, in hertz. This value must be positive. The default is 1.00.

c1ddbl.gif

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

Note   When reset? is set to TRUE, there is a transient response of half the filter length at the start of the modulated signal, and the returned output 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.
cbool.gif

reset? specifies whether the VI continues modulation using the previous iteration states. The VI resets on the first call and when reset? is set to TRUE. reset? must be set to TRUE whenever you want to restart the modulator.

cbool.gif

flush buffers? forces out samples 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. The default is FALSE.

Note  Setting flush buffers? to 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.
ccclst.gif

error in (no error) can accept error information wired from previously called VIs. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

cbool.gif

status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

ci32.gif

code identifies the error or warning code. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

cstr.gif

source describes the origin of the error or warning. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

icclst.gif

output complex waveform returns the CPM-modulated complex baseband waveform data.

idbl.gif

t0 returns the time of first value in Y array.

idbl.gif

dt returns the time between values in the Y array.

i1dcdb.gif

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

i1ddbl.gif

symbols out returns 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.

icclst.gif

error out passes error or warning information out of a VI to be used by other VIs. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

ibool.gif

status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

ii32.gif

code is the error or warning code. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

istr.gif

source describes the origin of the error or warning. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.

Details

The bandwidth of a CPM signal, using Carson’s Rule, is approximately given by the following formula:

BW = 2(Fm + Fd)

where

Fm is symbol bandwidth and is given by (1 + ) * R, 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

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. Refer to the Aliasing topic in the LabVIEW Help for more information about aliasing.

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 (hi).