Title: Part III Wireline Multiuser Basics
1Part III Wireline Multiuser Basics
Prof. John M. Cioffi Dept of EE Stanford
University cioffi_at_stanford.edu
September 9, 2001
March 31, 2001
April 26 2001
2Parts 3 and 4 Outline/Schedule
- 200-245 MU Theory
- 245-330 channels for wireline
- 330-400 Coffee
- 400-430 DSL and Ethernet arch
- 430-515 Multiuser improvements
- 515-530 Zeke
3Part 3 Outline
- Levels of Coordination among Multi Users
- GDFE Theory
- Solutions
- MUD no coordination
- Iterative Waterfilling Interference Chan
- Vectoring
- Channels
4Wireline Multiuser Basics
. . .
- Goal Best PHY signals for user sharing of
channel - Set spectra/signals, optimization via controller
5Ultimate Goal use of Rate Regions
Rlong
Spectral pair 1
Spectral pair 2
Rshort
- Plot of all possible rates of users
- Any point in region is possible, but each with
different spectra - Varies for each channel
6Wireline Coordination ?
- How much coordination among lines is allowed?
- None
- Spectra, all or some
- Signals
- Answer it depends on application (DSL, ethernet)
and evolves with time
7No Coordination
. . .
Controller ?
- Multiuser Detectors only (MUD)
- Different users could be competitive service
providers (different DSLAMS, different
modulation) - Unbundled state of art
8Coordinated Spectra (only)
Shared channel
User 1
User 1
User 2
User 2
. . .
User L
User L
Controller
- interference problem in Information Theory
- Good, but not optimum, solution known
- Iterative waterfilling
9Coordinated 1-sided Signals
User 1
Shared channel
Router DSLAMS
User 2
. . .
User L
Controller
- Multiple access and Broadcast problems
- Monopoly Service Provider
10Coordinated 2-sided Signals
Shared channel
Router DSLAMS
Router DSLAMS
Controller
Controller
- Full Vectoring Problem private networks (cat 5)
- Highest data rates
11Part 3 Outline
- Coordination Levels
- GDFE Theory
- Solutions
- MUD no coordination
- Iterative Waterfilling Interference Chan
- Vectoring
- Channels
12Block/Packet Transmission channel
- Assumes NO NEXT (FDM used to separate up/down
- X is input vector of
- One or up to L users data samples
- Coordinated or not, L users x mN dimensions
- Y is output vector of
- One or more receivers output packets
- Coordinated or not, L users x nN dimensions
- H is linear coupling, Noise vector is n
13Generalized DFE
- W and B are matrix operations on the packets Y
and X - Traditional structures become matrices that do
not necessarily correspond to convolution - Applies to all single-user and multiple-user
situations
14Finding the Equivalent Channel
X
H
good part - gets through channel
Input components best are green
null space - blocked by channel
null space - zeroed by design
15GDFE Solutions
- Always can be combined with good AWGN transmit
codes and green signal optimization to get best
performance - bclog(1 SNRGDFE)
- Use good (turbo, LDPC) code on green components
- fundamental structure used to analyze (not
implement) - Useful one way or another in all the multiple
user problems - Introduced Cioffi/Forney, 1996 see 5
16Part 3 Outline
- Coordination Levels
- GDFE Theory
- Solutions
- MUD no coordination
- Iterative Waterfilling Interference Chan
- Vectoring
- Channels
17No coordination - MUD
- Similar to wireless case
- Various interference cancellation strategies
- Linear
- Decision-aided
- Each receiver learns or estimates channel from
all users - Each receiver attempts to reduce/eliminate
signals from all other users while estimating the
signal it wants - Other signals may not be orthogonal for many
reasons - Intersymbol interference
- Interchannel interference (crosstalk)
- Wireline case differences (from wireless)
- Crosstalkers may be very large or very small, and
still significant in all cases - Channel is relatively stationary (usually)
18MUD Channel Model
- yHx n H1 x1 H2 x2 n
- HH1 H2 HL
19(L users) x (1N dimensions) Generalized DFE
- Tries to estimate all users, even if we dont
want them all - Helps estimate the user of interest in
no-coordination problem - Best that can be done, given any input spectra
- Error propagation can be enormous degradation
20Error Prop Fix Iterative Decoding
h1,1
Channel output
Decoder 1 (prob of x1 symbol)
p1
Hard Decison
x1
User 1
x2
n
User 2
noise
h1,2
Hard Decison
Decoder 2 (prob of x2 symbol)
p2
(typically not implemented)
- Compute probabilities, rather than hard decisions
- when done iterating, then do hard decision
- Effectively achieves level of performance of
no-error GDFE/capacity
21Soft vs Hard Canceller 18
Soft symbols
Hard decisions
Soft or hard x3
- ci is average value of xi, computed from p.d.
223 step iteration
- Compute new soft output
- compute probability distribution from soft
outputs for each output dimension - compute new soft symbol and variance
- Do it again and again, cycling through estimates
of all users signals x
23Example for MUD HPNA into VDSL
CO
vdsl
hpna vdsl
telco
hpna
home
- No signal necessarily much larger than another
- Error propagation would destroy GDFE alone
- Iterative decoding with GDFE works at near
optimum levels (I.e., as if there were no error
prop.)
24Optimum Detector
8 Mbps HLAN
26 Mbps VDSL
- 6 tones of 256 zeroed in 5-10 MHz band
25Example DSL and HPNA
- VDSL and HPNA both share 5-10 MHz on twisted pair
- Use GDFE concept and soft-cancellation at rcvr
for VDSL - Works like HPNA wasnt there (mutliuser capacity
on phone line is 200 Mbps vs 20 Mbps when other
user is Gaussian noise)
26Part 3 Outline
- Coordination Levels
- GDFE Theory
- Solutions
- MUD no coordination
- Iterative Waterfilling Interference Chan
- Vectoring
- Channels
27Interference Channel Spectral Balancing
- No transmit or receive signal coordination
- Only spectra can be designed jointly
- Only cases for which opt. solution is known are
- 1N dimensions by L users - broadcast
- L by 1N multiple access
- 1N by 1N single user Water Filling
- General case, a good (not nec opt) solution is
known as iterative waterfilling
28Sub optimal Solution
GDFE 1
Shared channel
GDFE 1
GDFE 2
GDFE 2
. . .
GDFE 3
GDFE L
Controller
- GDFE on each receiver for all L users
- Best for any given spectra of all users
- Dont know best spectra for set of users
- Try to optimize anyway using iterative
waterfilling
29Waterfilling
NSR(f)
S(f)
?/g(f) ? N(f)/H(f)2
- Waterfilling is known optimum on single-user
channel
30Iterative Waterfilling 15,16
- Each channel considers all others to have fixed
spectra - Can start with flat on all
- Waterfilling executed for user 1
- New spectrum for user 1 replaces old
- Waterfilling executed for user 2 with new spectra
for 1 - New spectra for user 2 replaces old
- user N
- Recycle a few times
- Converges close to optimum solution for
Inteference channel nearly maximizes sum of all
rates
31Generation of Rate Regions
Rlong
Spectral pair 1
Spectral pair 2
Rshort
- Each user has power limit
- For each user
- Lower the power limit in IterWater and get
increased rates on others - Sketch N-dimensional rate region by running
IterWater for many different power combinations - Check if desired rate is in region
32Part 3 Outline
- Coordination Levels
- GDFE Theory
- Solutions
- MUD no coordination
- Iterative Waterfilling Interference Chan
- Vectoring
- Channels
33Multiple Access Up Link
User 1
Shared Channel H LN x LN
GDFE DSLAM
User 2
. . .
User L
Controller
- GDFE at one side with HH1 H2 HL
- Vector receiver, with synch-DMT, LxL GDFE
- Best Solution now known 15 Yu, Rhee, Cioffi
(only FDM when there is only one receiver 14
more complicated than that here) - May have all L users on each tone
- GDFE separates them at DSLAM
- May have error propagation, so iterative decoding
necessary
34Input Spectra
- Can again be computed by iterative waterfilling
across N tones - known optimum in this multiple-access case
- Each tone is L x L GDFE receiver with DMT
modulation on channel - Can approximately compute a lower bound on rate
region using iterative waterfilling and varying
powers on each channel as in spectral balancing
35Broadcast Downlink
simple 1
Shared Channel H LN x LN
Vector DSLAM Vector precoder
simple 2
. . .
simple L
Controller
- Optimum known (solved after 30 yrs in 2001)
- More complicated version of IterWater
- See Wei Yu recent work 17 , iterative solution
of Ricatti eqn - Achieves nearly same performance as multiple
access for most wireline cases, but optimization
occurs with precoder at transmit side to leave
each receiver independent GDFE at each receiver
is diagonal (no feedback) and is slicer for each
user.
36Ginis/Negi QR Simplification of Vectored GDFE
SNR
decision sequence for packet
WQ
X
Y
Z
BR
- ZF-GDFE close to MMSE-GDFE on wireline channels
(max rate sum) - FEXT from any source is less than on-line signal
from that source - HQR (orthogonal, triangular)
- Applies directly to Multiple Access Uplink
Problem for each tone
37Vectored Transmitter - downlink
X
x
Q
mod
X
I-R
- Vector version of Tomlinson precoder, done for
each tone independently - Prewarps transmitted signal to avert FEXT
38Full Vectoring Solution SVD
Y
decision sequence for packet
X
WF
H
M
X
- HMLF (M,F orthogonal, L diagonal)
- Singular value decomposition
- Vectored VDSL or VDMT
- Always gets max rate-sum capacity
- QR is close on DSL channels, but not in all
situations - Easy to implement on per-tone basis
- MIMO Echo cancellation possible (so full band)
39Part 3 Outline
- Coordination Levels
- GDFE Theory
- Solutions
- MUD no coordination
- Iterative Waterfilling Interference Chan
- Vectoring MA, Broadcast
- Full Vectoring solution
- Channels
40ADSL Loops
d
d
3-5 mile loops
loops with bridge taps
41Crosstalk
phone line 1
NEXT
FEXT
phone line 2
Dominant noises, increased coupling at
higher frequencies - must be mitigated in
design NEXT - 10-13 f1.5 FEXT - 10-19 d
H(f)2 f2
42Other Noises
- Radio Noise, AM, HAM
- 1 mW differential into rcvr
- must reject HAM by 70-90 dB (VDSL) and AM by
20-40 dB (ADSL) - Impulse Noise
- 10s millivolts
- 100s microseconds
- narrowband (high amplitude)
- broadband (low amplitude)
43Radio Emissions
- like crosstalk, except into radio receivers
- VDSL amateur (HAM) bands Public Safety bands
- transmit in discontinuous bands
44MIMO Line Quantities 3
- Matrix Channel Xfer
- Individual lines ij
- Magnitude profiles (i.e., no phase information)
- Virtual Binder Group
(
)
)
(
f
H
f
H
ij
,...,
1
,...,
1
K
j
K
i
45Noises 3,4
- Noises are unknown crosstalkers and
thermal/radio - Psd N(f)
- Frequency bandwidth of measurement
- Time interval for measurement
- Requisite accuracy
46Source Information 3,5
- Clock offsets can be determined at various
points for virtual binder lines - Transmit power level needs reporting
47Channel ID 1
nk
Size-N IFFT (with prefix)
pk
Xn
Size-N FFT
En
P
-
n
- Estimate gains at several frequencies
- Estimate noise variances at same freqs
48Gain Estimation
- Divide/average channel-out by known in
- Need about L40 symbols of training to reduce
gain estimation error to .1 dB
Y
L
1
å
n
l
,
P
n
X
L
l
1
n
l
,
49Noise Estimation
- Use Errors from Gain estimation
- Need L4000 for .1 dB error
- SNR is then gain-squared/noise estimate
L
1
å
2
s
2
E
n
n
,
1
L
l
1
50MIMO Complications
- Training may not be available
- Use actual data
- Different systems may not have same clock
- Interpolation problem
51Basic MIMO crosstalk ID 4
- NEXTs and FEXTS
- Difference services (ADSL, HDSL ,)
- Different operators (unbundling)
52Generic Crosstalk Model
noise n
Xmit 0
Channel h0
Rcvr 0 y
x0
Xmit 1
Crosstalk channel h1
- Objectives
- find hi(m)
- If each solely excited with training sequence,
then previous method applies directly for each - Rare if ever occurrence
x1
Crosstalk channel hk
Xmit K
xK
53Step 1 Data Acquisition
- Network Maintenance Center (NMC)
- Acquire data during a pre-defined time period
Modem 0
Modem 0
Customer Premises
CO
Modem k
Modem k
SNMP
SNMP
NMC
54Step 2 Resampling
- Different services
- Different sampling rate
- Time-varying crosstalk function
- Resample the transmitted input data
- Stationary crosstalk function
xc(t)
Tx Filter p(t)
xTalk hi(t)
Rcvr Filter hlp(t)
y
x(n)
1/T
1/T'
55Timing difference
- Different modems ? Different time stamps
- Pre-defined periods do not align perfectly
Modem 0
DSLAM
NMC
Modem i
DSLAM
Modem k
56Step 3 Timing Difference Estimation
- Example of timing difference
- Cross-correlation
- Calculate cross-correlation between xi and y,
Rxiy(l) - Detect the peak of Rxiy(l)
xi(0)
xi(di)
xi(Lt)
y(0)
y(Lt)
di
Lt1
time
30000
30100
57Cross-correlation
58Step 4 Crosstalk Functions Estimation
- Modified mathematical model
-
59NEXTs and FEXTs
FEXTs
NEXTs
60HDSL NEXT, time response
61Estimation Error
62MIMO Channel ID Method with training packets
- Correlate to rough timing alignment
- I/O packets stored around time stamp on lines and
reported to maintenance center - Determination of exact timing offset
- Interpolation of inputs to common timing phase
- Least-Squares fitting
- See JSAC or 4, C. Zeng for DSL
63EM (Blind) Training
A block of received data can be collected to form
64ML and EM Solutions
- Maximum Likelihood (complex)
- Matrix inversion for each possible sequence
- Expectation Maximization (easier)
- No training 1 matrix inversion
65Block EM channel estimation
1. Compute
and invert.
2. Compute
using
3. Channel and noise variance estimate is given
by
66Simulation Setup
- ADSL-DBM modem
- 1 NEXT (SSDSL) and
- 1 FEXT (ADSL)
- Initial condition acquired from sync symbol or
from network maintenance center - 500 m line FEXT source
- 10 ms of data (L40)
67EM Simulation Results
68Motivation
- Eliminates delay
- Reduces storage
- Track time-variant parameters or locally
stationary processes in an adaptive manner - Block stationary assumption no longer needed
- See 3
69Parts 3 and 4 Outline/Schedule
- 200-245 MU Theory
- 245-330 channels for wireline
- 330-400 Coffee
- 400-430 DSL and Ethernet arch
- 430-515 Multiuser improvements