Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data...

51
Stein Intro xDSL 2.1 Introduction Introduction to to x x DSL DSL Part II Part II Yaakov J. Stein Chief Scientist RAD Data Communications

Transcript of Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data...

Page 1: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 2: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD 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

Page 3: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 4: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 5: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 6: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 7: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 8: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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 ......

Page 9: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 10: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 11: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 12: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 13: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 14: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 15: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 16: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 17: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 18: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 19: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 20: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 21: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 22: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 23: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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)

Page 24: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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) )

Page 25: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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!

Page 26: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 27: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

Stein Intro xDSL 2.27

Voicegrade modem constellationsVoicegrade modem constellations

Page 28: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 29: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 30: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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?

Page 31: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 32: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 33: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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.

Page 34: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 35: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 36: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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”

Page 37: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 38: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

Stein Intro xDSL 2.38

The simplest modem - ISIThe simplest modem - ISI

Page 39: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

Stein Intro xDSL 2.39

QAM ISIQAM ISI

The symbols overlap and interfere

Constellations become clouds

Only previous symbol

Moderate ISI

Severe ISI

Page 40: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 41: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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)

Page 42: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 43: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 44: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 45: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 46: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

Stein Intro xDSL 2.46

Set Partitioning - 8PAMSet Partitioning - 8PAM

Original First step Final step

Subset 0 Subset 1 00 01 10 11

Page 47: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

Stein Intro xDSL 2.47

Set Partitioning - 8PSKSet Partitioning - 8PSK

Page 48: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 49: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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

Page 50: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

Stein Intro xDSL 2.50

OFDM OFDM

Subsignals are orthogonal if spaced precisely by the baud rate

No guard frequencies are needed

Page 51: Stein Intro xDSL 2.1 Introduction to x DSL Part II Yaakov J. Stein Chief Scientist RAD Data Communications.

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