1 Basic Multirate Operations
2 Interconnection of Building Blocks
Multi-rate Signal Processing
Electrical & Computer Engineering
University of Maryland, College Park
Acknowledgment: ENEE630 slides were based on class notes developed by
Profs. K.J. Ray Liu and Min Wu. The LaTeX slides were made by
Prof. Min Wu and Mr. Wei-Hong Chuang.
Contact:
[email protected]. Updated: September 5, 2012.
ENEE630 Lecture Part-1
1 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
Outline of Part-I: Multi-rate Signal Processing
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
Building blocks and their properties
Properties of interconnection of multi-rate building blocks
Polyphase representation
Multistage implementation
Applications (brief): digital audio system; subband coding
Quadrature mirror filter bank (2-channel)
M-channel filter bank
Perfect reconstruction filter bank
Aliasing free filter banks
Application: multiresolution analysis
Ref: Vaidyanathan tutorial paper (Proc. IEEE 90);
Book 1, 4, 5.
ENEE630 Lecture Part-1
2 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
Single-rate v.s. Multi-rate Processing
Single-rate processing: the digital samples before and after
processing correspond to the same sampling frequency with
respect to (w.r.t.) the analog counterpart.
e.g.: LTI filtering can be characterized by the freq. response.
The need of multi-rate:
fractional sampling rate conversion in all-digital domain:
e.g. 44.1kHz CD rate 48kHz studio rate
The advantages of multi-rate signal processing:
Reduce storage and computational cost
e.g.: polyphase implementation
Perform the processing in all-digital domain
without using analog as an intermediate step that can:
bring inaccuracies not perfectly reproducible
increase system design / implementation complexity
ENEE630 Lecture Part-1
3 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Basic Multi-rate Operations: Decimation and Interpolation
Building blocks for traditional single-rate digital signal
processing: multiplier (with a constant), adder, delay,
multiplier (of 2 signals)
New building blocks in multi-rate signal processing:
M-fold decimator
L-fold expander
Readings: Vaidyanathan Book 4.1; tutorial Sec. II A, B
ENEE630 Lecture Part-1
4 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
M-fold Decimator
yD [n] = x[Mn], M N
Corresponding to the physical time scale, it
is as if we sampled the original signal in a
slower rate when applying decimation.
Questions:
What potential problem will this bring?
Under what conditions can we avoid it?
Can we recover x[n]?
ENEE630 Lecture Part-1
5 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
L-fold Expander
(
yE [n] =
x[n/L]
0
if n is integer multiple of L N
otherwise
Question: Can we recover x[n]
from yE [n]? Yes.
The expander does not cause loss of
information.
Question: Are L and M linear and shift invariant?
ENEE630 Lecture Part-1
6 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Transform-Domain Analysis of Expanders
Derive the Z-Transform relation between the Input and Output:
(details)
ENEE630 Lecture Part-1
7 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Input-Output Relation on the Spectrum
(details)
YE (z) = X(z L )
Evaluating on the unit circle, the Fourier Transform relation is:
YE (e j ) = X(e jL )
YE () = X(L)
i.e. L-fold compressed version of X() along
ENEE630 Lecture Part-1
8 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Periodicity and Spectrum Image
The Fourier Transform of a discrete-time signal has period of 2.
With expander, X(L) has a period of 2/L.
The multiple copies of the compressed spectrum over one period of
2 are called images.
And we say the expander creates an imaging effect.
ENEE630 Lecture Part-1
9 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Transform-Domain Analysis of Decimators
YD (z) =
n= yD [n]z
(
x[n]
Define x1 [n] =
0
n= x[nM]z
if n is integer multiple of M
, then we have
O.W .
YD (z) = X1 (z M )
1 PM1
k
X1 (z) = M
k=0 X(WM z)
(details)
(details)
ENEE630 Lecture Part-1
10 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Transform-Domain Analysis of Decimators
YD (z) =
n= yD [n]z
n= x[nM]z
Putting all together:
YD (z) =
1
M
PM1
YD () =
1
M
PM1
k=0
k=0
kzM)
X(WM
2k
M
ENEE630 Lecture Part-1
(details)
(details)
11 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Frequency-Domain Illustration of Decimation
Interpretation of YD ()
Step-1: stretch X() by a factor of M to
obtain X(/M)
Step-2: create M 1 copies and shift
them in successive amounts of 2
Step-3: add all M copies together and
multiply by 1/M.
ENEE630 Lecture Part-1
12 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Aliasing
The stretched version X(/M) can in general overlap with its
shifted replicas. This overlap effect is called aliasing.
When aliasing occurs, we cannot recover x[n] from the
decimated version yD [n], i.e. M can be a lossy operation.
We can avoid aliasing by limiting the bandwidth of x[n] to
|| < /M.
When no aliasing, we can recover x[n] from the decimated
version yD [n] by using an expander, followed by filtering of the
unwanted spectrum images.
ENEE630 Lecture Part-1
13 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Example of Recovery from Decimated Signal
y [n] = x[n] where no aliasing
occurs.
freq.-domain interpretation
Question: Is the bandlimit condition || < /M necessary?
What if X () has a support over [/3, ] for M = 3?
ENEE630 Lecture Part-1
14 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Decimation Filters
The decimator is normally preceded by a lowpass filter called
decimator filter.
Decimator filter ensures the signal to be decimated is bandlimited
and controls the extent of aliasing.
ENEE630 Lecture Part-1
15 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Interpolation Filters
An interpolation filter normally follows an expander to
suppress all the images in the spectrum.
time-domain interpretation
ENEE630 Lecture Part-1
16 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Fractional Sampling Rate Conversion
So far, we have learned how to increase or decrease sampling rate
in the digital domain by integer factors.
Question: How to change the rate by a rational fraction L/M?
(e.g.: audio 44.1kHz 48kHz)
Method-1: convert into an analog signal and resample
Method-2: directly in digital domain by judicious combination
of interpolation and decimation
Question: Decimate first or expand first? And why?
ENEE630 Lecture Part-1
17 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Fractional Rate Conversion
Use a low pass filter with passband greater than /3 and stopband
edge before 2/3 to remove images
Equiv. to getting 2 samples
out of every 3 original samples
the signal now is critically
sampled
some samples kept are
interpolated from x[n]
ENEE630 Lecture Part-1
18 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Time Domain Descriptions of Multirate Filters
Recall:
1
ENEE630 Lecture Part-1
19 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Summary of Time Domain Description
Input-output relation in the time domain for three types of
multirate filters:
P
Pk= x[k]h[nM k] M-fold decimation filter
y [n] =
L-fold interpolation filter
k= x[k]h[n kL]
P
k= x[k]h[nM kL] M/L-fold decimation filter
Note: Systems involving expander and decimator (plus filters) are
in general linear time-varying (LTV) systems.
ENEE630 Lecture Part-1
20 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Digital Filter Banks
A digital filter bank is a collection of digital filters, with a common
input or a common output.
Hi (z): analysis filters
xk [n]: subband signals
Fi (z): synthesis filters
SIMO vs. MISO
Typical frequency response for analysis filters:
Can be
marginally overlapping
non-overlapping
(substantially) overlapping
ENEE630 Lecture Part-1
21 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Review: Discrete Fourier Transform
Recall:
time-domain
M-point DFT
discrete periodic
(
P
nk
DFT: X[k] = M1
n=0 x[n]W
P
M1
1
nk
IDFT: x[n] = M
k=0 X[k]W
frequency-domain
discrete periodic
(W = e j2/M )
Subscript is often dropped from WM if context is clear
The M M DFT matrix W is defined as [W]kn = W kn
We use W to represent the conjugate of W;
also note W = WT (symmetric)
indexing convention in signal vector: [x[0], x[1], ...]T ,
i.e. oldest first
ENEE630 Lecture Part-1
22 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
DFT Filter Bank
Consider passing x[n] through a delay chain
to get M sequences {si [n]}: si [n] = x[n i]
i.e., treat {si [n]} as a vector s[n], then apply W s[n] to get x[n].
(W instead of W due to newest component first in signal vector)
Question: What are the equiv. analysis filters?
And if having a multiplicative factor i to the si [n]?
ENEE630 Lecture Part-1
23 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Input-Output Relation of DFT Filter Bank
(details)
ENEE630 Lecture Part-1
24 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Relation between Hi (z)
(details)
ENEE630 Lecture Part-1
25 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Uniform DFT Filter Bank
A filter bank in which the filters are related by
Hk (z) = H0 (zW k )
is called a uniform DFT filter bank.
The response of filters |Hk ()| have a large amount of overlap.
ENEE630 Lecture Part-1
26 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Time-domain Interpretation of the Uniform DFT FB
(details)
ENEE630 Lecture Part-1
27 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
1.1 Decimation and Interpolation
1.2 Digital Filter Banks
Time-domain Interpretation of the Uniform DFT FB
The DFT filter bank can be thought of as a spectrum analyzer
The output {xk [n]}M1
k=0 is the spectrum captured based on
the most recent M samples of the input sequence x[n].
The filters themselves are not very good: wide transition
bands and poor stopband attenuation of only 13dB
due to the simple rectangular sliding window H0 (z).
Question: How can we improve the filters in the uniform DFT
filter bank, esp. the prototype filter H0 (z)?
ENEE630 Lecture Part-1
28 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
Interconnection of Building Blocks: Basic Properties
Basic interconnection properties:
)
by the linearity of M & L
Readings: Vaidyanathan Book 4.2; tutorial Sec. II B
ENEE630 Lecture Part-1
30 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
Decimator-Expander Cascades
Questions:
1
Is y1 [n] always equal to y2 [n]?
Not always.
E.g., when L = M, y2 [n] = x[n], but
y1 [n] = x[n] cM [n] 6= y2 [n], where cM [n] is a comb sequence
2
Under what conditions y1 [n] = y2 [n]?
ENEE630 Lecture Part-1
31 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
Example of Decimator-Expander Cascades
x0
L = 3, M = 2
x0
L = 6, M = 4
2
0.5
0.5
0
-2
10
0.2
0.4
0.6
0.8
1
-2
x1
y1
-2
-2
-2
-2
10
10
20
30
0.2
0.4
10
10
0.8
-2
-2
15
0
0.5
1.5
x2
0.6
y1
10
y2
y2
4
x1
x2
4
15
-2
20
40
ENEE630 Lecture Part-1
60
-2
10
15
32 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
Condition for y1 [n] = y2 [n]
Examine the ZT of y1 [n] and y2 [n]:
(details)
ENEE630 Lecture Part-1
33 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
Condition for y1 [n] = y2 [n]
k M1 kL M1
Equiv. to examine the condition of WM
WM k=0 :
k=0
iff M and L are relatively prime.
Question: Prove it. (see homework).
Thus the outputs of the two decimator-expander cascades,
Y1 (z) and Y2 (z), are identical and (a) (b) iff M and L are
relatively prime.
ENEE630 Lecture Part-1
34 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
The Noble Identities
Recall: the cascades of decimators and expanders with LTI systems
appeared in decimation and interpolation filtering.
Question:
Generally No.
Observations:
ENEE630 Lecture Part-1
35 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
The Noble Identities
Consider a LTI digital filter with a transfer function G (z):
Question: What kind of impulse response will a filter G (z L ) have?
Recall: the transfer function G (z) of a LTI digital filter is rational for
practical implementation, i.e., a ratio of polynomials in z or z 1 . There
should not be terms with fractional power in z or z 1 .
ENEE630 Lecture Part-1
36 / 37
1 Basic Multirate Operations
2 Interconnection of Building Blocks
2.1 Decimator-Expander Cascades
2.2 Noble Identities
Proof of Noble Identities
details
ENEE630 Lecture Part-1
37 / 37