Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F104949776
3_adsl.tex
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Mar 13, 15:06
Size
17 KB
Mime Type
text/x-tex
Expires
Sat, Mar 15, 15:06 (2 d)
Engine
blob
Format
Raw Data
Handle
24882149
Attached To
R2653 epfl
3_adsl.tex
View Options
\documentclass
[aspectratio=169]
{
beamer
}
\def\stylepath
{
../styles
}
\usepackage
{
\stylepath
/com303
}
\begin
{
document
}
\def\sp
{
}
\begin
{
frame
}
\frametitle
{
Overview:
}
\intro
{
DSLAM=Digital subscriber line access multiplexer
}
\begin
{
itemize
}
[<+->]
\item
Channel
\item
Signaling strategy
\item
Discrete Multitone Modulation (DMT)
\end
{
itemize
}
\end
{
frame
}
\def\phone
{
\raisebox
{
-0.5em
}{
\includegraphics
[height=1.5em]
{
phone.eps
}}}
\def\home
{
\raisebox
{
-2em
}{
\includegraphics
[height=5em]
{
home.eps
}}}
\def\dslam
{
\raisebox
{
0em
}{
\begin
{
tabular
}{
c
}
DSLAM
\\
\includegraphics
[height=6em]
{
dslam.eps
}
\end
{
tabular
}}}
% Digital subscriber line access multiplexer
\begin
{
frame
}
\frametitle
{
The telephone network today
}
\begin
{
figure
}
[t]
\psset
{
linearc=0.2,angleB=180
}
\begin
{
dspBlocks
}{
0.8
}{
0
}
&
&
&
&
&
\phone
\\
&
&
\BDfilterMulti
{
voice
\\
network
}
&
\BDfilter
{
CO
}
&
\phone
\\
&
&
&
&
&
\phone
\\
\home
&
\BDfilter
{
CO
}
&
\\
&
&
\dslam
&
[mnode=circle] internet
&
\\
\end
{
dspBlocks
}
\ncline
{
->
}{
4,1
}{
4,2
}
\ncline
{
->
}{
2,3
}{
2,4
}
\ncdiag
[lineAngle=80]
{
->
}{
4,2
}{
2,3
}
\ncdiag
[lineAngle=100]
{
-
}{
4,2
}{
5,3
}
\ncdiag
[lineAngle=-80,linestyle=dotted]
{
->
}{
2,4
}{
3,6
}
\ncline
{
->
}{
5,3
}{
5,4
}
\ncline
[linestyle=dotted]
{
->
}{
5,4
}{
5,5
}
\ncline
[linestyle=dotted]
{
->
}{
2,4
}{
2,5
}
\ncdiag
[lineAngle=80,linestyle=dotted]
{
->
}{
2,4
}{
1,6
}
\only
<2->
{
\ncline
[linecolor=darkred,linewidth=3pt]
{
->
}{
4,1
}{
4,2
}
\uput
[0]
(-125,10)
{{
\color
{
darkred
}
``last mile''
}}}
\end
{
figure
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The last mile
}
\begin
{
itemize
}
[<+->]
\item
copper wire (twisted pair) between home and nearest CO
\item
very large bandwidth (well over 1MHz)
\item
very uneven spectrum: noise, attenuation, interference, etc.
\end
{
itemize
}
\end
{
frame
}
% ADSL2 can reach up to 12Mbps while ADSL can only reach 8Mbps.
\begin
{
frame
}
\frametitle
{
The ADSL channel
}
\begin
{
figure
}
\begin
{
dspPlot
}
[height=3cm,xtype=freq,xticks=custom,yticks=none]
{
0,1.06
}{
0,1.2
}
\moocStyle
\psframe
[fillstyle=vlines,linecolor=red!70,hatchcolor=red!70,hatchangle=20]
(0,0)(.04,1)
\psframe
[fillstyle=vlines,linecolor=cyan!70,hatchcolor=cyan!70,hatchangle=20]
(.1,0)(.3,1)
\psframe
[fillstyle=vlines,linecolor=blue!70,hatchcolor=blue!70,hatchangle=20]
(.35,0)(1,1)
\dspCustomTicks
[axis=x]
{
0 0 1 1MHz
}
\dspLegend
(0.35,1.8)
{
red!70 POTS cyan!70 upstream blue!70 downstream
}
\end
{
dspPlot
}
\end
{
figure
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The ADSL channel
}
\begin
{
figure
}
\begin
{
dspPlot
}
[height=3cm,xtype=freq,xticks=custom,yticks=none]
{
0,1.06
}{
0,1.2
}
\moocStyle
\psframe
[fillstyle=vlines,linecolor=red!20,hatchcolor=red!20,hatchangle=20]
(0,0)(.04,1)
\psframe
[fillstyle=vlines,linecolor=cyan!20,hatchcolor=cyan!20,hatchangle=20]
(.1,0)(.3,1)
\psframe
[fillstyle=vlines,linecolor=blue!20,hatchcolor=blue!20,hatchangle=20]
(.35,0)(1,1)
\dspFuncData
[plotstyle=curve]
{
0.05 0 .35 1 .75 .5 .83 0 .9 .3 1.05 0
}
\pscustom
[fillstyle=solid,fillcolor=gray,linestyle=none]
{
%
\dspFuncData
[plotstyle=curve]
{
0.2 0 0.25 .2 0.3 .25 0.33 .1 0.35 .12 0.4 .13 0.51 .2 .55 0
}}
\dspDiracs
{
0.7 1
}
\dspCustomTicks
[axis=x]
{
0 0 1
$
F_{
\max
}
$
}
%\dspLegend(0.35,1.8){red!70 POTS cyan!70 upstream blue!70 downstream}
\end
{
dspPlot
}
\end
{
figure
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
Idea: split the band into independent subchannels
}
\begin
{
figure
}
\begin
{
dspPlot
}
[height=3cm,xtype=freq,xticks=custom,yticks=none]
{
0,1.06
}{
0,1.2
}
\moocStyle
\psframe
[fillstyle=solid,linestyle=none,fillcolor=yellow!30]
(0,0)(0.5,1.2)
%
\multido
{
\n
=0+1
}{
10
}{
%
\ifodd\n\psframe
[fillstyle=solid,linestyle=none,fillcolor=yellow!30]
(!
\n\sp
0.1 mul 0.05 add 0)(!
\n\sp
0.1 mul 0.16 add 1.2)
%
\else\psframe
[fillstyle=solid,linestyle=none,fillcolor=magenta!30]
(!
\n\sp
0.1 mul 0.05 add 0)(!
\n\sp
0.1 mul 0.16 add 1.2)
\fi
}
%
\psframe
[fillstyle=vlines,linecolor=red!20,hatchcolor=red!20,hatchangle=20]
(0,0)(.04,1)
\psframe
[fillstyle=vlines,linecolor=cyan!20,hatchcolor=cyan!20,hatchangle=20]
(.1,0)(.3,1)
\psframe
[fillstyle=vlines,linecolor=blue!20,hatchcolor=blue!20,hatchangle=20]
(.35,0)(1,1)
\dspFuncData
[plotstyle=curve]
{
0.05 0 .35 1 .75 .5 .83 0 .9 .3 1.05 0
}
\pscustom
[fillstyle=solid,fillcolor=gray,linestyle=none]
{
%
\dspFuncData
[plotstyle=curve]
{
0.2 0 0.25 .2 0.3 .25 0.33 .1 0.35 .12 0.4 .13 0.51 .2 .55 0
}}
\dspDiracs
{
0.7 1
}
\dspCustomTicks
[axis=x]
{
0 0 1
$
F_{
\max
}
$
}
%\dspLegend(0.35,1.8){red!70 POTS cyan!70 upstream blue!70 downstream}
\end
{
dspPlot
}
\end
{
figure
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
Subchannel structure
}
\begin
{
itemize
}
[<+->]
\item
allocate
$
N
$
subchannels over the total positive bandwidth
\item
equal subchannel bandwidth
$
W
=
F_{
\max
}
/
N
$
\item
equally spaced subchannels with center frequency
$
kF_{
\max
}
/
N
$
,
$
k
=
0
,
\ldots
,N
-
1
$
\end
{
itemize
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The digital design
}
\begin
{
itemize
}
[<+->]
\item
pick
$
F_s
=
2
F_{
\max
}
$
(
$
F_s
=
2
NW
=
2
F_{
\max
}
$
. i.e.
$
F_s
$
multiple of
$
W
$
)
\item
center frequency for each subchannel
$
\displaystyle
\omega
_k
=
2
\pi\frac
{kW}{F_s}
=
\frac
{
2
\pi
}{
2
N}k
$
\item
bandwidth of each subchannel
$
\displaystyle\frac
{
2
\pi
}{
2
N}
$
\item
to send symbols over a subchannel: upsampling factor
$
K
=
2
N
$
\end
{
itemize
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The digital design (
$
N
=
3
)
$
}
\begin
{
figure
}
\begin
{
dspPlot
}
[height=3cm,xtype=freq,xticks=custom,yticks=none]
{
-1,1
}{
0,1.2
}
\only
<1>
{
\dspCustomTicks
[axis=x]
{
0 0 1
$
\pi
$
-1
$
-
\pi
$
}}
\only
<2->
{
\dspCustomTicks
[axis=x]
{
0
$
\omega
_
0
=
0
$
0.3333
$
\omega
_
1
=
2
\pi
/
6
$
0.6666
$
\omega
_
2
=
4
\pi
/
6
$
-.3333
$
-
\omega
_
1
$
-.6666
$
-
\omega
_
2
$
1
$
\pi
$
-1
$
-
\pi
$
}}
\only
<3>
{
%
\dspFunc
[linecolor=green!70]
{
x
\dspRaisedCosine
{
.6666
}{
.1666
}{
.2
}
x
\dspRaisedCosine
{
-.66666
}{
.1666
}{
.2
}
add 2 div
}
\dspFunc
[linecolor=magenta!70]
{
x
\dspRaisedCosine
{
.3333
}{
.1666
}{
.2
}
x
\dspRaisedCosine
{
-.3333
}{
.1666
}{
.2
}
add 2 div
}
\dspFunc
[linecolor=yellow!70]
{
x
\dspRaisedCosine
{
0
}{
.1666
}{
.2
}}}
\end
{
dspPlot
}
\end
{
figure
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The digital design
}
\begin
{
itemize
}
[<+->]
\item
put a QAM modem on each channel
\item
decide on constellation size independently
\item
noisy or forbidden subchannels send zeros
\end
{
itemize
}
\end
{
frame
}
\def\hich
#1#2#3
{
%
\only
<#1>
{
%
\psframe
[linecolor=green!70]
(! #2
\sp
0.1 mul 0)(! #2
\sp
0.1 mul 0.1 add 1.2)
\dspText
(! #2
\sp
0.1 mul 1.3)
{
#3
}}}
\begin
{
frame
}
\frametitle
{
Idea: split the band into independent subchannels
}
\begin
{
figure
}
\begin
{
dspPlot
}
[height=3cm,xtype=freq,xticks=none,yticks=none]
{
0,1.06
}{
0,1.2
}
\moocStyle
\dspFuncData
[plotstyle=curve]
{
0.05 0 .35 1 .75 .5 .83 0 .9 .3 1.05 0
}
\pscustom
[fillstyle=solid,fillcolor=gray,linestyle=none]
{
%
\dspFuncData
[plotstyle=curve]
{
0.2 0 0.25 .2 0.3 .25 0.33 .1 0.35 .12 0.4 .13 0.51 .2 .55 0
}}
\dspDiracs
{
0.7 1
}
\hich
{
1
}{
3.5
}{
channel
\#
5, SNR 20dB
}
\hich
{
2
}{
5.5
}{
channel
\#
7, SNR 50dB
}
\hich
{
3
}{
6.5
}{
channel
\#
8, spike noise, unusable
}
\hich
{
4
}{
7.8
}{
channel
\#
9, too much attenuation, unusable
}
\hich
{
5
}{
9
}{
channel
\#
10, SNR 10dB
}
%\dspCustomTicks[axis=x]{0 0 1 1MHz}
%\dspLegend(0.35,1.8){red!70 POTS cyan!70 upstream blue!70 downstream}
\end
{
dspPlot
}
\end
{
figure
}
\end
{
frame
}
\def\modem
#1#2#3#4
{
%
\begin
{
dspBlocks
}{
.7
}{
.4
}
%
&
&
&
$
e^{j
(
2
\pi
/
2
N
)
#
3
}
$
\\
$
a_{#
1
}
[
m
]
$
~
&
\BDupsmp
{
#2
}
&
\BDlowpass
[.6em]
&
\BDmul
&
[name=#4]
\ncline
{
->
}{
2,1
}{
2,2
}
\ncline
{
->
}{
2,2
}{
2,3
}
\ncline
{
->
}{
2,3
}{
2,4
}^{
~~
$
b_{#
1
}
[
n
]
$
}
%
\ncline
{
->
}{
2,3
}{
2,4
}
\ncline
{
-
}{
2,4
}{
2,5
}^{
~~
$
c_{#
1
}
[
n
]
$
}
%
\ncline
{
->
}{
1,4
}{
2,4
}
%
\end
{
dspBlocks
}}
\def\modemDMT
#1#2#3#4
{
%
\begin
{
dspBlocks
}{
.7
}{
.4
}
%
&
$
e^{j
(
2
\pi
/
2
N
)
#
3
}
$
\\
$
a_{#
1
}
[
\lfloor
n
/
#
2
\rfloor
]
$
~
&
\BDmul
&
[name=#4]
\ncline
{
->
}{
2,1
}{
2,2
}
\ncline
{
-
}{
2,2
}{
2,3
}
\ncline
{
->
}{
1,2
}{
2,2
}
%
\end
{
dspBlocks
}}
\begin
{
frame
}
\frametitle
{
The subchannel modem
}
\centering
\modem
{
k
}{
2N
}{
kn
}{
nop
}
\vspace
{
2em
}
\begin
{
dspBlocks
}{
.7
}{
.4
}
\hspace
{
-4em
}
rate:
$
W
$
symbols/sec
&
&
&
\hspace
{
5em
}
$
2
NW
=
F_s
$
samples/sec
\end
{
dspBlocks
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The bank of modems
}
\begin
{
figure
}
\scalebox
{
0.6
}{
%
\begin
{
dspBlocks
}{
1.2
}{
0.2
}
\modem
{
0
}{
2N
}{
(0
\cdot
n)
}{
A
}
&
&
\\
\modem
{
1
}{
2N
}{
(1
\cdot
n)
}{
B
}
&
&
\\
\modem
{
2
}{
2N
}{
(2
\cdot
n)
}{
C
}
&
&
[name=Z,mnode=circle] +
&
[name=CC]
\BDfilter
{
Re
}
&
[name=S]
$
~s
[
n
]
$
\\
\hspace
{
1em
}
$
\ldots
$
&
&
\\
\modem
{
N-2
}{
2N
}{
(N-2)n
}{
D
}
&
&
\\
\modem
{
N-1
}{
2N
}{
(N-1)n
}{
E
}
&
&
\ncline
{
->
}{
A
}{
Z
}
\ncline
{
->
}{
B
}{
Z
}
\ncline
{
->
}{
C
}{
Z
}
\ncline
{
->
}{
D
}{
Z
}
\ncline
{
->
}{
E
}{
Z
}
\ncline
{
->
}{
Z
}{
CC
}^{
$
c
[
n
]
$
}
\ncline
{
->
}{
CC
}{
S
}
\end
{
dspBlocks
}}
\end
{
figure
}
\end
{
frame
}
\def\Gen
#1
{
%
\raisebox
{
-1.2em
}{
%
\psset
{
xunit=1em,yunit=1em,linewidth=1.5pt
}
%
\pspicture
(-1,0)(7.1,-3)
%
\rput
[r]
{
0
}
(0,-1.5)
{
$
A_{#
1
}
$
}
\rput
[r]
{
0
}
(0,-2.5)
{
$
\phi
_{#
1
}
$
}
\rput
[l]
(1.9,-1.5)
{
\psframebox
[framesep=.2]
{
\parbox
{
4em
}{
~~
\pscirclebox
{
\Large
$
\mathbf
{
\sim
}
$
}
$
_{#
1
}
$
}}}
\psline
[linewidth=0.8pt]
{
->
}
(0.1,-1.5)(1.8,-1.5)
\psline
[linewidth=0.8pt]
{
->
}
(0.1,-2.5)(1.8,-2.5)
\endpspicture
}}
\begin
{
frame
}
\frametitle
{
If it looks familiar...
}
\centering
remember the DFT reconstruction formula?
\begin
{
figure
}
\scalebox
{
0.7
}{
%
\begin
{
dspBlocks
}{
1.2
}{
0.2
}
\rnode
{
A
}{
\Gen
{
\,
0
}}
&
&
\\
\Gen
{
\,
1
}
&
&
\\
\Gen
{
\,
2
}
&
&
\BDadd
&
$
x
[
n
]
$
\\
\hspace
{
1em
}
$
\ldots
$
&
&
\\
\Gen
{
N-2
}
&
&
\\
\rnode
{
B
}{
\Gen
{
N-1
}}
&
&
\ncline
{
1,1
}{
1,2
}
\ncline
{
->
}{
1,2
}{
3,3
}
\ncline
{
2,1
}{
2,2
}
\ncline
{
->
}{
2,2
}{
3,3
}
\ncline
{
3,1
}{
3,2
}
\ncline
{
->
}{
3,2
}{
3,3
}
\ncline
{
5,1
}{
5,2
}
\ncline
{
->
}{
5,2
}{
3,3
}
\ncline
{
6,1
}{
6,2
}
\ncline
{
->
}{
6,2
}{
3,3
}
\ncline
{
->
}{
3,3
}{
3,4
}
\end
{
dspBlocks
}}
\end
{
figure
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
DMT via IFFT
}
\begin
{
itemize
}
[<+->]
\item
we will show that transmission can be implemented efficiently via an IFFT
\item
Discrete Multitone Modulation
\end
{
itemize
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The great ADSL trick
}
\centering
instead of using a ``semi-ideal'' digital interpolator (e.g. raised cosine), use a zero-order hold:
\[
h
[
n
]
=
\begin
{cases}
1
&
\mbox
{for $
0
\leq
n <
2
N$}
\\
0
&
\mbox
{otherwise}
\end
{cases}
\]
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
Digital ZOH: interval indicator signal
}
\begin
{
center
}
\begin
{
figure
}
\begin
{
dspPlot
}
[xticks=custom]
{
-20,20
}{
-.5, 1.2
}
\moocStyle
\dspSignal
{
x 0 lt
{
0
}
{
x 9 gt
{
0
}
{
1
}
ifelse
}
ifelse
}
\dspCustomTicks
[axis=x]
{
0 0 9
$
2
N
-
1
$
}
\end
{
dspPlot
}
\end
{
figure
}
\end
{
center
}
\end
{
frame
}
\def\sinInt
#1#2
{
#1 #2 div 2 mul sub 90 mul dup 0 eq
{
pop 1
}
{
dup #2 mul sin exch dup #1 1 sub mul cos exch sin div mul #2 div
}
ifelse
}
\begin
{
frame
}
\frametitle
{
DTFT of interval signal
}
\intro
{
not really a good filter compared to raised cosine, but it still works (thanks to some clever things we don't have time to go into)
}
\begin
{
figure
}
\begin
{
dspPlot
}
[xtype=freq,yticks=1,xticks=1,ylabel=
{
$
|H
(
e^{j
\omega
}
)
|
$
}
]
{
-1,1
}{
0, 1.2
}
\moocStyle
\dspFunc
[linecolor=green!40]
{
x
\dspRaisedCosine
{
0
}{
.125
}{
.2
}}
\dspFunc
{
x
\sinInt
{
0
}{
8
}
abs
}
\dspCustomTicks
[axis=x]
{
0.25
$
\pi
/
N
$
}
\end
{
dspPlot
}
\end
{
figure
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
Back to the subchannel modem
}
\centering
\modem
{
k
}{
2N
}{
kn
}{
nop
}
\vspace
{
2em
}
\begin
{
dspBlocks
}{
.7
}{
.4
}
rate:
$
W
$
symbols/sec
&
&
&
\hspace
{
5em
}
$
2
NW
=
F_s
$
samples/sec
\\
$
m
$
changes every
$
1
/
W
$
sec
&
&
&
\hspace
{
5em
}
$
n
$
changes every
$
1
/
F_s
=
(
1
/
W
)/(
2
N
)
$
\end
{
dspBlocks
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
Back to the subchannel modem
}
\centering
by using the ZOH interpolator:
\vspace
{
2em
}
\begin
{
dspBlocks
}{
.7
}{
.4
}
%
&
$
e^{j
(
2
\pi
/
2
N
)
nk}
$
\\
$
a_{k}
[
\lfloor
n
/
2
N
\rfloor
]
$
~
&
\BDmul
&
~
$
c_{k}
[
n
]
$
\ncline
{
->
}{
2,1
}{
2,2
}
\ncline
{
->
}{
2,2
}{
2,3
}
\ncline
{
->
}{
1,2
}{
2,2
}
%
\end
{
dspBlocks
}
\vspace
{
2em
}
\begin
{
dspBlocks
}{
.7
}{
.4
}
rate:
$
W
$
symbols/sec
&
&
&
\hspace
{
5em
}
$
2
NW
=
F_s
$
samples/sec
\end
{
dspBlocks
}
\vspace
{
1em
}
$
n
$
changes every
$
1
/
F_s
$
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The bank of modems, revisited
}
\begin
{
figure
}
\scalebox
{
0.6
}{
%
\begin
{
dspBlocks
}{
1.2
}{
0.2
}
\modemDMT
{
0
}{
2N
}{
(0
\cdot
n)
}{
A
}
&
&
\\
\modemDMT
{
1
}{
2N
}{
(1
\cdot
n)
}{
B
}
&
&
\\
\modemDMT
{
2
}{
2N
}{
(2
\cdot
n)
}{
C
}
&
&
[name=Z,mnode=circle] +
&
[name=CC]
\BDfilter
{
Re
}
&
[name=S]
$
~s
[
n
]
$
\\
\hspace
{
1em
}
$
\ldots
$
&
&
\\
\modemDMT
{
N-2
}{
2N
}{
(N-2)n
}{
D
}
&
&
\\
\modemDMT
{
N-1
}{
2N
}{
(N-1)n
}{
E
}
&
&
\ncline
{
->
}{
A
}{
Z
}
\ncline
{
->
}{
B
}{
Z
}
\ncline
{
->
}{
C
}{
Z
}
\ncline
{
->
}{
D
}{
Z
}
\ncline
{
->
}{
E
}{
Z
}
\ncline
{
->
}{
Z
}{
CC
}^{
$
c
[
n
]
$
}
\ncline
{
->
}{
CC
}{
S
}
\end
{
dspBlocks
}}
\end
{
figure
}
\begin
{
dspBlocks
}{
.7
}{
.4
}
\hspace
{
4em
}
rate:
$
NW
=
F_{
\max
}
$
symbols/sec
&
&
&
\hspace
{
5em
}
$
2
NW
=
F_s
$
samples/sec
\end
{
dspBlocks
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The complex output signal
}
\[
c
[
n
]
=
\sum
_{k
=
0
}^{N
-
1
} a_k
[
\lfloor
n
/
2
N
\rfloor
]
e^{j
\frac
{
2
\pi
}{
2
N}nk}
\]
\vspace
{
1em
}
\pause
for every successive block of
$
2
N
$
output samples:
\begin
{
itemize
}
\item
$
a_k
[
\lfloor
n
/
2
N
\rfloor
]
=
a_k
[
p
]
$
doesn't change
\item
$
c
[
n
]
=
2
N
\cdot
\mbox
{IDFT}_{
2
N}
\left\{\begin
{bmatrix} a_
0
[
p
]
& a_
1
[
p
]
&
\ldots
& a_{N
-
1
}
[
p
]
&
0
&
0
&
\ldots
&
0
\end
{bmatrix}
\right\}
[
n
]
$
\end
{
itemize
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
The complex output signal: vector space approach
}
for every successive block of
$
2
N
$
output samples:
\[
\mathbf
{c}
=
\sum
_{k
=
0
}^{N
-
1
} a_k
\,
\mathbf
{w}^{
(
k
)
}
\]
\vspace
{
1em
}
\begin
{
itemize
}
\item
$
\mathbf
{c},
\mathbf
{w}^{
(
k
)
}
\in
\mathbb
{C}^{
2
N}
$
\item
$
\mathbf
{w}^{
(
k
)
}
$
Fourier basis vector for
$
\mathbb
{C}^{
2
N}
$
\item
orthogonality of basis vector makes detection easy:
$
a_k
=
\langle
\mathbf
{w}^{
(
k
)
},
\mathbf
{c}
\rangle
\,
/(
2
N
)
$
\item
can obtain all
$
a_k
$
's with a single DFT
\end
{
itemize
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
Neat implementation detail
}
\begin
{
itemize
}
[<+->]
\item
we are interested in
$
s
[
n
]
=
\Real\{
c
[
n
]
\}
=
(
c
[
n
]
+
c^
*[
n
])/
2
$
\item
it is easy to prove (exercise) that:
\[
\IDFT
{
\begin
{bmatrix} x_
0
& x_
1
& x_
2
&
\ldots
& x_{N
-
2
} & x_{N
-
1
}
\end
{bmatrix}}^
*
=
\IDFT
{
\begin
{bmatrix} x_
0
& x_{N
-
1
} & x_{N
-
2
} &
\ldots
& x_
2
& x_
1
\end
{bmatrix}^
*
}
\]
\item
$
c
[
n
]
=
2
N
\cdot
\IDFT
{
\begin
{bmatrix} a_
0
[
p
]
& a_
1
[
p
]
&
\ldots
& a_{N
-
1
}
[
p
]
&
0
&
0
&
\ldots
&
0
\end
{bmatrix}}
[
n
]
$
\item
$
c^
*[
n
]
=
2
N
\cdot
\IDFT
{
\begin
{bmatrix} a_
0
[
p
]
&
0
&
0
&
\ldots
&
0
& a^
*
_{N
-
1
}
[
p
]
&
\ldots
& a^
*
_
1
[
p
]
\end
{bmatrix}}
[
n
]
$
\item
therefore
\[
s
[
n
]
=
N
\cdot\IDFT
{
\begin
{bmatrix}
2
a_
0
[
p
]
& a_
1
[
p
]
&
\ldots
& a_{N
-
1
}
[
p
]
& a^
*
_{N
-
1
}
[
p
]
& a^
*
_{N
-
2
}
[
p
]
&
\ldots
& a^
*
_
1
[
p
]
\end
{bmatrix}}
[
n
]
\]
\end
{
itemize
}
\end
{
frame
}
\def\topiter
#1#2#3#4
{
%
\FPupn\t
{
#3 0.4 mul 1 max 0 trunc
}
\multido
{
\n
=0+1
}{
\t
}{
\FPupn\c
{
\n
{}
1 #3 - - #2 + 0 trunc
}
#4
}}
%
\def\botiter
#1#2#3#4
{
%
\FPupn\b
{
#3 0.3 mul 1.0 max 0 trunc
}
\multido
{
\n
=1+1
}{
\b
}{
\FPupn\c
{
#2 1
\n
{}
- + 0 trunc
}
#4
}}
%
\def\slabelsL
(#1,#2)#3#4
{
%
\topiter
{
#1
}{
#2
}{
#3
}{
\psdot
(#1,
\c
)
\rput
[r]
{
0
}
(#1,
\c
)
{
$
\ifnum\n
=
0
2
\fi
#
4
_{
\n
}
[
p
]
$
~~
}}
\botiter
{
#1
}{
#2
}{
#3
}{
\psdot
(#1,
\c
)
\rput
[r]
{
0
}
(#1,
\c
)
{
$
#
4
_{N
-
\n
}
[
p
]
$
~~
}}}
%
\def\slabelsR
(#1,#2)#3#4
{
%
\topiter
{
#1
}{
#2
}{
#3
}{
\rput
[l]
{
0
}
(! #1 0.5 add
\c\sp
0.5 add)
{
$
#
4
[
2
Np
\ifnum\n
=
0
\relax\else
+
\n\fi
]
$
}}
\botiter
{
#1
}{
#2
}{
#3
}{
\rput
[l]
{
0
}
(! #1 0.5 add
\c\sp
0.5 add)
{
$
#
4
[
2
Np
+
N
-
\n
]
$
}}}
%
\def\sconn
(#1,#2)#3
{
%
\topiter
{
#1
}{
#2
}{
#3
}{
\psline
(#1,
\c
)(! #1 2 add
\c\sp
)
}
\botiter
{
#1
}{
#2
}{
#3
}{
\psline
(#1,
\c
)(! #1 2 add
\c\sp
)
}
\psline
[linestyle=dotted]
(! #1 1 add #2 #3 add 1 sub
\t\sp
sub)(! #1 1 add #2
\b\sp
add)
}
%
\def\sblock
(#1,#2)#3#4#5
{
%
\psframe
(! #1 #2 0.2 sub)(! #1 2 add #2 #3 0.8 sub add)
\rput
[B]
{
#4
}
(! #1 1 add #2 #3 1 sub 2 div add)
{
#5
}}
\begin
{
frame
}
\frametitle
{
ADSL transmitter
}
\begin
{
figure
}
\scalebox
{
.5
}{
%
\psset
{
xunit=1.2cm,yunit=0.8cm,linewidth=2.5pt
}
\begin
{
pspicture
}
(0,0)(13,15)
\Large
\sconn
(0,8)
{
8
}
\slabelsL
(0,8)
{
8
}{
a
}
\sconn
(2,8)
{
8
}
\sblock
(4,0)
{
16
}{
90
}{
\Huge
IFFT
}
\sconn
(6,0)
{
16
}
\sconn
(8,0)
{
16
}
\slabelsR
(6,0)
{
16
}{
s
}
\sblock
(10,0)
{
16
}{
90
}{
\Large
parallel to serial
}
%
\pnode
(1,14)
{
A
}
\pnode
(4,0)
{
B
}
\ncangle
[angleA=-90,angleB=180]
{
A
}{
B
}
\pnode
(1.2,13)
{
A
}
\pnode
(4,1)
{
B
}
\ncangle
[angleA=-90,angleB=180]
{
A
}{
B
}
\pnode
(2.4,9)
{
A
}
\pnode
(4,6)
{
B
}
\ncangle
[angleA=-90,angleB=180]
{
A
}{
B
}
\pnode
(2.6,8)
{
A
}
\pnode
(4,7)
{
B
}
\ncangle
[angleA=-90,angleB=180]
{
A
}{
B
}
\psline
[linestyle=dotted]
(! 2 1 add 1 8 add 1 sub
\t\sp
sub)(! 2 1 add 0
\b\sp
add)
\topiter
{
2
}{
0
}{
8
}{
\rput
[r]
{
0
}
(! 2 1.8 add
\c\sp
0.3 add)
{
$
*
$
}}
\botiter
{
2
}{
0
}{
8
}{
\rput
[r]
{
0
}
(! 2 1.8 add
\c\sp
0.3 add)
{
$
*
$
}}
%
\psline
(12,7.5)(14,7.5)
\psdot
(14,7.5)
\rput
[l]
{
0
}
(14,7.5)
{
~~
$
s
[
n
]
$
}
\end
{
pspicture
}}
\end
{
figure
}
\vspace
{
-1em
}
\begin
{
dspBlocks
}{
.7
}{
.4
}
\hspace
{
4em
}
\footnotesize
rate:
$
NW
$
symbols/sec
&
&
&
&
&
\hspace
{
5em
}
\footnotesize
$
2
NW
=
F_s
$
samples/sec
\end
{
dspBlocks
}
\end
{
frame
}
\begin
{
frame
}
\frametitle
{
ADSL specs
}
\begin
{
itemize
}
[<+->]
\item
$
F_{
\max
}
=
1104
$
~KHz
\item
$
N
=
256
$
\item
subchannel width
$
W
=
4312
.
5
$
~Hz
\item
each QAM can send from 0 to 15 bits per symbol
\item
forbidden channels: 0 to 7 (voice)
\item
channels 7 to 31: upstream data
\item
max theoretical throughput: 14.9~Mbps (downstream)
\end
{
itemize
}
\end
{
frame
}
\end
{
document
}
Event Timeline
Log In to Comment