Anda di halaman 1dari 8

EE518 Digital Signal Processing University of Washington

Autumn 2001 Dept. of Electrical Engineering

Lecture 10 A: Multirate Signal Processing


Oct 31, 2000

Prof: J. Bilmes <bilmes@ee.washington.edu> TA: Mingzhou Song <msong@u.washington.edu>

10A.1 Multirate Signal Processing

Main goal:

A. reduce number of arithmetic operations in sample rate conversion.

B. more advanced multirate filtering and analysis (ex: some wavelet decompositions)

First some theorems.


Theorem 10.1. The system
x[n] xa [n] y[n]
−→ [↓ M] −→ [H(z)] −→
is equivalent to
x[n]   xb [n] y[n]
−→ H(zM ) −→ [↓ M] −→

Proof.

Xb (e jω ) =H(e jωM )X(e jω )


1 M−1
Y (e jω ) = ∑ Xb (e j(w/M−2πi/M) )
M i=0
1 M−1
= ∑ X(e j(w/M−2πi/M) )H(e j(ω−2πi) )
M i=0
1 M−1
= ∑ X(e j(w/M−2πi/M) )H(e jω )
M i=0
1 M−1
=H(e jω ) ∑ X(e j(w/M−2πi/M) )
M i=0
=H(e jω )Xa (e jω )

Theorem 10.2. The system


x[n] xa [n] y[n]
−→ [H(z)] −→ [↑ L] −→
is equivalent to
x[n] xb [n]   y[n]
−→ [↑ L] −→ H(zL ) −→

Proof.

Y (e jω ) = Xa (e jωL ) = X(e jωL )H(e jωL ) = Xb (e jω )H(e jωL )

10A-1
10A-2

Some motivation for what is to follow.


Consider
x[n] y[n] w[n]=y[nM]
−→ [H(z)] −→ [↓ M] −→
H(z) is an N-FIR filter. Downsampling by M throws away but every M-th sample of y[n] that was hard earned by
processing of x[n]. Every sample of y[n] requires O(N) operations (N multiplications and N − 1 additions). Every
sample of w[n] requires O(NM) operations but much work is being done wasted. How to reduce this using basic
operations of filtering and up/down sampling? The answer is to use polyphase decomposition.
Big “Oh” Notation

O(g(n)) = { f (n) : ∃c > 0 and n0 > 0 s.t. 0 ≤ f (n) ≤ cg(n) ∀n ≥ n0 }

Let 
h[n + k] n is an integer multiple of M
hk [n] =
0 else
so
M−1
h[n] = ∑ h j [n − j]
j=0

This can be represented as shown in Fig. 10.1.

h[n] e0[n]
M M

h[n+1] e1[n]
z M M −1
z

h[n+2] e2[n]
2 M M −2
z z
h[n] h[n]
. . . .
. . . .
. h[n+M−1] . . .
eM−1[n]
M−1 M M −(M−1)
z z

Note:
z is time advance notation

−1 is time delay notaion.


z

Figure 10A.1:

So
ek [n] = h[nM + k] = hk [nM]
Alternatively, cascade the advance units and we get the system in Fig. 10.2 and 10.3.
Recall basic relationships: If y[n] is an M-upsampling of x[n], Y (z) = X(zM ). If y[n] is an M-downsampling of x[n],
Y (z) = M1 ∑M−1
i=0 X(z
1/M e j2πi/M ).

So
hk [nM] = ek [n] = h[nM + k]
10A-3

h[n] e0[n] h0 [n]


M M
h[n]
z z−1

h[n+1] e1[n] h1 [n]


M M

z z−1

h[n+2] e2[n] h2 [n]


M M

z z−1

. . . .
. . . .
. . . .
z z−1
h[n+M−1] eM−1[n] hM−1[n]
M M

Figure 10A.2:

h[n]
...... ......

e0[n]

e1[n]

e2[n]

Figure 10A.3:
10A-4

so
F
h[n] ←→ H(z)
F
ek [n] ←→ Ek (z)

but hk [n] is M-upsampling of ek [n], i.e., Hk (z) = Ek (zM ).


M−1 M−1
H(z) = ∑ Hk (z)z−k = ∑ Ek (zM )z−k
k=0 k=0

as shown in Fig. 10.4.

x[n]
E 0(z M)
−1
z y[n]
E 1(z M)
−1
z
E 2(z M)

−1
z
E M−1(z M)

Figure 10A.4: Note: Delay can go before or after the filter since systems are assumed LTI.

How to use this?


Consider again
x[n] y[n] w[n]=y[nM]
−→ [H(z)] −→ [↓ M] −→
Recall O(NM) operations per sample of w[n] for FIR version of H(z).
First replace H(z) by polyphase implementation.
Next note that addition and downsampling commute as shown in Fig. 10.5.

