dsl intro-2
TRANSCRIPT
-
7/30/2019 DSL Intro-2
1/51
Stein Intro xDSL 2.1
Introductionto
xDSL
Part II
Yaakov J. Stein
Chief Scientist
RAD Data Communications
-
7/30/2019 DSL Intro-2
2/51
Stein Intro xDSL 2.2
Introduction to xDSL
I Background
history, theoretical limitations, applications
II Modems
line codes, duplexing, equalization,
error correcting codes, trellis codes
III xDSL - What is x?
x=I,A,S,V - specific DSL technologies
competitive technologies
-
7/30/2019 DSL Intro-2
3/51
Stein Intro xDSL 2.3
Introduction to xDSL II
How to make a modem
PAM, FSK, PSK
How to make a better modem
QAM, CAP, TCM, V.34, V.90, DMT
How to make a modem that works
Equalizers, echo, timing, duplexing
Why it doesnt
Noise, cross-talk
-
7/30/2019 DSL Intro-2
4/51
Stein Intro xDSL 2.4
The simplest modem - NRZ
Our first attempt is to simply transmit 1 or 0 (volts?)
(short serial cables, e.g. RS232)
Information rate = number of bits transmitted per second (bps)
1 1 1 00 1 10
-
7/30/2019 DSL Intro-2
5/51
Stein Intro xDSL 2.5
The simplest modem - continued
There are a few problems ...
DC
Bandwidth
Noise
Timing recovery
ISI
Actually (except the DC) these problems plague allmodems
-
7/30/2019 DSL Intro-2
6/51
Stein Intro xDSL 2.6
The simplest modem - DC
Whats wrong with a little DC?
We want to transmit information - not power
DC heats things up, and is often purposely blocked
DC is used in telephony environment for powering
1 1 1 00 1 10
-
7/30/2019 DSL Intro-2
7/51Stein Intro xDSL 2.7
The simplest modem - DC
So what about transmitting -1/+1?
This is better, but not perfect!
DC isnt exactly zero Still can have a long run of +1 OR -1 that will decay
Even without decay, long runs ruin timing recovery (see below)
1 1 1 00 1 10
-
7/30/2019 DSL Intro-2
8/51Stein Intro xDSL 2.8
Bit scrambling
We can get rid of long runs at the bit level
Bits randomized for better spectral properties Self synchronizing
Original bits can be recovered by descrambler
Still not perfect!(one to one transformation)
in
out
D DDDD ......
in
out
D DDDD ......
-
7/30/2019 DSL Intro-2
9/51Stein Intro xDSL 2.9
The simplest modem - DC
What about RZ?
No long +1 runs, so DC decay not important
Still there isDC
Half width pulses means twice bandwidth!
1 1 1 00 1 10
-
7/30/2019 DSL Intro-2
10/51Stein Intro xDSL 2.10
The simplest modem - DC
T1 uses AMI (Alternate Mark Inversion)
Absolutely no DC!
No bandwidth increase!
1 1 1 00 1 10
-
7/30/2019 DSL Intro-2
11/51Stein Intro xDSL 2.11
The simplest modem - DC
Even better - use OOK (On Off Keying)
Absolutely no DC!
Based on sinusoid (carrier) Can hear it (morse code)
1 1 1 00 1 10
-
7/30/2019 DSL Intro-2
12/51Stein Intro xDSL 2.12
NRZ - Bandwidth
The PSD (Power Spectral Density) of NRZ is a sinc ( sinc(x) = sin(x) )
The first zero is at the bit rate (uncertainty principle)
So channel bandwidth limits bit rate
DC depends on levels (may be zero or spike)
x
-
7/30/2019 DSL Intro-2
13/51Stein Intro xDSL 2.13
OOK - Bandwidth
PSD of -1/+1 NRZ is the same, except there is no DC component
If we use OOK the sinc is mixed up to the carrier frequency
(The spike helps in carrier recovery)
-
7/30/2019 DSL Intro-2
14/51Stein Intro xDSL 2.14
From NRZ to n-PAM
NRZ
4-PAM(2B1Q)
8-PAM
Each level is called a symbolorbaud Bit rate = number of bits per symbol * baud rate
+3
+1
-3
-1
11 10 01 01 00 11 01
111 001 010 011 010 000 110
GRAY CODE
10 => +3
11 => +101 => -1
00 => -3
GRAY CODE100 => +7
101 => +5
111 => +3
110 => +1
010 => -1
011 => -3
001 => -5
000 => -7
+1
-1
1 1 1 0 0 1 0
-
7/30/2019 DSL Intro-2
15/51Stein Intro xDSL 2.15
PAM - Bandwidth
BW (actually the entire PSD)doesnt change with n !
So we should use many bits per symbolBut then noise becomes more important(Shannon strikes again!)
BAUD RATE
-
7/30/2019 DSL Intro-2
16/51Stein Intro xDSL 2.16
Trellis coding
Traditionally, noise robustness is increased
by using an Error Correcting Code (ECC)
But an ECC separate from the modem is not optimal !
Ungerboeck found how to integrate demodulation with ECC
This technique is called a
Trellis Coded PAM (TC-PAM) or
Ungerboeck Coded PAM (UC-PAM)
We will return to trellis codes later
-
7/30/2019 DSL Intro-2
17/51
Stein Intro xDSL 2.17
The simplest modem - Noise
So what can we do about noise?
If we use frequency diversitywe can gain 3 dB
Use two independent OOKs with the same information
(no DC)
This is FSK - Frequency Shift Keying Bell 103, V.21 2W full duplex 300 bps (used today in T.30)
Bell 202, V.23 4W full duplex 1200 bps (used today in CLI)
1 1 1 0 0 1 0 1
-
7/30/2019 DSL Intro-2
18/51
Stein Intro xDSL 2.18
ASK
What about Amplitude Shift Keying - ASK ?
2 bits / symbol
Generalizes OOK like multilevel PAM did to NRZ
Not widely used since hard to differentiate between levels
Is FSK better?
11 10 01 01 00 11 01
-
7/30/2019 DSL Intro-2
19/51
Stein Intro xDSL 2.19
FSK
FSK is based on orthogonality of sinusoids of different frequencies
Make decision only if there isenergy at f1 but notat f2
Uncertainty theorem says this requires a long time
So FSK is robust but slow (Shannon strikes again!)
f1
f2
-
7/30/2019 DSL Intro-2
20/51
Stein Intro xDSL 2.20
PSK
What about sinusoids of the same frequency but different phases?
Correlations reliable after a single cycle
So lets try BPSK
1 bit / symbol
or QPSK2 bits / symbol
Bell 212 2W 1200 bps
V.22
1 1 1 0 0 1 0 1
11 10 01 01 00 11 01
-
7/30/2019 DSL Intro-2
21/51
Stein Intro xDSL 2.21
PSK - Eye diagrams
PSK demodulator extracts the phase as a function of time
Proper decisions when eye is open
Eye will close because of
Timing errors Channel distortion
Noise
-
7/30/2019 DSL Intro-2
22/51
Stein Intro xDSL 2.22
QAM
Finally, we can combine PSK and ASK (but not FSK)
2 bits per symbol
V.22bis 2W full duplex 2400 bps used 16 QAM (4 bits/symbol)
This is getting confusing
11 10 01 01 00 11 01
-
7/30/2019 DSL Intro-2
23/51
Stein Intro xDSL 2.23
The secret math behind it all
The instantaneous representation
x(t) = A(t) cos ( 2p fc t + f(t) )
A(t) is the instantaneous amplitude
f(t) is the instantaneous phase
This obviously includes ASK and PSK as special cases
Actually all bandwidth limited signals can be written this way
Analog AM, FM and PM
FSK changes the derivative off(t)
The way we defined them A(t) and f(t) are not unique
The canonical pair (Hilbert transform)
-
7/30/2019 DSL Intro-2
24/51
Stein Intro xDSL 2.24
The secret math - continued
How can we find the amplitude and phase?
The Hilbert transform is a 90 degree phase shifter
H sin(f(t) ) = cos(f(t) )
Hence
x(t) = A(t) cos ( 2p fc t + f(t) )
y(t) = H x(t) = A(t) sin ( 2p fc t + f(t) )
A(t) = x2(t) + y2(t)
f(t) = arctan(y(t) x(t))
-
7/30/2019 DSL Intro-2
25/51
Stein Intro xDSL 2.25
Star watching
For QAM eye diagrams are not enough
Instead, we can draw a diagram with x and y as axes
A is the radius, f the angle
For example, QPSK can be drawn (rotations are time shifts)
Each point represents 2 bits!
-
7/30/2019 DSL Intro-2
26/51
Stein Intro xDSL 2.26
QAM constellations
16 QAM V.29 (4W 9600 bps)
V.22bis 2400 bps Codex 9600 (V.29)
2W
first non-Bell modem (Carterphone decision)
Adaptive equalizer
Reduced PAR constellation
Today - 9600 fax!
8PSKV.27
4W
4800bps
-
7/30/2019 DSL Intro-2
27/51
Stein Intro xDSL 2.27
Voicegrade modem constellations
-
7/30/2019 DSL Intro-2
28/51
Stein Intro xDSL 2.28
QAM constellations - continued
What is important in a constellation?
The number of points N
The minimum distance between points dmin
The average squared distance from the center E =
The maximum distance from the center R
Usually
Maximum E and R are given
bits/symbol = log2 N
PAR = R/r
Perr is determined mainly by dmin
-
7/30/2019 DSL Intro-2
29/51
Stein Intro xDSL 2.29
QAM constellations - slicers
How do we use the constellation plot?
Received point classified to nearest constellation point
Each point has associated bits (well thats a lie, but hold on)
Sum of errors is the PDSNR
-
7/30/2019 DSL Intro-2
30/51
Stein Intro xDSL 2.30
Multidimensional constellations
PAM and PSK constellations are 1D
QAM constellations are 2D (use two parameters of signal)
By combining A and of two time instants ...
we can create a 4D constellation
From N times we can make 2N dimensional constellation!
Why would we want to?
There is more room in higher dimensions!
1D 2 nearest neighbors 2D 4 nearest neighbors
ND 2N nearest neighbors!
How do I draw this?
-
7/30/2019 DSL Intro-2
31/51
Stein Intro xDSL 2.31
Duplexing
How do we send information in BOTH directions?
Earliest modems used two UTPs, one for each direction (4W)
Next generation used 1/2 bandwidth for each direction (FDD)
Alternative is to use 1/2 the time (ping-pong) (TDD)
Advances in DSP allowed 4W technology to be used in 2W
V.32 used V.33 modulation with adaptive echo canceling
modulator
demodulator
4W to 2W
HYBRID
UTP
LEC
-
7/30/2019 DSL Intro-2
32/51
Stein Intro xDSL 2.32
Multiplexing & Inverse multiplexing
Duplexing = 2 data streams in 2 directions on 1 physical line
Multiplexing = N data streams in 1 direction on 1 physical line
Inverse multiplexing = 1 data stream in 1 direction on N physical lines
Inverse multiplexing (bonding) can be performed at different layers
data streams physical line data stream physical lines
-
7/30/2019 DSL Intro-2
33/51
Stein Intro xDSL 2.33
Modern Voice Grade (not DSL) Modems
V.34 (
-
7/30/2019 DSL Intro-2
34/51
Stein Intro xDSL 2.34
The simplest modem - Timing
Proper timing
Provided by separated transmission
uses BW or another UTP
Improper timing
causes extra or missed bits, and bit errors
1 1 1 00 1 10
-
7/30/2019 DSL Intro-2
35/51
Stein Intro xDSL 2.35
Timing recovery
How do we recover timing (baud rate) for an NRZ signal?
For clean NRZ - find the GCF of observed time intervals
For noisy signals need to filter b = T / tt = a t + (1-a) T/b
PLL
How can we recover the timing for a PSK signal?
The amplitude is NOT really constant (energy cut-off)
Contains a component at baud rate
Sharp filter and appropriate delay
Similarly for QAM
BUT as constellation gets rounder
recovery gets harder
-
7/30/2019 DSL Intro-2
36/51
Stein Intro xDSL 2.36
Carrier recovery
Need carrier recovery for PSK / QAM signals
How can we recover the carrier of a PSK signal?
X(t) = S(t) cos ( 2p fc
t ) where S(t) = +/- 1
So X2(t) = cos2( 2p fc t )
For QPSK X4(t) eliminates the data and emphasizes the carrier!
Old QAM saying
square for baud, to the fourth for carrier
-
7/30/2019 DSL Intro-2
37/51
Stein Intro xDSL 2.37
Constellation rotation recovery
How can we recover the rotation of the constellation?
Simply change phase for best match to the expected constellation!
How do we get rid of 90 degree ambiguity?
We cant! We have to live with it!And the easiest way is to use differential coding!
DPSK NPSK Gray code
000 100 110 010 011 111 101 001 000
QAM put the bits on the transitions!
101
00
11
10
-
7/30/2019 DSL Intro-2
38/51
Stein Intro xDSL 2.38
The simplest modem - ISI
-
7/30/2019 DSL Intro-2
39/51
-
7/30/2019 DSL Intro-2
40/51
Stein Intro xDSL 2.40
Equalizers
ISI is caused by the channel acting like a low-pass filter
Can correct by filtering with inverse filter
This is called a linear equalizer
Can use compromise (ideal low-pass) equalizer
plus an adaptive equalizer
Usually assume the channel is all-poleso the equalizer is all-zero (FIR)
How do we find the equalizer coefficients?
modulatorchannel
filterequalizer demodulator
-
7/30/2019 DSL Intro-2
41/51
Stein Intro xDSL 2.41
Training equalizers
Basically a system identification problem
Initialize during training using known data
(can be reduced to solving linear algebraic equations)
Update using decision directed technique (e.g. LMS algorithm)
once decisions are reliable
Sometimes can also use blind equalization
e = e (ai)e
-
7/30/2019 DSL Intro-2
42/51
Stein Intro xDSL 2.42
Equalizers - continued
Noise enhancement
This is a basic consequence of using a linear filter
But we want to get as close to the band edges as possible
There are two different ways to fix this problem!
modulatorchannel
filterequalizer demodulator
noise
-
7/30/2019 DSL Intro-2
43/51
Stein Intro xDSL 2.43
Equalizers - DFE
ISI is previous symbols interfering with subsequent ones
Once we know a symbol (decision directed) we can use it
to directly subtract the ISI!
Slicer is non-linear and so breaks the noise enchancement problem
But, there is an error propogation problem!
linear
equalizer slicer
feedback
filter
out
-
7/30/2019 DSL Intro-2
44/51
Stein Intro xDSL 2.44
Equalizers - Tomlinson precoding
Tomlinson equalizes before the noise is added
Needs nonlinear modulo operation
Needs results of channel probe or DFE coefficients
to be forwarded
modulator demodulator
noise
Tomlinson
precoder
channel
filter
-
7/30/2019 DSL Intro-2
45/51
Stein Intro xDSL 2.45
Trellis coding
Modems still make mistakes
Traditionally these were corrected by ECCs (e.g. Reed Solomon)
This separation is not optimal
Proof: incorrect hard decisions - not obvious where to correct
soft decisions - correct symbols with largest error
How can we efficiently integrate demodulation and ECC?
This was a hard problem since very few people were expert
in ECCs and signal processing
The key is set partitioning
-
7/30/2019 DSL Intro-2
46/51
Stein Intro xDSL 2.46
Set Partitioning - 8PAM
D
2D
4D
Original First step Final step
Subset 0 Subset 1 00 01 10 11
-
7/30/2019 DSL Intro-2
47/51
Stein Intro xDSL 2.47
Set Partitioning - 8PSK
-
7/30/2019 DSL Intro-2
48/51
Stein Intro xDSL 2.48
Trellis coding - continued
If we knew which subset was transmitted,
the decision would be easy
So we transmit the subset and the point in the subset
But we cant afford to make a mistake as to the subset
So we protect the subset identifier bits with an ECC
To decode use the Viterbi algorithm
-
7/30/2019 DSL Intro-2
49/51
Stein Intro xDSL 2.49
Multicarrier Modulation
NRZ, RZ, etc. have NO carrier
PSK, QAM have ONE carrier
MCM has MANY carriers
Achieve maximum capacity by direct water pouring!
PROBLEM
Basic FDM requires guard frequencies
Squanders good bandwidth
-
7/30/2019 DSL Intro-2
50/51
Stein Intro xDSL 2.50
OFDM
Subsignals are orthogonal if spaced precisely by the baud rate
No guard frequencies are needed
-
7/30/2019 DSL Intro-2
51/51
DMT
Measure SNR(f) during initialization
Water pour QAM signals according to SNR
Each individual signal narrowband --- no ISI
Symbol duration > channel impulse response time --- no ISI
No equalizer required