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.
Technique Situation in Which Delay Occurs Amount of Delay FM demodulators listed in Frequency Modulation Sample-based processing delay = One output period All demodulator objects and blocks listed in Continuous-Phase Modulation Single-rate processing, D = traceback depth value delay = 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 Modulation Single-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
orMultiTasking
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 Modulation Configured for continuous operation with Tr equal to the traceback depth value, and code rate k/n delay = Tr × k output bits Filtering Delay — A filter introduces latency as it processes and shapes the frequency characteristics of a signal under these circumstances:
Technique Situation in Which Delay Occurs Amount 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.
Equalization Delay — An equalizer introduces latency as the equalizer algorithm adjusts the signal to mitigate channel-induced distortions and intersymbol interference under these circumstances:
Technique Situation in Which Delay Occurs Amount 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.
Technique Situation in Which Delay Occurs Amount of Delay System object:
comm.ViterbiDecoder
Block: Viterbi Decoder
During the decoding process decoding 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.