dsl intro-2

Upload: mayank-srivastava

Post on 04-Apr-2018

220 views

Category:

Documents


0 download

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