MT Modulate FSK VI

LabView Digital Modulation

MT Modulate FSK VI

Receives a sequence of data bits, performs FSK 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 FSK

c1di8.gif

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

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

FSK system parameters specifies parameter values defining the FSK system. Wire the FSK system parameters cluster returned by the FSK (M) or FSK (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.

c1ddbl.gif

symbol map specifies an ordered array that maps each Boolean symbol to its desired deviation frequency. The number of FSK levels in the array must be 2N, where N is the number of bits per symbol.

cenum.gif

symbol phase continuity specifies whether the phase transitions between symbols are continuous.

continuous (0)

Specifies continuous phase transitions between symbols. This is the default value.

discontinuous (1)

Specifies discontinuous phase transitions between symbols, that is, discontinuous phase FSK (DPFSK).

cdbl.gif

symbol rate specifies the desired symbol rate, in hertz. The default is 1.0.

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 FSK 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 eliminate 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. The default is TRUE.

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

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.

The signal can be checked for aliasing by observing its spectrum and noting whether the observed bandwidth of the signal is higher than the calculated bandwidth.

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