Title:        *DSL Reference
By:           James Bensley
Created:      07/12/2012
Last Updated: 05/01/2016
Corrections:    jwbensley <at> gmail <dot> com

xDSL Comparison
ADSL1 Reference
ADSL1 Topology Models
ADSL1 Protocol Stack
ADSL2+ Reference
SHDSL Reference


DSL Forum
Working with ITU, ETSI, ANSI, ATM Forum, IETF, UAWG and DAVIC (amongst others) to produce TRR (Technical References Recommendations).
As of 2008, it is now Broadband Forum.

Carrierless Amplitude and Phase (CAP)
CAP supports the concept of two traffic classes, A which is for non-latency sensitive traffic and class B for latency sensitive traffic. Class B can skip past features like FET onto the CAP encoding stage to reduce latency.
The EOC (Embedded Operations Channel) is an optional channel used for monitoring and troubleshooting between modems. Transmissions between modems is either in the data channel or EOC channel.

Data (or Embedded Operations Channel data) -> Framing (typically ATM) -> Reed-Solomon Encoder (optional in upstream) -> Interleaving (if enabled) -> Scrambler -> Trellis Encoder -> Channel Precoder -> CAP Transmitter - Analog Processing -> Line.

CAP defines a number of downstream and upstream baudrates (the number of symbols per second). These are used to derive the actual bandwidths based on the complexity of the constellation.

Downstream (kbaud +/- 25 ppm*)Upstream (kbaud +/- 25 ppm*)
136 kilobaud17 kilobaud
340 kilobaud34 kilobaud
680 kilobaud68 kilobaud
952 kilobaud85 kilobaud
1088 kilobaud136 kilobaud
* parts per million

These baudrates result in the following downstream and upstream frequencies:
Downstream (kbaud +/- 25 ppm*)  Upstream (kbaud +/- 25 ppm)  
Baud RateStart Freq (kHz)Stop Freq (kHz)Baud RateStart Freq (kHz)Stop Freq (kHz)

Ginsburg, D (1999), Cisco Systems (1999).

"The actual data rate is a function of the baudrate and the constellation size. The constellation is the number of encoded points per symbol and is no different than the encoding found within any dial-up modem. Constellations may vary in complexity from 8-256 symbols, reflecting increasingly dense data patterns, with the individual points relating to the amplitude of a sinewave (x axis) and cosine wave (y axis) as transmitted across the loop.

For example, an 8-point constellation (2 points in each quadrant) will be capable of encoding 2 bits per symbol (baud), while a 256-point constellation (the maximum currently implemented) will equate to 8 bits per symbol. Based on these values, a 1088 kbaud signal with a 256-point constellation yields the maximum CAP bit rate of 8704 kbps (1088 kbaud * 8 bits/symbol). By the same calculation, the maximum upstream rate is 136 kbaud at the same constellation size yielding 1088 kbps.
" - Ginsburg, D (1999).

Trellis Encoding or TCM (Trellis Coded Modulation) [convolution code]
Trellis encoding reduces the maximum bandwidth. It provides a method of increasing the resiliency of the transmitted signals to noise ratio across the line ("Coding Gain"). Trellis encoding introduces an extra check on received data comparing the constellation point it is on is "legal". "Given a symbol encoded to one constellation point, the next symbol may only be encoded to one of a set of predefined values. If at the receiver, the point has drifted due to noise, it would then be matched to the one legal value out of a number of points in the area. This resilience is the reason why trellis is an option for the 256-point constellation within CAP - the large constellation increases the potential for error, which is reduced by the trellis encoding." - Ginsburg, D (1999).

Reed-Solomon Encoding
Data divided into message blocks u of size k, (u1,u2,...un)
Each message is encoded into n symbols, v (v1,v2,...vn) which is a code word
The ratio R=k/n is the code rate
Reed-Solomon is denoted as RS(n,k) with s-bit symbols where, s = symbol size in bits
Max codeword length n = 2s-1
Parity bytes (2t) = n-k
t = Max symbols that can contain errors

Using RS(255,223) with 8-bit symbols, each codeword contains 255 code word bytes, of which 223 bytes are data and 32 bytes are parity

s = 8
n = 28-1 = 255 (codeword size)
k = 223 (n - 32 parity bytes)
2t = 255-223 = 32
t = 16

Richardson, Riley, (1998).

