Table Of Contents

MT Modulate PAM (G Dataflow)

Version:
    Last Modified: February 7, 2018

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

    PAM modulation involves mapping the input bit stream to PAM symbols (as specified by the PAM symbol map), interpolating by zero-insertion, and applying the pulse-shaping filter to the interpolated I/Q data.

    spd-note-note
    Note  

    If you use the finite impulse response pulse-shaping filters in modulation nodes, it may lead to the apparent loss of bits caused by filter delay. Refer to Filter Delay in the Details 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.

    connector_pane_image
    datatype_icon

    input bit stream

    The sequence of information bits to be modulated.

    spd-note-note
    Note  

    For PAM systems with more than 1 bit per symbol, such as 4-PAM, the symbols are converted to bits in least significant bit (LSB) first order. For example, if the input bits are 1,0,0,1,... the generated symbols correspond to 0,1,1,0,...

    datatype_icon

    PAM system parameters

    Parameter values defining the PAM system. Wire the PAM system parameters cluster of MT Generate PAM System Parameters (M) or MT Generate PAM System Parameters (map) to this cluster. Do not alter the values.

    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.

    spd-note-note
    Note  

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

    Default: 16

    datatype_icon

    symbol map

    An ordered array that maps each symbol to its desired level. The number of PAM levels in the array is 2 N , where N is the number of bits per symbol. The vector length for the symbols farthest from the origin is 1.

    datatype_icon

    symbol rate

    The desired symbol rate, in hertz (Hz). This value must be positive.

    Default: 1.00

    datatype_icon

    pulse shaping filter coefficients

    An ordered array containing the desired sample-spaced coefficients for the pulse-shaping filter. 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 PAM system parameters cluster, which is passed to this node.

    spd-note-note
    Note  

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

    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

    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.

    error in does not contain an error error in contains an error
    If no error occurred before the node runs, the node begins execution normally.

    If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out.

    If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out.

    Default: No error

    datatype_icon

    reset?

    A Boolean that determines whether the node continues modulating using the previous iteration states. The node resets on the first call and when you configure reset? to TRUE. You must configure reset? to TRUE the first time this node is called and whenever you want to restart the modulator.

    Default: TRUE

    datatype_icon

    flush buffers?

    A Boolean that determines whether samples are forced out 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.

    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: FALSE

    datatype_icon

    output complex waveform

    The modulated complex baseband waveform data.

    datatype_icon

    t0

    Time of the first value in the Y array.

    datatype_icon

    dt

    Time interval between data values in the Y array.

    Default: 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

    symbols out

    The array of mapped symbols before pulse shaping is applied. The array represents the complex value of each mapped symbol.

    datatype_icon

    error out

    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.

    error in does not contain an error error in contains an error
    If no error occurred before the node runs, the node begins execution normally.

    If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out.

    If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out.

    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:
    y [ n ] = b 0 x [ n ] + b 1 x [ n 1 ] + ... + b P x [ n P ]

    where

    P is the filter order

    x[n] is the input signal

    y[n] is the output signal

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

    You can recover these samples by sending extra samples to the modulator or demodulator. To determine how many extra samples you must add, use the following guidelines:
    • 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:
      N = ( L 1 ) log 2 M m
    • 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:
      N = L 1 2
      The N extra samples are obtained by repeating the last sample value of the input signal N times to ensure signal continuity.

    Where This Node Can Run:

    Desktop OS: Windows

    FPGA: Not supported

    Web Server: Not supported in VIs that run in a web application


    Recently Viewed Topics