Professional Documents
Culture Documents
Multirate1 PDF
Multirate1 PDF
Lecture 8
Introduction to Multirate
Vaidyanathan, Ch.4,11
Vetterli Ch. 3
Laakso, et al. Splitting the Unit Delay (see 421 citations)
http://www-ccrma.stanford.edu/~jos/resample/
1
Z transform
n=
Signal Notation
2
Upsampling and Downsampling
Upsampling
Notation:
x M y
3
Downsampling
Notation:
x N y
N k=0
1/
N k=0
4
Remark: Consider downsampling as a two stage process: first,
we discard information which leads to aliasing in the frequency
domain; next we contract the signal in time, stretching out the
spectrum.
5
Multirate Identities
Proof:
Proof:
X1(z) = H(z N )X(z)
1 N1
Y (z) = H((ej2k/N z 1/N )N )X(ej2k/N z 1/N )
X
N k=0
1 N1
= H(z)X(ej2k/N z 1/N )
X
N k=0
1 N1
= H(z) X(ej2k/N z 1/N )
X
N k=0
= H(z)X2 (z).
Proceeding, we have:
x1[n] = x[n/M ] 1{M div. n}
y1[n] = x[N n/M ] 1{M div. n}
x2[n] = x[N n]
y2[n] = x[N n/M ] 1{M div. Nn}
7
Polyphase
k=0
1 3 E0 3 1
X z 3 E1 3 z^-1 X
z^2 3 E2 3 z^-2
k=0
9
Decimation and Interpolation
Decimation Filtering
X(z) E0(z^3) 3
z^-1
X(z) H(z) 3 Y(z) E1(z^3) 3
z^-1
E2(z^3) 3 Y(z)
X(z) 3 E0(z)
z^-1
3 E1(z)
z^-1
3 E2(z) Y(z)
10
Recognizing that the input structure just does a reverse
polyphase decomposition on the input, the polyphase decimation
filter is written:
N1
Y (z) = R(X,k) (z)E(H,k)(z)
X
k=0
X H2(z) 2 H3(z) 3 Y
11
Interpolation Filtering
Picture:
X(z) R0(z) 3
z^-1
R1(z) 3
z^-1
R2(z) 3 Y(z)
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
-2 -1 0 1 2
12
polyphase decomposition obtains y[kM ] = x[k]. Evidently, the
interpolated values go through the original data points.
Examples include linear, sinc and Lagrange interpolation: well
return to these in 421, as well as discuss IIR structures. You can
now read the Laakso paper Splitting the Unit Delay (see 421
citations).
13
Fractional Delay
W(z)
15
x[n] h(t-tau) y[n]
1
w(t)
Proceeding:
w(t) = x[k](t k) t h(t )
X
k=
= x[k]h(t ( + k))
X
k=
y[n] = w[n]
= x[k]h(n ( + k))
X
k=
= x[n] n r(h, ) [n]
Remark: Even if it is possible to compute rh, [n] in closed
form, this may be too expensive. For example, the windowed sinc
kernel requires at least one divide per tap. We store h(t) in a
lookup table, taking us back to the realm of discrete polyphase
filters, BUT with the added opportunity to use a cheap
interpolation scheme (eg. linear) to recover extra resolution on .
Exercise: Work out the -polyphase decomposition for the
linear interpolation kernel:
z^-1
z^-1 ERH01(z) 3
ERH10(z) z^-1
z^-1
z^-1 ERH11(z) 3
ERH20(z) z^-1
z^-1
ERH21(z) 3 Y(z)
Bandlimited Interpolation
http://www-ccrma.stanford.edu/~jos/resample/
19
Multirate Analysis of Filterbanks
Xn[0]
X(z) X0(z) X(z) H0(z) X0(z)
H0(z) W(-0n,N) W(0n,N)
Xn[1]
H1(z) X1(z) H0(z) X1(z)
W(-1n,N) W(1n,N)
Xn[2]
H2(z) X2(z) H0(z) X2(z)
W(-2n,N) W(2n,N)
STFT
N1
H0 (z) = z l E(H0 ,l)(z N )
X
l=0
N1
Hk (z) = (zWk,N )l E(H0,l)((zWk,N )N )
X
l=0
N1
= z l E(H0 ,l)(z N )Wkl,N
X
l=0
Consequently,
N1
Hk (z)X(z) = (z l E(H0,l)(z N )X(z)Wkl,N
X
l=0
N 0
H0 (z) E (H,0) (z )z X(z)
. . . =
Wkl,N
. . .
N (N1)
H1(z) E(H,N1) (z )z X(z)
22