Running ADSL without POTS, such as allowed in the now defunct ANSI T1.413 Issue 2 standard (see Discrete Multitone section below) RS coding can significantly limit the throughput of an ADSL line in order to improve error handling:

    Up to 254 sub-carriers are used downstream; each of these 254 sub-carriers can support the modulation of 0 to 15 bits per baud. The baud rate is 4,000 symbols per second on each subcarrier. Thus the maximum theoretical downstream data rate of an ANSI T1.413 Issue 2 ADSL system is 15.24 Mbit/s (254*15*4000). However because the data being transmitted is split up into Reed-Solomon encoded codewords of 255 bytes with a symbol size of 8 and a parity requirement of 16 bytes, a modulation rate of 8 bites per-bin-per-baud lowers the maximum achievable downstream data rate to 8.128 Mbit/s (including overheads):

    Symbol size (s) = 8
    Codeword size (n) = 2s-1 = 255
    Max symbol errors (t) = 8
    Required parity bytes = 2t = 16
    Message length (k) = n-2t = 240

    254 bins * 8 bits per baud (RS symbol size) * 4000 =  8128000 Bps.   

Quadrature Amplitude Modulation (QAM)
QAM is another ANSI standard (1997) defined alongside CAP but didn't receive widespread adoption. DMT is the main encoding method now with CAP rarely encountered and QAM never. QAM supports two traffic types similar to CAPs Class A and Class B called Interleaved and Fast respectively. Interleaved passes through the FEC stages of coding (which is where scrambling happens). Fast traffic can skip this stage. QAM also has an EOC channel like CAP.
Ginsburg, D (1999).

Discrete Multitone (DMT)
ITU G.992.1 (also known as "G.dmt" or "g.DMT", colloquially as "ADSL" or "ADSL 1") is the ITU standard for DMT encoding. ANSI T1.413 was an ANSI DMT encoding standard popular in North America (which later became "ANSI T1.413 Issue 2") but now ITU's G.dmt is the defacto in North America and Europe. Like CAP, DMT uses Reed-Solomon code words and supports trellis coding and interleaving. Like CAP, DMT supports both Synchronous Transfer Mode (STM) and Asynchronous Transfer Mode (ATM), STM was the original standard but cell based ATM became main stream and is now the defacto. There is also an EOC channel like CAP and QAM in DMT. Also like CAP and QAM within DMT there is support for "Fast" traffic which provides low latency communication or "Interleaved" which provides lower error rate via Reed Solomon encoding.

Data -> ATM cell convergence -> Mux/Sync control -> CRC -> Scrambler -> FEC (Reed Solomon) -> Interleaver ("interleaved" only, skipped by "fast") -> Tone Ordering -> Constellation Encoder and Gain Scaling -> IDFT -> Output Parallel/Serial Buffer -> DAC and Analog Processing

The delay for interleaved traffic is a function of the Reed-Solomon codeword size and the interleave depth. The maximum delay in ms is 2+(S/4)+S*(D/4), where S is 1,2,4,8 or 16 (the number of DMT symbols per Reed-Solomon codeword) and D is 1,2,4,8,16,32 or 64 (an integer multiple of S which is the interleave depth).

DMT separates the ADSL signal into 255 carriers (bins) centred on multiples of 4.3125 kHz. DMT has 224 downstream frequency bins and up to 31 upstream bins. Bin 0 is at DC and is not used. When voice (POTS) is used on the same line, then bin 7 is the lowest bin used for ADSL. The centre frequency of bin N is (N x 4.3125) kHz. The spectrum of each bin overlaps that of its neighbours: it is not confined to a 4.3125 kHz wide channel. The orthogonality of COFDM makes this possible without interference.

Up to 15 bits per symbol can be encoded on each bin on a good quality line. DMT can modulate each bin at different bit densities up to a maximum of 15 bits/sec/Hz (60 kbps/4kHz tone) depending on the noise on the line within each bin. "Typically, a few bins around 31-32 are not used in order to prevent interference between upstream and downstream bins either side of 138 kHz. These unused bins constitute a guard band to be chosen by each DSLAM manufacturer - it is not defined by the G.992.1 specification". The DMT frequency layout for various standards are depicted further down. As a rough guide, 3dB of SNR are required per bit per bin, with a QAM rate of 4000 symbols per second each 3dB of SNR available in the bin over the base line will give approx 4kbps of sync speed. This means a maximum of 60kbps (15 x 4kbps) per carrier.

"Coded orthogonal frequency-division multiplexing (COFDM) selects only bins which are usable on the line thus effectively obtaining the best overall bit rate from the line at any given moment in time. With COFDM, a combined signal containing many frequencies (for each bin) is transmitted down the line. Fast Fourier Transform (and the inverse iFFT) is used to convert the signal on the line into the individual bins".

