Main Content

Causes of Processing Delay

Introduction

Processing delays occur depending on the computational complexity of the signal processing algorithms in your communication system. As data rates increase and modulation schemes become more sophisticated, processing requirements escalate, potentially introducing significant delays in signal processing operations. When designing your system, you must carefully consider these delays to ensure that the end-to-end latency remains within acceptable limits, especially for time-sensitive applications. For each delay source that you introduce, account for the type and amount of delay that it produces in the output.

Sources of Processing Delays

Processing delays come from sources with functions or operations that introduce latency during the processing of data. For example:

  • Digital demodulators

  • Filters

  • Equalizers

  • Encoders and decoders

  • Explicit delay blocks, such as the Delay (Simulink) or Variable Integer Delay (Simulink) block

  • Convolutional interleavers or deinterleavers

  • Blocks with buffering, downsampling, derepeating, and similar signal operations

While some blocks can determine the current output value by using only the current input value, other blocks need input values from multiple time steps to compute the current output value.

Types of Processing Delays

The major processing delays are:

  • Demodulation Delay — Demodulation delay is the time it takes to extract the baseband or low frequency signal from the modulated carrier wave.

    TechniqueSituation in Which Delay OccursAmount of Delay
    FM demodulators listed in Frequency ModulationSample-based processingdelay = One output period
    All demodulator objects and blocks listed in Continuous-Phase ModulationSingle-rate processing, D = traceback depth valuedelay = D output periods

    Blocks configured for multirate processing and if the model uses a variable-step solver or a fixed-step solver with the Tasking mode parameter set to SingleTasking

    D = Traceback length value

    delay = D+1 output periods
    OQPSK demodulator listed in Phase ModulationSingle-rate processing

    OQPSK demodulation delay varies depending on the pulse shaping filter and the input/output settings. For more information, see comm.OQPSKDemodulator and OQPSK Demodulator Baseband.

    Blocks configured for multirate processing, and the model uses a fixed-step solver with the Tasking Mode parameter set to Auto or MultiTasking
    Blocks configured for multirate processing, and the model uses a variable-step solver or the Tasking Mode parameter is set to Single Tasking
    All demodulator objects and blocks listed in Trellis-Coded ModulationConfigured for continuous operation with Tr equal to the traceback depth value, and code rate k/ndelay = Tr × k output bits
  • Filtering Delay — A filter introduces latency as it processes and shapes the frequency characteristics of a signal under these circumstances:

    TechniqueSituation in Which Delay OccursAmount of Delay

    System object™: comm.RaisedCosineTransmitFilter, comm.RaisedCosineReceiveFilter

    Block: Raised Cosine Transmit Filter, Raised Cosine Receive Filter

    Filtering of signal for pulse shaping

    delay = (filter span in symbols * samples per symbol) / 2. The delay is half the product of the filter span (in symbols) and the number of samples per symbol.

    System object: comm.IntegrateAndDumpFilter

    Block: Integrate and Dump

    Integration period over each symbol duration

    See Transients and Delays and Example of Transient and Delay.

    System object: comm.MultibandCombiner

    Block: Multiband Combiner

    Reducing the sampling rate during decimation and increasing the sample rate during interpolation.

    See Multiband Combining Delay

  • Equalization Delay — An equalizer introduces latency as the equalizer algorithm adjusts the signal to mitigate channel-induced distortions and intersymbol interference under these circumstances:

    TechniqueSituation in Which Delay OccursAmount of Delay

    System object : comm.LinearEqualizer

    Block: Linear Equalizer

    Filter adaptation and symbol-to-symbol processing

    For more information see, Linear Equalizers and Linearly Equalize Delayed Signal

    System object: comm.DecisionFeedbackEqualizer

    Block: Decision Feedback Equalizer

    Filter adaptation, feedback processing and decision making

    For more information see, Decision Feedback Equalizers

    System object: comm.MLSEEqualizer

    Block: MLSE Equalizer

    Viterbi algorithm traceback operation

    delay = traceback depth. Traceback depth of the Viterbi algorithm, defines the number of trellis stages used to determine the most likely path.

  • Decoding Delay — This delay comes from the time takes to decode the data upon reception, which includes error detection and correction processes.

    TechniqueSituation in Which Delay OccursAmount of Delay

    System object: comm.ViterbiDecoder

    Block: Viterbi Decoder

    During the decoding processdecoding delay = traceback depth.
  • Queuing and Buffering Delay — Queuing delay is the time data packets spend waiting in queue before being processed and transmitted over the network. Buffering delay is the time incurred when data is temporarily held in a buffer, a storage area to accommodate a difference in the rate of data flow between devices or processes.

Related Examples

More About