Stein XML 2.1 XML a first course Part 2 Yaakov J. Stein Chief Scientist RAD Data Communications.
Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data...
-
Upload
briana-lawson -
Category
Documents
-
view
214 -
download
0
Transcript of Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data...
Stein Intro xDSL 2.1
IntroductionIntroduction
toto
xxDSL DSL
Part IIPart II
IntroductionIntroduction
toto
xxDSL DSL
Part IIPart II
Yaakov J. Stein
Chief ScientistRAD Data Communications
Stein Intro xDSL 2.2
Introduction to xDSLIntroduction 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
Stein Intro xDSL 2.3
Introduction to xDSL IIIntroduction 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 doesn’t
Noise, cross-talk
Stein Intro xDSL 2.4
The simplest modem - NRZThe 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
Stein Intro xDSL 2.5
The simplest modem - continuedThe simplest modem - continued
There are a few problems ...
DC
Bandwidth
Noise
Timing recovery
ISI
Actually (except the DC) these problems plague all modems
Stein Intro xDSL 2.6
The simplest modem - DCThe simplest modem - DC
What’s 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
Stein Intro xDSL 2.7
The simplest modem - DCThe simplest modem - DC
So what about transmitting -1/+1?
This is better, but not perfect! DC isn’t 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
Stein Intro xDSL 2.8
Bit scramblingBit scramblingWe 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 ......
Stein Intro xDSL 2.9
The simplest modem - DCThe simplest modem - DC
What about RZ?
No long +1 runs, so DC decay not important Still there is DC Half width pulses means twice bandwidth!
1 1 1 00 1 10
Stein Intro xDSL 2.10
The simplest modem - DCThe simplest modem - DC
T1 uses AMI (Alternate Mark Inversion)
Absolutely no DC! No bandwidth increase!
1 1 1 00 1 10
Stein Intro xDSL 2.11
The simplest modem - DCThe 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
Stein Intro xDSL 2.12
NRZ - BandwidthNRZ - 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)
0 0.5 1 1.5 2 2.5 3 3.5 40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
Stein Intro xDSL 2.13
OOK - BandwidthOOK - 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)
0 0.5 1 1.5 2 2.5 3 3.5 40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Stein Intro xDSL 2.14
From NRZ to n-PAMFrom NRZ to n-PAM
NRZ
4-PAM(2B1Q)
8-PAM
Each level is called a symbol or baud 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 CODE10 => +311 => +101 => -100 => -3
GRAY CODE100 => +7101 => +5111 => +3110 => +1010 => -1011 => -3001 => -5000 => -7
+1
-1
1 1 1 0 0 1 0
Stein Intro xDSL 2.15
PAM - BandwidthPAM - Bandwidth
BW (actually the entire PSD) doesn’t change with n !
So we should use many bits per symbolBut then noise becomes more important(Shannon strikes again!)
0 0.5 1 1.5 2 2.5 3 3.5 40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
BAUD RATE
Stein Intro xDSL 2.16
Trellis codingTrellis 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
Stein Intro xDSL 2.17
The simplest modem - NoiseThe simplest modem - Noise
So what can we do about noise?
If we use frequency diversity we 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
Stein Intro xDSL 2.18
ASKASK
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
Stein Intro xDSL 2.19
FSKFSK
FSK is based on orthogonality of sinusoids of different frequencies Make decision only if there is energy at f1 but not at f2
Uncertainty theorem says this requires a long time So FSK is robust but slow (Shannon strikes again!)
f1 f2
Stein Intro xDSL 2.20
PSKPSK
What about sinusoids of the same frequency but different phases? Correlations reliable after a single cycle
So let’s try BPSK 1 bit / symbol
or QPSK
2 bits / symbol
Bell 212 2W 1200 bps
V.22
1 1 1 0 0 1 0 1
11 10 01 01 00 11 01
Stein Intro xDSL 2.21
PSK - Eye diagramsPSK - 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
Stein Intro xDSL 2.22
QAMQAM
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
Stein Intro xDSL 2.23
The secret math behind it allThe secret math behind it all
The instantaneous representation x(t) = A(t) cos ( 2 fc t + (t) ) A(t) is the instantaneous amplitude (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 of (t)
The way we defined them A(t) and (t) are not unique The canonical pair (Hilbert transform)
Stein Intro xDSL 2.24
The secret math - continuedThe secret math - continued
How can we find the amplitude and phase?
The Hilbert transform is a 90 degree phase shifter
H sin((t) ) = cos((t) )
Hence x(t) = A(t) cos ( 2 fc t + (t) )
y(t) = H x(t) = A(t) sin ( 2 fc t + (t) )
A(t) = x2(t) + y2(t)
(t) = arctan( y(t) x(t) )
Stein Intro xDSL 2.25
Star watching 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, the angle
For example, QPSK can be drawn (rotations are time shifts)
Each point represents 2 bits!
Stein Intro xDSL 2.26
QAM constellations 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
Stein Intro xDSL 2.27
Voicegrade modem constellationsVoicegrade modem constellations
Stein Intro xDSL 2.28
QAM constellations - continuedQAM 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 = <r2> 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
Stein Intro xDSL 2.29
QAM constellations - slicersQAM constellations - slicers
How do we use the constellation plot?
Received point classified to nearest constellation point Each point has associated bits (well that’s a lie, but hold on) Sum of errors is the PDSNR
Stein Intro xDSL 2.30
Multidimensional constellationsMultidimensional 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?
Stein Intro xDSL 2.31
DuplexingDuplexing
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
m odulator
dem odulator
4W to 2W
H YBR ID
U TPLEC
Stein Intro xDSL 2.32
Multiplexing & Inverse multiplexingMultiplexing & 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
Stein Intro xDSL 2.33
Modern Voice Grade Modern Voice Grade (not DSL)(not DSL) Modems Modems
V.34 (<=33.6 Kbps) Line probing and adaptive (water pouring?) spectral allocation Multidimensional QAM Huge constellations Laroia precoding Shell mapping (noninteger bits/symbol)
V.90, V.92 (<= 56 Kbps) Asymmetric rates (V.90 uses V.34 for upstream) Downstream PCM(G.711) not analog modem Spectral shaping to overcome effects of D/A, XMFRs, etc.
Stein Intro xDSL 2.34
The simplest modem - TimingThe 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
Stein Intro xDSL 2.35
Timing recoveryTiming 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 / 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
Stein Intro xDSL 2.36
Carrier recoveryCarrier recovery
Need carrier recovery for PSK / QAM signals
How can we recover the carrier of a PSK signal?
X(t) = S(t) cos ( 2 fc t ) where S(t) = +/- 1
So X2(t) = cos2 ( 2 fc t )
For QPSK X4(t) eliminates the data and emphasizes the carrier!
Old QAM saying
“square for baud, to the fourth for carrier”
Stein Intro xDSL 2.37
Constellation rotation recoveryConstellation 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 can’t! We have to live with it!And the easiest way is to use differential coding!
DPSK NPSK Gray code000 100 110 010 011 111 101 001 000
QAM put the bits on the transitions!
101
00
11
10
Stein Intro xDSL 2.38
The simplest modem - ISIThe simplest modem - ISI
Stein Intro xDSL 2.39
QAM ISIQAM ISI
The symbols overlap and interfere
Constellations become clouds
Only previous symbol
Moderate ISI
Severe ISI
Stein Intro xDSL 2.40
EqualizersEqualizers
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-pole
so the equalizer is all-zero (FIR)
How do we find the equalizer coefficients?
modulatorchannel
filterequalizer demodulator
Stein Intro xDSL 2.41
Training equalizersTraining 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
= (ai)
Stein Intro xDSL 2.42
Equalizers - continuedEqualizers - 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
Stein Intro xDSL 2.43
Equalizers - DFEEqualizers - 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!
linearequalizer slicer
feedbackfilter
out
Stein Intro xDSL 2.44
Equalizers - Tomlinson precodingEqualizers - 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
Stein Intro xDSL 2.45
Trellis codingTrellis 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
Stein Intro xDSL 2.46
Set Partitioning - 8PAMSet Partitioning - 8PAM
Original First step Final step
Subset 0 Subset 1 00 01 10 11
Stein Intro xDSL 2.47
Set Partitioning - 8PSKSet Partitioning - 8PSK
Stein Intro xDSL 2.48
Trellis coding - continuedTrellis 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 can’t 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
Stein Intro xDSL 2.49
Multicarrier Modulation 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
Stein Intro xDSL 2.50
OFDM OFDM
Subsignals are orthogonal if spaced precisely by the baud rate
No guard frequencies are needed
Stein Intro xDSL 2.51
DMT 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