"A type of quadrature amplitude modulation (QAM) or phase-shift keying (PSK) is used to encode the bits within each bin. The quality of the line (how well it performs) at the frequency of the bin in question determines how many bits can be encoded within that bin. As with all transmission lines, it depends on the attenuation and signal-to-noise ratio. SNR may differ for each bin and this plays an important factor for deciding how many bits can be encoded reliably on it".

Ginsburg, D (1999). Kitz, (?). ITU-U, (1999). Wikipedia/Community, (2014).

ITU G.992.1 (G.DMT) Frequencies - ADSL over PSTN with POTS

Frequency Overview (with POTS):
Each sub-carrier is centered on the frequency N*4.3125kHz

     0 POTS      End of POTS    Gaurd Band Start    Gaurd Band End     Upstream Start    Upstream Pilot    Upstream End    Downstream Start    Downstream Pilot     Downstream End    Nyquist Frequency

Wire Encoding
"Assume simple Amplitude modulation => when you want to send digital information over a line you can transmit a bit over the line represented by a certain voltage level, for example +3v to represent a logical 1 and -3V to represent a logical 0. When representing 1bit by a certain voltage level the symbol rate = the bit rate".

This diagram shows a 1 bit per symbol encoding method. The bit rate is the symbol rate.

Amplitude (V)                                                         
     |    +-------------+             +---------------------------|   
     |    |             |             |                               
     |    |             |             |                               
     |    +-------------------------------------------------------+   
     |    |             |             |                               
     |    |             |             |                               
          +             |-------------+                               
           <----------->                    Transmitted: 1011         
           Symbol Period                                              
                                     Symbol rate = symbols per second 
                                     (1/Ts) in baud                   
                                     Bit rate = bits per second in bps

"When adding more voltage levels you can actually specify more bits per symbol, for example +3V represents the logical bit-sequence 11, +1V represents logical 10, -1V represents logical 01 and -3V represents the logical bit-sequence 00. Here you have actually put 2 bits in a symbol and that way doubled the bitrate. On the other hand the symbol rate in baud has remained the same".
Amplitude (V)                                                         
     |    +             +-------------+                               
     |    |-------------+             |                               
     |    |                           |                               
     |    +-------------------------------------------------------+   
     |    |                           |                               
     |    |                           |             |-------------+   
     +    +                           |-------------+                 
           <----------->                    Transmitted: 10110001     
           Symbol Period                                              
                                     Symbol rate = symbols per second 
                                     (1/Ts) in baud                   
                                     Bit rate = bits per second in bps

Bps = Symbols per sec * Bits per symbol (More bits per symbol means greater throughput [unless the symbol rate is increased]).
Symbol Period (Amplitude modulation duration) = Ts (Can not be quicker than the duration of the lowest frequency of symbol transmission)
Symbol rate = symbols per second (1/Ts) in baud

Nyquist bandwidth Constraint:
For a given bandwidth (W in Hz), the maximum amount of symbols/second (Rs in baud) is limited in order to avoid Inter Symbol Interference (ISI). Each symbol corresponds to a number of bits and you need to be able to distinguish one symbol from another.

Shannon-Hartley Capacity Theroem:
Capacity [bps] == 1/3*W*SNR*G
W = bandwidth in Hz
SNR = Signal to Noise Ration in dB
G = Gainfactor achieved by error correction.

Impulse Noise Protection (INP)
"INP uses Reed-Soloman coding to apply Forward Error Correction. By adding 'polynomial checksums' to the transmitted data, errors
can be corrected automatically by the receiving device.
Most ISPs in the UK use an INP setting of 0, 0.5 or 1 (FEC codewords per symbols).
ITU-T standard G.992.5 (ADSL2+) limits the maximum achievable bitrate with INP=2 and maximum permitted delay of 16ms (latency) to 7.5 Mb/s.
These values are all directly proportional.
Newer DSLAMs for example implement a newer optional (i.e. non-mandatory) extension to G.992.5 allowing the ISP to reduce the number of
DMT symbols (mux frames) per RS FEC codeword (down as far as 1/16) and increase the interleaving (interleaving depth values can be set from 64-511).
When this extension is implemented, the INP value can be increased so the gross bitrate (measured before overhead) can be increased.
In lay terms, this leads to an increased connection speed reported by your CPE (modem) using the higher INP setting.

