Communications Blockset    

ADSL Demo Model

This section examines the asymmetric digital subscriber line (ADSL) demonstration model and aims to compute the correct Receive delay parameter value in each of two Error Rate Calculation blocks in the model. The model includes delays from buffering, convolutional interleaving, and an explicit delay block. To open the ADSL demo model, type adsl_sim in the MATLAB Command Window.

In the ADSL demo, data follows one of two parallel paths, each of which incurs a different delay. One path includes a convolutional interleaver and deinterleaver, while the other does not. Near the end of each path is an Error Rate Calculation block, whose Receive delay parameter must reflect the delay of the given path. The rest of the discussion makes an observation about frame periods in the model and then considers separately the path for noninterleaved data and the path for interleaved data.

Frame Periods in the Model

Before searching for individual delays, first observe that most signal lines throughout the model share the same frame period; to see this, enable the Sample time colors option from the model window's Format menu. This option colors blocks and signals according to their frame periods (or sample periods, in the case of sample-based signals). All signal lines at the top level of the model are the same color, which means that they share the same frame period. As a consequence, frames are a convenient unit for measuring delays in the blocks that process these signals. In the computation of the cumulative delay along a path, the weighted average (of numbers of frames, weighted by each frame's period) reduces to a sum.

The four icons labeled Scrambler & FEC or Descrambler & FEC are yellow because they represent multirate systems. If you double-click any of those icons, you can see that inside the subsystems are yellow Buffer blocks whose output signals are the same color as the signals at the top level of the model. As a consequence, you can use output frames as a unit for measuring delays in the Buffer blocks and then add the result to any top-level delays when computing the cumulative delay.

Path for Noninterleaved Data

In the transmitter portion of the model, the noninterleaved path is the upper branch, shown in yellow below. Similarly, the noninterleaved path in the receiver portion of the model is the upper branch. Near the end of the noninterleaved path is an Error Rate Calculation block that computes the value labeled Non Interleaved BER.

The table below summarizes the delays in the path for noninterleaved data. Subsequent paragraphs explain the delays in more detail and explain why the total delay relative to the Error Rate Calculation block is two frames, or 1552 samples.

Block
Delay, in Output Samples from Individual Block
Delay, in Frames
Delay, in Input Samples to Error Rate Calculation Block
Buffer, in Scrambler & FEC subsystem
112
1
776
Buffer, in Descrambler & FEC subsystem
112
1
776
Total
N/A
2
1552

Scrambler & FEC.   The Scrambler & FEC icon represents the following subsystem.

Notice that the subsystem includes an Unbuffer and Buffer pair. Buffering scalar data into vectors causes a delay because the block cannot produce fully meaningful output until it has received the specified number of samples from the scalar input stream. The set of parameters in the Buffer block causes the block to incur a delay of 112 samples, which represent one output frame.

Descrambler & FEC.   The noninterleaved path in the receiver portion of the model contains a corresponding Descrambler & FEC subsystem, which also contains a Buffer block. Like the transmitter's Buffer block, the receiver's Buffer block incurs a delay of one output frame.

Summing the Delays.   No other blocks in the noninterleaved path of the demo cause any delays. Adding the two one-frame delays from the two Buffer blocks indicates that the total delay in the noninterleaved path is two frames.

Total Delay Relative to Error Rate Calculation Block.   The Error Rate Calculation block that computes the value labeled Non Interleaved BER requires a Receive delay parameter value that is equivalent to two frames. The Receive delay parameter is measured in samples and each input frame to the Error Rate Calculation block contains 776 samples. Also, the frame period at the Buffer block's outport equals the frame period at the Error Rate Calculation block's inport. Therefore, the correct value for the Receive delay parameter is 1552 samples.

Path for Interleaved Data

In the transmitter portion of the model, the interleaved path is the lower branch, shown in yellow below. Similarly, the interleaved path in the receiver portion of the model is the lower branch. Near the end of the interleaved path is an Error Rate Calculation block that computes the value labeled Interleaved BER.

The following table summarizes the delays in the path for noninterleaved data. Subsequent paragraphs explain the delays in more detail and explain why the total delay relative to the Error Rate Calculation block is three frames, or 2328 samples.

Block
Delay, in Output Samples from Individual Block
Delay, in Frames
Delay, in Input Samples to Error Rate Calculation Block
Buffer, inside Scrambler & FEC subsystem
112
1
776
Buffer, inside Descrambler & FEC subsystem
112
1
776
Convolutional Interleaver and Convolutional Deinterleaver pair
40
1 (combined)
776 (combined)
Integer Delay
800
Total
N/A
3
2328

Buffer Blocks.   Like the noninterleaved path, the interleaved path contains a Buffer block in the transmitter and another Buffer block in the receiver. Together, these blocks cause a delay of two frames.

Interleaving.   Unlike the noninterleaved path, the interleaved path contains a Convolutional Interleaver block in the transmitter and a Convolutional Deinterleaver block in the receiver. The delay of the interleaver/deinterleaver pair is the product of the Rows of shift registers parameter, the Register length step parameter, and one less than the Rows of shift registers parameter. In this case, the delay of the interleaver/deinterleaver pair turns out to be 5*2*4 = 40 samples.

Integer Delay Block.   The receiver portion of the interleaved path also contains an Integer Delay block, whose purpose is explained in Aligning Words of a Block Code. This block explicitly causes a delay of 800 samples having the same sample time as the 40 samples of delay from the interleaver/deinterleaver pair. Therefore, the total delay from interleaving, deinterleaving, and the explicit delay is 840 samples. These 840 samples make up one frame of data leaving the Integer Delay block.

Summing the Delays.   No other blocks in the interleaved path of the demo cause any delays. Adding the delays from the Buffer blocks, the interleaver/deinterleaver pair, and the Integer Delay block indicates that the total delay in the interleaved path is three frames.

Total Delay Relative to Error Rate Calculation Block.   The Error Rate Calculation block that computes the value labeled Interleaved BER requires a Receive delay parameter value that is equivalent to three frames. The Receive delay parameter is measured in samples and each input frame to the Error Rate Calculation block contains 776 samples. Also, the frame rate at the outports of all delay-causing blocks in the interleaved path equals the frame rate at the inport of the Error Rate Calculation block. Therefore, the correct value for the Receive delay parameter is 2328 samples.


  Sources of Delays Punctured Coding Model