Multirate Polyphase Filters and Filter Banks
Multirate Polyphase Filters and Filter Banks
Multirate Polyphase Filters and Filter Banks
w w w . d s p o n l i n e c o n f e r e n c e . c o m
AGENDA
MORE MORE
M O RE
MORE MORE
MORE
MORE
MORE The Second
MORE
R E
M E M More machine
O
MORE R
MORE O
MORE
MORE
MORE
MORE
MORE
MORE
M
MORE
MORE
MORE O
MORE MORE
R MORE
E
MORE
MORE
MORE
MORE
MORE
MORE
MORE
MORE
Compliments of
Don Steinbrecher
I drew this copy from a Xerox he sent me
I Later Found the original in New Yorker Magazine, (circa 1990)
© DSPOnlineConference.com All rights reserved 4 D S P O n lin e C o n fe r e n c e .c o m
What the Customer Will Pay
MORE
MORE
RE MORE
MORE MORE MORE MO MORE
MORE
M OR E M OR E M OR E
MORE M OR E
M ORE
MORE MORE
MORE
SL
E
MORE
M OR E
S L SS M E M OR E
R E
ESS M
O
MORE R
MORE O
MORE
S EVE
MORE
MORE
N MORE
MORE
LES MORE
M
S MORE
MORE
O
MORE
MORE
R M OR E M OR E
E
MORE
MORE
MORE
MORE
M OR E
M OR E
M OR E
M OR E
MORE
MORE
RE MORE
MORE MORE MORE MO MORE
MORE
M OR E M OR E M OR E
MORE M OR E
M OR E
NE MORE MORE
MORE
XT
TO WE MORE
R E
M OR E
MO EK M E M OR E
M
O
MORE
RRO MORE
MORE O R
TH W MORE
AFT IS MORE
MORE
ERN MORE
MORE
M
OO
N MORE
MORE
MORE
O
MORE
R M OR E M OR E
E
MORE
MORE
MORE
MORE
M OR E
M OR E
M OR E
M OR E
MORE MORE
MORE
MORE MORE
MORE
MORE
MORE
MORE
R E
M E M
O
MORE
MORE
MORE
MORE O R
MORE
MORE
RE MORE
MORE MORE MORE MORE MO MORE
MORE MORE
MORE MORE MORE MORE
MORE
M
MORE
MORE
MORE O MORE
MORE
R
MORE
MORE MORE
MORE
E
MORE MORE
MORE
MORE
MORE
5
MORE
MORE
R E
MORE
MORE E MORE
M M
O
MORE R
MORE MORE O MORE
MORE MORE
MORE
MORE
MORE MORE
MORE
MORE MORE MORE MORE
MORE
M
MORE
MORE
MORE O MORE
MORE MORE
R MORE MORE
E MORE
MORE MORE
MORE
MORE MORE
MORE MORE
R E
MORE M E M
O
MORE O R
MORE
MORE
MORE
M
O
R MORE MORE
E
MORE
MORE
MORE
MORE
“How to Pump a Swing”, Stephen Wirkus, Richard Rand, and Andy Ruina,
The College Mathematics Journal, Vol. 29, No. 4, September 1998
“How to Pump a Swing”, Stephen Wirkus, Richard Rand, and Andy Ruina,
The College Mathematics Journal, Vol. 29, No. 4, September 1998
© DSPOnlineConference.com All rights reserved 11 D S P O n lin e C o n fe r e n c e .c o m
My wife commented that there is a third way to swing on a swing and
that if you are a little girl it is the best way: have grandpa push you!
f
fC
© DSPOnlineConference.com All rights reserved 14 D S P O n lin e C o n fe r e n c e .c o m
See!
Uta h
f
2
f
3
f
4
f
All Signal Conditioning e -jω0t
Performed in Analog Domain: Low Pass
Last Operation ADC! 1
Filter
2 3 fs 4
f Input Spectrum
.... ....
f Input Sampled
-fs/2 4 fs/2 data spectrum
.... ....
Move Desired
f Spectrum
-fs/2 5 fs/2 To baseband
.... ....
Limit Bandwidth
f With DSP Filter
~
~
.... ....
f Reduce Sample Rate
-fs/M fs/M Proportional to
e -jθ0n
fs/M
Reduced Bandwidth
Low Pass Low Pass
Filter Filter
Ignoring 1 2 fs 3 5 6
4 M:1
Good Advice
© DSPOnlineConference.com All rights reserved 19 D S P O n lin e C o n fe r e n c e .c o m
Fundamental Operation
Select Frequency,
Limit Bandwidth,
Select Sample Rate
f
0
FILTER RESPONSE
f
0
TRANSLATED SPECTRUM
Second Option
Armstrong’s Heterodyne
f
0
TRANSLATED FILTER
First Option
f Tuned RF
0
DETECTOR
RF AMP RF AMP RF AMP AUDIO
1 2 3 AMP
Filter Output
IF IF
DETECTOR
AMP AMP
RF AMP
AUDIO
& Narrow Narrow AMP
MIXER Band Band
Pass Pass
SUPERHETERODYNE RECEIVER
OSCILLATOR
LOCAL
.... ....
f Input Sampled
-fs/2 4 fs/2 Data Spectrum
.... ....
Move Filter to Spectrum
f of Interest and Reduce BW
~
~
-fs/M 6 fs/M fs
.... ....
Heterodyne Aliased Spectrum
f to Baseband at Reduced
-fs/M fs/M
e jθ 0n Output Sample Rate
e -jMθ 0n
Low Pass Ba nd Pa ss fs/M
Filter Filter
1 2 fs 3 5 6
4 M:1
Equivalency Theorem
− jθ0 n
r ( n ) = s ( n )e * h( k )
= ∑ s ( n − k )e
k
− jθ0 ( n − k )
h( k )
= e − jθ0 n
∑ s ( n − k ) h ( k )e
k
jθ0 k
− jθ0 n jθ0 n
=e {s (n) * h(n)e }
c os(nθk) c os(nθk)
-sin(nθk) -sin(nθk)
f
-fs/2 0 fs/2
FILTERED SPECTRUM TRANSLATED FILTER
f
-fs/2 0 fs/2
ALIASED REPLICATES AT DOWN-SAMPLED RATE
.... ....
f
-fs/M 0 fs/M
TRANSLATED REPLICATES ATDOWN-SAMPLED RATE
.... ....
f
-fs/M 0 fs/M
H(Z) -jθ k
H(Ze )
M-to-1
M-to-1
Armstrong Nyquist Equivalency Theorem
Digital
Digital -j Mθkn Band-Pass
Band-Pass e
-jθ k
-jθ k H(Ze )
H(Ze )
M-to-1
M-to-1
M ⋅ θ k = k ⋅ 2π
Common Sense Any Multiple of
2π Output Sample Rate
or θ k =k ⋅ Aliases to Baseband
M
© DSPOnlineConference.com All rights reserved 29 D S P O n lin e C o n fe r e n c e .c o m
Polyphase Partitioned Filter
Down Sample at Input to Filter,
Alias Spectrum at Input De-Alias at Output
Don’t Down sample After BW Reduction
d
x(n) dn
h(n) .
y(t)
Low Pass
Derivative
Filter
h(nM)
x(n) y(nM)
M:1
Re-sam pled
Low Pass Filter
C0 0 0 C3 0 0 C6 0 0 C9 0 0
0 C1 0 0 C4 0 0 C7 0 0 C 10 0
0 0 C2 0 0 C5 0 0 C8 0 0 C 11
C0 0 0 C3 0 0 C6 0 0 C9
0 C1 0 0 C4 0 0 C7 0 0 C 10
0 0 C2 0 0 C5 0 0 C8 0 0 C 11
n =0
M −1 N −1 Z
-1 M
H1( Z )
H (Z )
= ∑∑
=
h
r 0=
(
n 0
r + nM ) Z − ( r + nM )
-2 M
Z H2( Z )
M −1 N −1
=H (Z ) ∑ ∑
Z −r
h ( r + nM ) Z − nM
....
....
....
=r 0=n 0
-(M-2) M
Z HM-2( Z )
M-Path Partition Supports M-to-1 Down Sample
Also Supports Rational Ratio M-to-Q Down Sample!
-(M-1) M
Z HM-1( Z )
M −1 N −1
=G(Z )
M ⋅ θ k = k ⋅ 2π = r 0= n 0
∑ e jθ k
Z −r
∑ h ( r + nM ) e jθ k nM − nM
Z
2π M −1 j 2π k N −1
or θ k =k ⋅
= M G(Z ) e M Z
=
−
r 0=
r
n 0
∑ h(r + nM ) Z − nM ∑
Select Center Frequencies to be Multiples of Output Sample Rate:
Rotators in Filter Default to Rotators Attached to Delay Lines!
© DSPOnlineConference.com All rights reserved 36 D S P O n lin e C o n fe r e n c e .c o m
Polyphase M-Path Narrowband, Resampling Filter
Input Cloc k, T
1 Delay 1 Delay
Output Clock, MT
M:1 M:1
-M -1
H(Z ) H(Z )
j 2π k1
M:1 e M
Z
-1 H1( Z )
M:1 j 2π
M
k2
e Pull Resampler through
-2 H2( Z )
Z Polyphase Filter Paths.
Filter Paths Operate at
Reduced Output sample rate.
....
....
....
M:1 j 2π
M
k(M-2)
e
-(M-2)
Z HM-2 ( Z )
M:1 j 2π
M
k(M-1)
e
-(M-1)
Z HM-1( Z )
Z
-1 H1( Z )
Input Delays and Synchronous
M-to-1 Down Sample Switches j 2π k2
M:1 e M Don’t make Input Data Samples
Are equivalent to Input Commutator. -2 H2( Z ) Complex on the way into the
Z
Path Filters.
No need to hold Earlier Samples in Make Output Data Samples
....
....
....
Memory Waiting till all M Samples Complex on the way out of ths
j 2π k(M-2)
are Available. We can Deliver M:1 e M
Path filters.
Successive Input Samples to -(M-2)
Z HM-2( Z )
Successive Input Ports as they Arrive. j 2π k(M-1)
M:1 e M
-(M-1)
Z HM-1( Z )
M −1 2π
+j rk
y(nM , k) = ∑ yr (nM) e M
Phase Rotator
r =0 On r-th Row,
Selecting Alias
From k-th
Sum Over Nyquist Zone
nM-th Output nM-th Output
Time Sample Row Output Time Sample
From K-th Time Samples From r-th Row
Nyquist Zone
h1(n)
fs h2(n)
h3(n) M-PNT
IFFT
FDM
.....
.....
.....
.....
TDM
hM-2(n)
hM-1(n)
-jθ k
H(Z) H(Ze )
M-to-1
M-to-1
M-Path Digital -j 2π rk
Polyphase e M Reducing Sample Rate at Input
Causes M-fold aliasing of Input
H(Z)
r
Spectrum. Phase Coherent Sum
Extracts Selected Alias while
M-to-1 Canceling Remaining Aliases by
Destructive Cancellation.
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!
© DSPOnlineConference.com All rights reserved 44 D S P O n lin e C o n fe r e n c e .c o m
Single Channel Armstrong and
Multirate Aliased Polyphase Receiver
j nk 2π Standard DDC
e M
r
H r (Z ) y(nM,k1)
M
1 M-to-1 M 1-Polypha se 2 Second Channel Requires
Filter j nk2 2π Second set of Phase Rotators.
e M
Total of 1 Polyphase Filter
y(nM,k2)
M 2
When k > Log2(M)/2 Build all channels and discard the channels you don’t need!
IF M=16, Log2(16)/2 = 2: thus if you want 2 or more, Build them all!
IF M=128, Log2(128)/2 = 3.5: thus if you want 4 or more, Build them all!
IF M=1024, Log2(1024)/2 = 5: thus if you want 5 or more, Build them all!
Suppose you want 10 Channels: Build all 1024 and discard 1014:
This is half the cost of building 10
h1(n)
fs h2(n)
h3(n) M-PNT
IFFT
FDM
.....
.....
.....
.....
TDM
hM-2(n)
hM-1(n)
0.8
Bandwidth is 1/6th
Amplitude 1
0.6
of Sample Rate
0.4 fs 6-Samples Between
0.2 1
BW Successive Zero
0
Crossings in Time Domain
-0.2
0 2 4 6 8 10 12 14 16 18
Normalized Time (1/BW)
Spectrum
0
0.2
Zoom to Passband
Log Mag (dB)
-20
0.1
-100
-3 -2 -1 0 1 2 3
Normalized Frequency
By Not Discarding
The Interstitial Zeros,
We have not Changed
the Sample Rate, there
Is no Aliasing, and
the Sampled Data
Sequence Still has a
Transfer Function
Can be Seen
Better at Larger
Scale Image
0
-15 -10 -5 0 5 10 15
Frequency
In-Band Tone Time Response, Path (0) In-Band Tone Time Response, Path (1) In-Band Tone Time Response, Path (2)
1 1 1
0 0 0
Amplitude
Amplitude
Amplitude
-1 -1 -1
0 0 0
Amplitude
Amplitude
Amplitude
-1 -1 -1
1 0
1
-50
Michelle_6_path_3
Log Mag (dB)
0 0
Amplitude
Real
-100 -1
-1
0 20 40 60 80 100 -3 -2 -1 0 1 2 3 -1 0 1
0
-15 -10 -5 0 5 10 15
Frequency
In-Band Tone Time Response, Path (0) In-Band Tone Time Response, Path (1) In-Band Tone Time Response, Path (2)
1 1 1
0 0 0
Amplitude
Amplitude
Amplitude
-1 -1 -1
0 0 0
Amplitude
Amplitude
Amplitude
-1 -1 -1
1 0
1
-50
Log Mag (dB)
0 0
Amplitude
Real
-100 -1
-1
0 20 40 60 80 100 -3 -2 -1 0 1 2 3 -1 0 1
H1(Z) H1(Z)
x(n,k1)
y(n,0)
H2(Z) H2(Z)
y(nM,0)
.
.
...
...
H(M-1)(Z) H(M-1)(Z)
f f f
0 0 0
H0(Z) H0(Z)
j 2π j 2π
e 1k1 M e 1k1 M
H1(Z) H1(Z)
x(n,k 1) 2π 2π
j j
e 2k1 M e 2k1 M y(n,k1)
H2(Z) H2(Z)
y(nM,k 1)
j(M-1)2k1 2π j (M-1)2k1 2π
.
.. ..
...
e M e M
H(M-1)(Z) H(M-1)(Z)
f f f
k1 k1
H0(Z) H0(Z)
j 2π j 2π
e 1k1 M e 1k2 M
H1(Z) H1(Z)
x(n,k 1) 2π 2π
j j
e 2k1 M e 2k2 M y(n,k2)
H2(Z) H2(Z)
y(nM,k 1)
2π j(M-1)k2 2π
.. ..
.
j
e (M-1)k1 M
...
e M
H(M-1)(Z) H(M-1)(Z)
f f f
k1 k2
H1(Z) H1(Z)
x(n,k 1)
H2(Z) H2(Z)
y(n,k 1)+y(n,k 2)
.. ..
.. ..
H(M-1)(Z) y(nM,k 1) H(M-1) (Z)
f
f f f
k2 k1 k2 k1
....
IFFT
.... y(n,k)
....
....
y(nM,k)
....
....
y(n,M-2) x(nM+ M-2)
y(nM,M-2)
HM-2( Z ) HM-2( Z )
flg=0
M
Path 2 fs/M
Poly M-PNT
Phase
.. ...
IFFT
Filter
flg=1
flg=
in Z 2
1
flg= 0
0.5T
mT T
0
(m+1)T T
0.5T 1.5T
0.5T T 1.5T 2T
Phase Continuity
....
M-Point IFFT
M/2-1 M M M
........
M/2
M/2+ 1
TDM
….
M-2
M-1 M-1
....
TDM
M-Point IFFT
M M/2-1
M M
........ M/2
M/2+ 1
….
M-2
M-1 M-1
.. .. .. ..
.. .. .. ..
x
Point Point
M Shift M M Shift M
Path Point Point Path
..
..
..
..
..
..
Filter M-Point IFFT M-Point Filter
IFFT
Circ ula r Circ ula r
Buffer x Buffer
x
.. .. .. ..
.. .. .. ..
x
M M-Point M M M-Point M
Path Point Point Circ ular Path
..
..
Circ ular
..
..
Filter Buffer IFFT x FFT Buffer Filter
x
x
x
.. .. .. ..
M M-Point M P P-Point P
Path Circ ular Point Point Path
..
.. Circ ular
Filter Buffer IFFT Buffer
FFT Filter
..
© DSPOnlineConference.com All rights reserved 72 D S P O n lin e C o n fe r e n c e .c o m
Spectrum, Composite Complex Baseband Signal Sampled 480 MHz
0
-40
-20
-40
Synthesized Baseband Super Channel
-60
-80
from 7 Baseband Analysis Channels
-50 -40 -30 -20 -10 0 10 20 30 40 50
Frequency
Synthesized Spectrum of 44.7.1 MHz Signal at f C = 89.4 MHz
0
Log Mag (dB)
-20
-40
Interpolated Baseband Super Channel
-60
-80
from Synthesized Baseband Super Channel
-40 -30 -20 -10 0 10 20 30 40
Frequency
-20
-40
-60
-80
-40 -30 -20 -10 0 10 20 30 40
Frequency
Synthesized Spectrum of 22.1 MZ Signal at f C =88.4 MHz
0
Log Mag (dB)
-20
-40
-60
-80
-40 -30 -20 -10 0 10 20 30 40
Frequency
1 2 1
0.5 1 0.5
0 0 0
-0.5 -1 -0.5
-1 -2 -1
-1.5 -3 -1.5
-1.5 -1 -0.5 0 0.5 1 1.5 -3 -2 -1 0 1 2 3 -1.5 -1 -0.5 0 0.5 1 1.5
Constellation Modulator Output Constellation Channelizer Output Constellation Matched Filter Output
1.5 1.5 1.5
1 1 1
0 0 0
-1 -1 -1
Channelizer Filter
600 Tap s
f
f
Channelized Ba ndwidth
f
Disa bled Channels Enab led Channels Disa bled Channels
nM/2 x nM/2
.. .. .. ..
.. .. .. ..
x
Point Point
M Shift M M Shift M
Path Point Point Path
..
..
..
..
..
..
Filter M-Point IFFT M-Point Filter
IFFT
Circ ula r Circ ula r
Buffer x Buffer
x
Workload: 8.9% of 600 Coefficient Tapped Delay Line Filter With same Frequency Response!
-20
Implement 600 Tap Filter
-40
with 60 Path, 600 Tap Cascade Red 600 Tap filter Response
Blue Cascade 600 Tap 60-Path Filter Response
-60 Analysis and Synthesis Filter
-80
-100
0 5 10 15 20 25 30
Frequency (in Channel Number)
Spectrum: Detail of Transition Bandwidth x 10
-3 Spectrum: Detail of In Band Ripple and Band Edge
0 2
Log Magnitude (dB)
Stop Band -1
-80
14.77-30.0 MHz
-100 -2
14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 13 13.5 14 14.5 15
Frequency (in Channel Number) Frequency (in Channel Number)
w w w . d s p o n l i n e c o n f e r e n c e . c o m