M
M
M

Figure 10A.5:

So we get the system in Fig. 10.6.


But
−→ [Ek (zM )] −→ [↓ M] −→ ≡ −→ [↓ M] −→ [Ek (z)] −→

Therefore the system is further equivalent to the one in Fig. 10.7. Now, except for FIR H(z) of length N, each of Ek (z)
has length N/M. There are M repetitions so only O(M(N/M)) = O(N) operations per sample of w[n], i.e., a factor of
M improvement.
10A-5

x[n]
E 0(z M) M
−1
z y[n]
E 1(z M) M
−1
z
E 2(z M) M

−1
z
E M−1(z M) M

Figure 10A.6:

x[n]
M E 0(z)
−1
z w[n]
M E 1(z)
−1
z
M E 2(z)

−1
z
M E M−1(z)

Figure 10A.7:
10A-6

How to implement interpolation filters in polyphase?


x[n] w[n] y[n]
−→ [↑ L] −→ [H(z)] −→
Think in terms of rate: rate 1, rate L, rate L, L > 1, so faster rate at each time unit, produce L samples. each 1/L-th
time unit need O(N). so end time unit needs O(LN) operations.
Consider polyphase version of H(z) as shown in Fig. 10.8.

L E 0(z L )
x[n] y[n]
z−1

L E 1(z L )

z−1

L E L−1 (z L ) z−1

Figure 10A.8:

Use
−→ [↑ L] −→ H(zL ) −→
 
≡ −→ [H(z)] −→ [↑ L] −→
then we get the system in Fig. 10.9.

E 0(z) L
x[n] y[n]
z−1

E 1(z) L

z−1

E M−1(z) L z−1

Figure 10A.9:

Hence LO(N/L) = O(N) operations each time unit. So better.


Multistage implementation of sample rate conversion.
Consider a system
xa [n]
x[n]−→ [↑ L] −→ [h[n]] −→y[n]
and let
I
L = ∏ Li for some positive integers Li > 1
i=1
10A-7

the system is equivalent to


x[n]−→ [↑ LI ] −→ [↑ LI−1 ] −→ · · · −→ [↑ L1 ] −→ [h[n]] −→y[n]
so far, no savings are involved. Suppose we find a set of appropriate LPF’s:
−→ [↑ LI ] −→ [HI (z)] −→ [↑ LI−1 ] −→ [HI−1 (z)] −→ · · · −→ [↑ L1 ] −→ [H1 (z)] −→

Similarly,
−→ [H(z)] −→ [↓ M] −→ ≡ −→ [H(z)] −→ [↓ M1 ] −→ [↓ M2 ] −→ · · · −→ [↓ MI ] −→
when M = ∏Ii=1 Mi can be made so that the system is further equivalent to
−→ [H(z)] −→ [H1 (z)] −→ [↓ M1 ] −→ [H2 (z)] −→ [↓ M2 ] −→ · · · −→ [HI (z)] −→ [↓ MI ] −→
How can this help?

1. can reduce computational requirement


2. reduce storage requirement
3. simpler filter design (we’ll see this)
4. numerical effects

Extra complexity in control structure and choosing Mi or Li .


Good when

1. L >> 1(M = 1)
2. M >> 1(L = 1)
3. L/M ≈ 1 L >> 1, M >> 1 (e.g., L/M = 80/69 say)

Ex:
x[n](10kHz) −→ [ LPFN] −→ [↓ 100] −→ y[n](100Hz)
Let’s say we want LPF to be (deisgn criteria) as shown in Fig. 10.10.

LPF

45 50 5kHz

Figure 10A.10:

FIR design might say N = 5080 points. So, the number of operations per second is 5080 · 10kHz/100Hz ≈ 500k
operations per second. Instead might do
200Hz
x[n](10kHz) −→ [ LPF1 N1 ] −→ [↓ 50] −→ [ LPF2 N2 ] −→ [↓ 2] −→ y[n](100Hz)

Possible criteria for filters are shown in Fig. 10.11. so much less stringent requirements on filter (cheaper filter).
Same filter design criteria gives
N1 = 263 =⇒ 263 · 10k/50 = 52, 600 operations per second
N2 = 110 =⇒ 110 · 200/2 = 11k operations per second
total operations per second in this system is 53k + 11k = 64k vs. 500k. Savings of factor of 7.8. So potentially huge
savings can occur with simple use of multirate signal processing.
10A-8

LPF 1

45 150 5kHz
LPF 2

45 50 100 Hz

Figure 10A.11:

Anda mungkin juga menyukai