There is a performance/resilience balance to be considered when using INP. i.e. there exists a trade off between Impulse Noise Protection,
coding gain and data latency, so INP, and particularly higher settings of INP should be used only where the benefits are considered
greater than the effect on other areas of performance.
On 'good' lines, or those which rarely suffer from Impulse Noise, the use of INP would have a net detrimental effect on performance.
i.e. Increasing the INP setting increases latency. The maximum bitrate of standard ADSL2+ is 24Mb/s, but that is only achievable without INP.
You cannot use INP without affecting performance, even if the Broadcom extensions are used and the higher you set your INP value,
the greater the effect. Interleaving without INP can also be used to reduce the effects of impluse noise, but also reduces net performance.
Interleaving also adds some latency (estimated 20ms)
" (That seems high to me, 20ms!) - DrayTek, (2012).

Signal to Noise Ratio (SNR) and Attenuation
Attenuation and SNR levels are measure at the start of ADSL negotiations (as required by the G.992.1 standard) but are not required to be periodically remeasured throughout the duration of the ADSL session. The stats from the ATU-R end (the user/modem end) are required to be made available at the ATU-C end (the DSLAM/MSAN/Exchange end) but not vice versa.

Attenuation is measured in decibels and represents the signal attenuation (degradation, usually over distance) of the ADSL signal over the copper wiring. The longer the copper line from DSLAM/MSAN to user modem/router the weaker the signal is by the time it has reached the CO/Exchange/DSLAM/MSAN. Other factors apart from line length like joins in the copper, breaks/damage, wireless/electromagnetic interference (microwave oven, baby monitors, cordless house phones) and third party equipment on the line (like alarm systems, fax machines, franking machines, bridges etc) can all also interfere with and degrade the ADSL signal on its journey along the copper wire.

Attenuation is measured in decibels on a logarithmic scale so each 3dB of signal loss means the signal strength is halved. It is presented as a negative number. -60dB means the signal is being received a 1/1,000,000th the power it was transmitted. Most ADSL services only support a signal attenuation of up to around -63dB to -65dB (G.992.1 supports a maximum attenuation of -63.5dB). The lower the attenuation (the closer to 0dB) the better.

SNR is the ratio of the power of the ADSL signal received to the level of noise on the line. SNR is also measured in decibels (as a positive number) but unlike attenuation the higher the number (further from 0) the better. A higher SNR means that more of the original ADSL signal is being received than interference "noise" on the line. Both attenuation and SNR can fluctuate through the day (due to electrical appliances being turned on for example, an increase in cross-talk between subscriber pairs), however this is normally (hopefully) not by much and the ADSL service is unaffected. A DSLAM can remotely request a power-cut-back to a modem if for example in the event that line has a high sync speed with "signal power to spare" the DSLAM may request the modem to lower its output power to reduce FEXT at the ATU-C end for the benefit of other neighbouring pairs. Some rough figures for SNR levels are as follows:

    6dB and below is roughly unusable
    7dB  - 10dB is bad
    11db - 20dB is OK
    20dB - 28dB is excellent
    29dB and above is outstanding
From G.992.1:
    Attenuation (ATN): The attenuation is the difference in dB between the power received at the near-end and that transmitted from the far-end. Received signal power in dBm is the sum of all data-carrying (i.e. bi > 0) DMT subcarrier powers averaged over a 1 second period. Transmitted signal power is -3.65 -2n + 10 log (Σgi2) dBm, summed over the data-carrying subcarriers. The attenuation ranges from 0 to 63.5 dB with 0.5 dB steps.

    Signal-to-Noise Ratio (SNR) margin: The signal-to-noise ratio margin represents the amount of increased received noise (in dB) relative to the noise power that the system is designed to tolerate and still meet the target BER of 10−7, accounting for all coding (e.g. trellis coding, RS FEC) gains included in the design. The SNR margin ranges from -64.0 dB to +63.5 dB with 0.5 dB steps.

Margin/SNR Margin/Noise Margin
The margin is a "buffer" measured in decibels that represents the difference between the current signal to noise ratio and a lower SNR at which point the current sync speed of the modem can likely no longer be sustained. During the initial ADSL negotiation the ATU-C may see that the current attenuation levels and SNR allow for a sync rate of N-Mbps but with little room for further signal loss. Typically devices choose a SNR margin of say 6dB (anything from 3dB to 18dB in 3dB increments is common, 6dB and 3dB are very common in the UK) meaning that the ATU-C and ATU-R will agree a sync speed that is possible if the SNR was 6dB less, to provide a more reliable connection. Rate adaptive products can negotiate higher and lower sync speeds at line conditions change over time. For non-rate adaptive products the connections must be disconnected and re-established (either my manual intervention or because the signal degraded enough that the connection was dropped).