Fred Harris Multirate DSP Part 1 - Virginia Tech Tutorial 2011
Fred Harris Multirate DSP Part 1 - Virginia Tech Tutorial 2011
Applications to
Communication Systems
fred harris
[email protected]
Part 1
MORE
MO RE
MORE
MORE
MORE
MORE
MORE
MORE
MORE
MORE
MO RE
MOR E
MORE
MO RE
MORE
MORE
MORE
MO RE
MORE
MOR E
MORE
MORE
MORE
MORE
NE
XTW
EEK
TO
MO
R RO
W
TH
IS
A FT
ERN
OO
N
MORE
RE
MORE
MO RE
MORE
MORE
M
O
R
E
MORE
MORE
We each own a
Billion Transistors
We have an amazing wealth of resources
at our disposal! Just How big is a Billion?
A stack of a billion bank notes would be
76.2 kilometers High.
A billion seconds ago was 32.5 years ago.
We each own a
1,000,000,000 Transistors
By way of Comparison,
the Eiffel Tower Contains 18,084 Parts
It is Fastened together by 2.5 Million Rivets
Gordon_Moore_ISSCC-02-10-03
Adam @ Home
Brian Basset
Parameters of
Sampled Data
Low Pass Filter
fS-Sample Rate
f1-Passband Edge
f2-Stopband Edge
1-Passband Ripple
2-Stopband Ripple
=
f
22
f
22 f
fS
f
1+1
H(f)
1
11
f
0
f2
f1
1
E(f)
0
f1
fS /2
2
f2
2
fS/2
Spectral Resolution
Gaussian Window
Gaussian Window and Spectrum, Maximum Level Sidelobe -60 dB
1
Amplitude
0.8
0.6
0.4
0.2
0
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Normalized Time Interval
0.2
0.3
0.4
0.5
(dB)
Attenuation (dB)
-40
-40
-60
-60
-80
-0.1
-80
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Normalized Frequency
-0.05
0
Frequency
0.05
0.1
0.3
0.4
0.5
0.2
Spectral Resolution
Kaiser-Bessel Window
Kaiser Window and Spectrum, Maximum Level Sidelobe -60 dB
1
Amplitude
0.8
0.6
0.4
0.2
0
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Normalized Time Interval
0.2
Spectrum
0.4
0.5
-20
-20
(dB)
Attenuation (dB)
0.3
-40
-40
-60
-60
-80
-0.1
-80
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Normalized Frequency
-0.05
0.2
0
Frequency
0.05
0.1
0.3
0.4
0.5
Amplitude
0.8
0.6
0.4
0.2
0
-0.5
-0.4
-0.3
-0.2
-0.1
0
Normalized Time
0.1
0.2
Spectrum
0.4
0.5
-20
-20
dB
Attenuation (dB)
0.3
-40
-40
-60
-60
-80
-0.1
-80
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Normalized Frequency
-0.05
0
Frequency
0.2
0.3
0.05
0.1
0.4
0.5
0.8
0.6
0.4
0.2
0
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Normalized Time
Spectrum
0.2
0.3
0.4
0.5
0
-20
dB
Attenuation (dB)
-20
-40
-40
-60
-60
-80
-0.1
-80
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Normalized Frequency
Frequency
-0.05
0.2
0.05
0.1
0.3
0.4
0.5
Constant
Form Factor
System Consideration:
Maintain Equal Delays in Each
Signal Processing Path
f
Narrow
Narrow Band
FilterBand Filter
Delay T1 Delay T1
Cross
Cross
Sig nal
Sig nal
Proc essingProc essing
e Band Filter Delay Line
Wid e BandWid
Filter
T1-T2
Delay T2 Delay T2
Right! Wrong!
Large Ratio of
Sample-Rate to Transition Bandwidth
Prima ry
Sig na l
Filter
Prima ry
Sig na l
f
-100 0 100
-10,000
-300
10,000
300
y(t)
h(t)
H()
X()
x(t-TD)
0.5 x(t-TD+ Tp)
y(t)
x(t)
TD-TP
0.5 x(t-TD-Tp)
TD
TD+ TP
0.8
0.6
0.4
0.2
0
-0.2
-30
-20
-10
10
20
30
20 Log10(Magnitude) (dB)
Frequency Response
Filter Pass-Band Ripple
0
1
dB
-20
0
-40
-1
-60
-0.5
-100
-4
-3
-2
-1
0
Normalized Frequency (f/f
0.5
Frequency
-80
2
BW
1
Input Signal to Filter
0.5
0
-72
-64
Amplitude
-56
-48
-40
-32
-24
-16
-8
16
24
32
40
48
56
64
72
-16
-8
16
24
32
40
48
56
64
72
-8
0
8
Time Samples
16
24
32
40
48
56
64
72
0.5
0
-72
-56
-48
-40
-32
-24
0.06
Amplitude
-64
0.04
0.02
0
-0.02
-72
-64
-56
-48
-40
-32
-24
-16
Recursive Filter:
Non-Uniform and Equalized Phase
Impulse Response
Amplitude
0.2
0.1
0
-0.1
0
20
40
60
80
0.1
0
-0.1
0
100
20
40
Attenuation (dB)
0
-50
-100
-4
-3
-2
-1
Samples
Group Delay
20
0
-4
-3
-2
-1
0
1
Frequency
80
100
0
-50
-100
-4
0
2
-2
Group Delay
In-Band
14
12
10
8
6
-0.5
40
60
Magnitude Response
0.5
3
4
In-Band
60
Samples
Attenuation (dB)
Magnitude Response
50
40
45
20
-0.5
0
-4
-2
0
Frequency
0.5
0.5
0
-72
-64
Amplitude
-48
-40
-32
-24
-16
-8
16
24
32
40
48
56
64
72
-16
-8
16
24
32
40
48
56
64
72
-8
0
8
Time Samples
16
24
32
40
48
56
64
72
0.5
0
-72
0.05
Amplitude
-56
-64
-56
-48
-40
-32
-24
-0.05
-72
-64
-56
-48
-40
-32
-24
-16
0.5
0
-96 -88 -80 -72 -64 -56 -48 -40 -32 -24 -16
Amplitude
-8
16
24
32
40
48
56
64
72
80
88
96
-8
16
24
32
40
48
56
64
72
80
88
96
-8
0
8
Time Samples
16
24
32
40
48
56
64
72
80
88
96
0.5
0
-96 -88 -80 -72 -64 -56 -48 -40 -32 -24 -16
Amplitude
0.02
0
-0.02
-96 -88 -80 -72 -64 -56 -48 -40 -32 -24 -16
When Filter
Reduces Bandwidth
System Should
Reduce Sample Rate
M-to-1
h(n)
x(n)
y(n)
y(m )
Re-Sampling!
Does That Mean
We Didnt Do it Right
the First time?
Attenuation (dB)
0
-20
-40
-60
-10
-8
-6
-4
-2
0
Frequency (MHz)
Attenuation (dB)
0
Increased In-band and out-of-band Noise
and interference due to Sum of Aliased Sidelobes
-20
Aliased Sidelobes
-40
-60
-1
-0.5
0
Frequency (MHz)
0.5
10
-20
-20
-40
-40
dB
dB
-60
-60
-80
-80
-100
0
-100
0
10
20
Frequency
30
40
10
Zoom to Passband
30
40
Zoom to Passband
0.05
dB
0.05
dB
20
Frequency
-0.05
-0.05
-10
-5
0
Frequency
10
-10
-5
0
Frequency
10
T(f)
f 1/f3 f 2/f3
remezfrf
W(f)
myfrf
W(f)
w(2)
f 1/f3 f 2/f3
1+1
H(f)
1
w(2)
f 1/f3 f 2/f3
1+1
H(f)
2
f
0
w(1)
w(1)
0
f 1/f3 f 2/f3
f 1/f3 f 2/f3
f
0
f 1/f3 f 2/f3
BW
f
0
h(t)
-fS
fS
1
fS
t
1
BW
N=
fS
K(1 ,2 )
f
f
1/BW
= S
1/fS
BW
2
M-2
M-1
POLYPHASE FILTER
0
z -1
z -1
z -1
- -1
z
- -1
z
- -1
z
x(n)
b0
y(n)
a1
b1
-1
y(n)
x(n)
b1
-1
a1
a2
-1
b2
b2
-1
a2
Dual Graphs:
Replace Nodes with Summing Junctions,
Replace Summing Junctions with Nodes,
Reverse Direction of Arrows.
M-2
M-2
M-1
M-1
1-to-M Up Sampler
-1
Z
-1
Z
-1
Z
-1
Z
h(0)
h(3)
h(6)
h(9)
h(1)
h(4)
h(7)
h(10)
h(13)
h(2)
h(5)
h(8)
h(11)
h(14)
-1
Z
-1
Z
-1
Z
-1
Z
y(3n)
h(12)
h(12)
h(9)
h(13)
h(10)
h(14)
h(11)
h(3)
h(0)
h(7)
h(4)
h(1)
h(8)
h(5)
h(2)
h(6)
x(n)
y(n)
Up Sample Filters
0
1
2
M-2
M-1
POLYPHASE FILTER
0
- -1
z
- -1
z
- -1
z
z -1
z -1
z -1
Processing Task:
Obtain Digital Samples of Complex
Envelope Residing at Frequency fC
Analog
Digital
Rec eiver
Multi-Channel
FDM
Input Signal
Single-Channel
Base banded
Output Signal
Input Spectrum
Selec ted
Narrow Band
Signal
f
fC
See!
Uta h
cost!
y Analog prototype systems incorporate design
compromises appropriate for the time they were made!
y We dont want to perpetuate those compromises!
y We have access to tools and resources not available to
past designers!
f
2
f
3
f
4
f
e -j0t
Analog
Signal Processing
Low Pass
Filter
fs
f
2
f
3
....
....
f
-fs/2
fs/2
Low Pass
Filter
fs
....
....
f
-fs/2
fs/2
....
....
f
-fs/2
fs/2
....
-fs
-fs/2
fs/2
....
fs
....
f
Ignoring
Good Advice!
-fs/M
fs/M
e -j0n
Low Pass
Filter
fs/M
Low Pass
Filter
fs
M:1
Fundamental Operation
Select Frequency,
Limit Bandwidth,
Select Sample Rate
s(n)
s(t)
s(n) e
-j0n
LOWPASS
FILTER
ADC
e
CLK
r(nM)
r(n)
LO
-j0n
h(n)
M:1
....
Spectral Description
Fundamental Operation
CHANNEL OF INTEREST
-fs/2
f
fs/2
TRANSLATED SPECTRUM
-fs/2
OUTPUT DIGITAL FILTER RESPONSE
fs/2
FILTERED SPECTRUM
0
-fs/2
fs/2
SPECTRAL REPLICATES ATDOWN-SAMPLED RATE
....
....
-fs/M 0
f
fs/M
0
FILTER RESPONSE
0
TRANSLATED SPECTRUM
Second
Option
TRANSLATED FILTER
First
Option
....
....
f
-fs/2
fs/2
....
....
~
-fs
-fs/2
fs/2
....
-fs/M
fs/M
....
fs
....
....
f
-fs/M
Low Pass
Filter
fs/M
e j 0n
e -jM 0n
fs/M
Ba nd Pa ss
Filter
fs
M:1
s(n)
s(t)
ADC
r(n) e
r(nM)
BANDPASS
FILTER
h(n) e
CLK
j0n r(n)
j0n
e
LO
-j0n
M:1
Equivalency Theorem
r (n) = s (n)e j0 n * h(k )
= s (n k )e j0 ( n k ) h(k )
k
= e j0 n s (n k )h(k )e j0 k
k
= e j0 n {s (n) * h(n)e j0 n }
c os(nk)
h(n)
x(n)
y(n)
h(n)
-sin(nk)
x(n)
h(n) c os(nk)
y(n)
h(n) sin(n k)
-sin(nk)
s(n)
s(t)
r(n) e
j0n
r(nM) e
j0Mn
r(nM)
BANDPASS
FILTER
ADC
h(n) e
M:1
j0n
CLK
LO
SPECTRAL DESCRIPTION
REORDERED FUNDAMENTAL OPERATION
CHANNEL OF INTEREST
-fs/2
FILTERED SPECTRUM
-fs/2
f
fs/2
TRANSLATED FILTER
0
fs/2
ALIASED REPLICATES AT DOWN-SAMPLED RATE
....
....
-fs/M 0 fs/M
TRANSLATED REPLICATES ATDOWN-SAMPLED RATE
....
....
-fs/M 0
f
fs/M
-j0Mn
Digital
Band-Pass
Digital
Low-Pass
H(Z)
H(Ze
M-to-1
Armstrong
Nyquist
Digital
Band-Pass
H(Ze
-j k
-j kn
Equivalency Theorem
M-to-1
Digital
Band-Pass
-j Mkn
-j k
H(Ze
-j k
)
M-to-1
M-to-1
M k = k 2
Any Multiple of
Output Sample Rate
Aliases to Baseband
2
or k = k
M
C0
C1
C2
0
0
C3
C 5 C 6 C 7 C 8 C 9 C 10 C 11
0 C6
0 C7
C9
0 C4
C5
0 C8
0 C 10
0
0
C 11
C0
C3
0 C6
C9
C1
0 C4
0 C7
0 C 10
C2
C5
0 C8
C 11
H ( Z ) = h( n) Z
y(n) M:1
x(n)
n=0
y(n) M:1
x(n)
H0( Z )
M 1 N 1
H ( Z ) = h(r + nM ) Z ( r + nM )
-1
H1( Z )
-2
H2( Z )
r =0 n =0
r =0
n =0
....
H ( Z ) = Z r h( r + nM ) Z nM
-(M-2)
-(M-1)
....
N 1
....
M 1
HM-2( Z )
HM-1( Z )
G ( Z ) = h( n) e
n=0
j k n
N 1
= h(n) (e jk Z ) n = H (e jk Z )
n =0
M 1 N 1
G ( Z ) = h(r + nM ) e jk ( r + nM ) Z ( r + nM )
r =0 n=0
M 1
M k = k 2
2
or k = k
M
y(nM)
H( Z)
N 1
G ( Z ) = e jk Z r h( r + nM )e jk nM Z nM
r =0
M 1
G(Z ) = e
r =0
n =0
2
j
k
M
N 1
Z r h(r + nM ) Z nM
n =0
y(nM)
x(n)
j 2
k0
M
y(n) M:1
y(nM)
H0( Z )
e
j 2
k1
M
M
-1
H1( Z )
j 2
k2
M
M
-2
H2( Z )
....
....
....
j 2
k(M-2)
M
-(M-2)
HM-2( Z )
Z
e
-(M-1)
j 2
k(M-1)
M
M
HM-1( Z )
M Delays
Input Cloc k, T
1 Delay
1 Delay
Output Clock, MT
M-Units of Delay at Input Rate Same as 1-Unit of Delay at Output Rate
M:1
Z
M:1
-M
Z
M:1
-M
H(Z )
-1
M:1
-1
H(Z )
x(n)
j 2
k0
M
y(nM,k)
H0( Z )
M:1
j 2 k1
-1
H1( Z )
M:1
j 2
k2
M
-2
H2( Z )
M:1
....
....
....
j 2
k(M-2)
M
-(M-2)
HM-2 ( Z )
Z
M:1
j 2 k(M-1)
M-fold Aliasing!
M-Unknowns!
M-Paths supply M-Equations
We can the separate Aliases!
-(M-1)
HM-1( Z )
x(n)
j 2 k0
M
y(nM,k)
H0( Z )
M:1
-1
M:1
-2
j 2
k2
M
j 2
k(M-2)
M
j 2
k(M-1)
M
H2( Z )
M:1
-(M-2)
....
....
....
HM-2( Z )
Z
M:1
-(M-1)
H1( Z )
j 2 k1
HM-1( Z )
x(n)
j 2
k0
M
y(nM,k)
H0( Z )
e
j 2 k1
H1( Z )
e
j 2
k2
M
j 2
k(M-2)
M
j 2
k(M-1)
M
....
....
H2( Z )
HM-2( Z )
HM-1( Z )
Digital
Band-Pass
Digital
Low-Pass
H(Z)
H(Ze
M-to-1
M-Path Digital -j 2 rk
e M
Polyphase
-j k
)
M-to-1
H(Z)
r
M-to-1
Rather than selecting center frequency at input and reduce sample rate at
output, we reverse the order, reduce sample rate at input and select center
frequency at output. We perform arithmetic operations at low output rate
rather than at high input rate!
n-1
n-2
n-3
n-4
n-5
n-6
n-7
n-8
n-1
n-2
n-3
n-4
n-5
n-6
n-7
n-8
n+ 6 n+ 5 n+ 4 n+ 3 n+ 2 n+ 1
n-1
n-2
n-3
n-4
n-5
n-6
n-7
n-8
n-8 n-14
n-9 n-15
n-10 n-16
n-11 n-17
n-6 n-12
n-6 n-12
n+ 6 n
n-6 n-12
s(n)
s(t)
ADC
LOWPASS FILTER
POLYPHASE PARTITION
r(nM,k)
h(0+ nM)
...
...
h(1+ nM)
CLK
r(nM)
.....
.....
h(r+ nM)
h(M-1+ nM)
PHASE ROTATORS
ALIASED HETERODYNE
j M rk
BANDPASS FILTER
POLYPHASE PARTITION
Impulse Response
and Frequency Response of
Prototype Low Pass FIR Filter
Impulse Response, Prototype Lowpass Filter
1
Amplitude
0.8
0.6
0.4
0.2
0
-0.2
0
10
12
14
16
18
0
0.2
Zoom to Passband
-20
0.1
0
-40
-0.1
-60
-0.2
-0.4
-80
-100
-3
-2
-1
-0.2
0.2
0.4
0.6
Normalized Frequency
-1
Nyquist
Zone
-2/6
Phase
Shifts
0
Nyquist
Zone
Phase
Aligned
+1
Nyquist
Zone
2/6
Phase
Shifts
+2
Nyquist
Zone
2/3
Phase
Shifts
PolyChanDemo
Polyphase Partition
3
....
....
f
-fs/2
4
fs
Polyphase
h 0(n)
fs/M
Polyphase
h 1(n)
....
e -j0
fs/M
....
Low Pass
Filter
fs/2
fs/M
Polyphase
h M-2(n)
fs/M
Polyphase
hM-1(n)
5
6
e -j1
e -j(M-2)
f
6
e -j(M-1)
12
x1(6n)
-1
11
x2(6n)
-2
10
x3(6n)
-3
x4(6n)
-4
x5(6n)
-5
0
0
10
Normalized Time
12
14
16
-0.5
-7.2
-1
-7.4
-2
-2.5
-3
-3.5
-7.6
-7.8
-8
-8.2
-8.4
-4
-8.6
-4.5
-8.8
-5
-9
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
-5
-10
-1.5
-15
-20
-25
-30
-35
-40
-45
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.5
-2
-4
-6
-8
-10
-12
-14
-16
-18
-20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-2
-4
-6
-8
-10
-12
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-2
-4
-6
-8
-10
-12
-14
-16
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
j nk 2
M
Standard DDC
y(n,k)
x(n)
y(nM,k)
H(Z )
1
2
2-Polypha se
Filters
Polyphase DDC
y (nM)
x(n)
x(n)
1 M-to-1
j nk 2
M
y(nM,k)
H r (Z )
M-to-1
1-Polypha se
Filter
j nk1 2
M
Standard DDC
y(n,k1)
x(n)
y(nM,k1)
H(Z )
1
2
j nk2 2
M
M-to-1
2-Polypha se
Filters
y(n,k2)
y(nM,k2)
H(Z )
1
2-Polypha se
Filters
Polyphase DDC
y (nM)
x(n)
x(n)
1 M-to-1
H r (Z )
2
M
e
M
j nk1
y(nM,k1)
1-Polypha se
Filter
M-to-1
j nk2 2
M
y(nM,k2)
.....
fs
.....
FDM
.....
M-PNT
FFT
h3(n)
TDM
hM-2(n)
hM-1(n)
hr(n)= h(r+ nM)
f
f
fBW
f
f
fBW
f
f
M-Pa th
Pa rtitioned
Filter
M Coeffic ients M
2
Dim ension
Polypha se
Filter
Circular
Input Buffer
fS
........
P-1
P
h(n,r:s)
r, row
s, sta te
M-1
1
2
Center
Frequenc ies
Deliver 5-Inputs
to 6-paths of
Polyphase filter:
Filter
Outp ut
Filter Da ta
Reg isters
Pha se
Alig ne d
-1
-1
-2
-2
-3
-3
-4
-4
Pha se
Alig ne d
State-0
State-1
Filter
Outp ut
Filter Da ta
Reg isters
Shift Data in
Serpentine Shift
Through Filter
addresses.
Circularly Shift
Output Buffer to
phase align filter
time origin with FFT
time origin
P fS
QM
fS
K
M
Filter Da ta Filter
Reg isters Outp ut
M M-Point
FFT
Pha se
Alig ne d
Filter Da ta
Reg isters
Filter
Outp ut
10
-2
15
-3
-3
14
-4
-4
13
12
11
-1
-1
10
State-2
Filter
Outp ut
14
19
13
18
12
17
11
16
10
15
-2
State-3
Filter Da ta
Reg isters
20
Pha se
Alig ne d
Filter
Outp ut
Filter Da ta
Reg isters
25
19
13
24
18
12
23
17
11
-1
-1
22
16
10
-2
-2
21
15
-3
-3
20
14
-4
State-4
Pha se
Alig ne d
-4
State-5
Pha se
Alig ne d