Sei sulla pagina 1di 36

Multirate DSP

•Digital Filter Banks


•Filter Banks and Subband Processing
•Applications and Advantages
•Perfect Reconstruction FB
•2-band Quadrature-Mirror Filter Bank
•K-band Filter Bank Case

•Uniform DFT Modulated Filter Banks

August 2004 Multirate DSP (Part 2/2) 1


Digital Filter Banks
• So far we have mostly concentrated on the design, realisation and
applications of single-input, single-output digital filters.
• In certain applications, it is desirable to separate a signal into a set
of subband signals occupying, usually nonoverlapping, portions of
the original frequency band.
• In other applications, it is necessary to combine many such
subband signals into a single composite signal occupying the
whole Nyquist range.
• To achieve the above two requirements, we need digital filter
banks.

August 2004 Multirate DSP (Part 2/2) 2


x[n] H0(z) v0[n] v0’[n] F0(z) + y[n]

H1(z) v1[n] v1’[n] F1(z) +

...

...
HK- 1(z) vK-1 [n] vK-1 ’[n] FK-1 (z)

Analysis Filter Bank Synthesis Filter Bank


• K-band analysis filter bank with • Synthesis filter bank - a set of
the subfilters Hk(z) known as the subband signals v’k[n] is
analysis filters. combined into one signal y[n].
• Decomposes input signal x[n] • K-band synthesis bank where
into a set of K subband signals each filter Fk(z) is called
vk[n] with each subband signal synthesis filter.
occupying a portion of the
original frequency band.
August 2004 Multirate DSP (Part 2/2) 3
Down-sampler and up-sampler (Revisited)

•Decimation: decimator (down-sampler)


u[0],u[1],u[2]... L u[0], u[N], u[2N]...

example : u[k]: 1,2,3,4,5,6,7,8,9,…


2-fold down-sampling: 1,3,5,7,9,...

•Interpolation: expander (up-sampler)

u[0], u[1], u[2],... M u[0],0,..0,u[1],0,…,0,u[2]...

example : u[k]: 1,2,3,4,5,6,7,8,9,…


2-fold up-sampling: 1,0,2,0,3,0,4,0,5,0...

August 2004 Multirate DSP (Part 2/2) 4


Filter Banks and Subband Processing [1/6]

General `subband processing’ set-up/overview:


- signals split into frequency channels/subbands (`analysis bank’)
- per-channel/subband processing
- reconstruction (`synthesis bank’)
- multi-rate structure: down-sampling / up-sampling

H1(z) 3 subband processing 3 G1(z)

subband processing G2(z) OUT


IN H2(z) 3 3
+
H3(z) 3 subband processing 3 G3(z)

H4(z) 3 subband processing 3 G4(z)

August 2004 Multirate DSP (Part 2/2) 5


Filter Banks and Subband Processing [2/6]
Step-1: Analysis filter bank
- collection of M filters (`analysis filters’, `decimation filters’) with a
common input signal
- ideal (but non-practical) frequency responses = ideal bandpass filters


- typical frequency responses (overlapping, marginally overlapping,
non-overlapping)
H1 H2 H3 H4
K=4
H1(z) 2π
H1 H2 H3 H4
IN H2(z)

H3(z) 2π
H1 H2 H3 H4
H4(z)

August 2004 Multirate DSP (Part 2/2) 6
Filter Banks and Subband Processing [3/6]
Step-2: Decimators (down-samplers)
- subband sampling rate reduction by factor N
- critically decimated filter banks (= maximally down-sampled filter banks):
N = K (where, K = number filters/subbands)
this sounds like maximum efficiency, but aliasing problem arises!
- over-sampled filter banks (= non-critically down-sampled filter banks):
N<K
K=4 N=3
H1(z) 3
IN H2(z) 3
H3(z) 3
H4(z) 3
August 2004 Multirate DSP (Part 2/2) 7
Filter Banks and Subband Processing [4/6]
Step-3: Subband processing
- Example :
coding (=compression) + (transmission or storage) + decoding
- Filter bank design mostly assumes subband processing has `unit
transfer function’ (output signals = input signals), i.e. mostly ignores
presence of subband processing
K=4 N=3
H1(z) 3 subband processing

IN H2(z) 3 subband processing

H3(z) 3 subband processing

H4(z) 3 subband processing

August 2004 Multirate DSP (Part 2/2) 8


Filter Banks and Subband Processing [5/6]
Step-4: Expanders (up-samplers)
- restore original fullband sampling rate by N-fold up-sampling
(= insert N-1 zeros in between every two samples)

K=4 N=3 N=3


H1(z) 3 subband processing 3
IN H2(z) 3 subband processing 3
H3(z) 3 subband processing 3
H4(z) 3 subband processing 3

August 2004 Multirate DSP (Part 2/2) 9


Filter Banks and Subband Processing [6/6]
Step-5: Synthesis filter bank
- collection of K filters (`synthesis filters’, `interpolation filters’) with a
`common’ (summed) output signal
- frequency responses : preferably `matched’ to frequency responses of
the analysis filters, e.g., to provide perfect reconstruction (see below)
G1 G2 G3 G4
K=4

G1(z) G1 G2 G3 G4

G2(z) OUT

+ G1 G2 G3 G4
G3(z)

G4(z) 2π

August 2004 Multirate DSP (Part 2/2)


2π 10
Aliasing versus Perfect Reconstruction
Assume subband processing does not modify subband signals
(e.g. lossless coding/decoding)
- The overall aim could be to have y[k]=u[k-d], i.e. that the output signal is
equal to the input signal up to a certain delay
- But: down-sampling introduces ALIASING, especially in maximally
decimated (but even so in non-maximally decimated) filter banks
- Question : Can y[k]=u[k-d] be achieved in the presence of aliasing?
- Answer = YES, see below: PERFECT RECONSTRUCTION banks with
synthesis bank designed to remove aliasing effects !
H1(z) 3 output=input 3 G1(z)
u[k] y[k]=u[k-d]?
H2(z) 3 output=input 3 G2(z)
+
H3(z) 3 output=input 3 G3(z)
H4(z) 3 output=input 3 G4(z)
August 2004 Multirate DSP (Part 2/2) 11
Multirate DSP
•Digital Filter Banks
•Filter Banks and Subband Processing
•Applications and Advantages
•Perfect Reconstruction FB
•2-band Quadrature-Mirror Filter Bank
•K-band Filter Bank Case

•Uniform DFT Modulated Filter Banks

August 2004 Multirate DSP (Part 2/2) 12


Filter Banks Applications [1/5]

1. Speech coding
coding
2. Image compression
3. Adaptive equalization
4. Echo cancellation adaptive filtering
5. Adaptive beamforming
6. Transmultiplexers (TDM)
7. Code division multiple access (CDMA)

August 2004 Multirate DSP (Part 2/2) 13


Filter Banks Applications [2/5]
Subband coding:
Coding = Fullband signal split into subbands & down-sampled
subband signals separately encoded
(e.g. subband with smaller energy content encoded with fewer bits)
Decoding = reconstruction of subband signals, then fullband
signal synthesis (expanders + synthesis filters)
Example : Image coding (e.g. wavelet filter banks)
Example : Audio coding
e.g. digital compact cassette (DCC), MiniDisc, MPEG, ...
Filter bandwidths and bit allocations chosen to further
exploit perceptual properties of human hearing
(perceptual coding, masking, etc.)
August 2004 Multirate DSP (Part 2/2) 14
Filter Banks Applications [3/5]
Subband adaptive filtering:
Example 1: Adaptive channel equalization
Adaptive equalizer is employed to mitigate the effect of inter-symbol
interference (ISI), that occurs due to limited bandwidth and multipath
propagation.
Example 2: Acoustic echo cancellation
Adaptive filter models (time-varying) acoustic echo path and produces a copy
of the echo, which is then subtracted from microphone signal.

= difficult problem !
* long acoustic impulse responses
* time-varying

August 2004 Multirate DSP (Part 2/2) 15


Filter Banks Applications [4/5]
Subband adaptive filtering (continued):
Example 1: Adaptive channel equalization
Adaptive equalizer is employed to mitigate the effect of inter-symbol interference
(ISI), that occurs due to limited bandwidth and multipath propagation.

August 2004 Multirate DSP (Part 2/2) 16


Filter Banks Applications [5/5]
Subband adaptive filtering (continued):
Example 2: Acoustic echo cancellation
- Subband filtering = K subband modeling problems instead of one fullband
modeling problem
- Perfect reconstruction guarantees distortion-free desired near-end
speech signal
H1(z) 3 ad.filter
H2(z) 3 ad.filter
H3(z) 3 ad.filter
H4(z) 3 ad.filter
H1(z) 3 + 3 G1(z)
H2(z) 3 + 3 G2(z) OUT
+
H3(z) 3 + 3 G3(z)

August 2004
H4(z) 3 Multirate DSP (Part 2/2)
+ 3 G4(z)
17
General advantages of subband decomposition techniques

1. Allow parallel processing of signal will slower processor, as the


sampling rate is reduces in each subband.

2. Computational complexity reduction. For instance in compression


application where subband are compressed at different rates, e.g. speech
processing and image compression.

3. Improve/increase convergence speed in adaptive filtering applications,


e.g. echo cancellation and adaptive equalization.

August 2004 Multirate DSP (Part 2/2) 18


Conclusion I: General `subband processing’ set-up
- analysis bank + synthesis bank
- multirate structure: down-sampling after analysis, up-sampling for synthesis
- aliasing vs. “perfect reconstruction”
- filter bank implementation (for N = decimation factor, K = number of subband):
1. critically-sampled FB →N = K
2. over-sampled FB →N < K
- applications: coding, (adaptive) filtering, transmultiplexers
- advantages of subband processing
H1(z) 3 subband processing 3 G1(z)

subband processing G2(z) OUT


IN H2(z) 3 3
+
H3(z) 3 subband processing 3 G3(z)

H4(z) 3 subband processing 3 G4(z)


August 2004 Multirate DSP (Part 2/2) 19
Multirate DSP
•Digital Filter Banks
•Filter Banks and Subband Processing
•Applications and Advantages
•Perfect Reconstruction FB
•2-band Quadrature-Mirror Filter Bank
•K-band Filter Bank Case

•Uniform DFT Modulated Filter Banks

August 2004 Multirate DSP (Part 2/2) 20


Design Issues

Two design issues :


1. filter specifications, e.g. stopband attenuation, passband
ripple, transition band, etc. (for each (analysis) filter!)
2. (nearly) perfect reconstruction property...

August 2004 Multirate DSP (Part 2/2) 21


Perfect Reconstruction: K = 2 subbands case
N =K =2
G0(z) y[k]
u[k] H0(z) 2 2
+
H1(z) 2 2 G1(z)

It is proved that... (try it!)

1 1
Y ( z ) = .{H 0 ( z ).G0 ( z ) + H1 ( z )G1 ( z )}.U ( z ) + .{H 0 (− z ).G0 ( z ) + H1 (− z )G1 ( z )}.U (− z )
2 
 2   
T ( z) A( z )

• U(-z) represents aliased signals, hence the `alias transfer function’ A(z)
should ideally be zero
• T(z) is referred to as `distortion function’ (amplitude & phase distortion).
For perfect reconstruction, T(z) should ideally be a pure delay

August 2004 Multirate DSP (Part 2/2) 22


Perfect Reconstruction: K = 2 subbands case

G0(z) y[k]
u[k] H0(z) 2 2
+
H1(z) 2 2 G1(z)

• Alias-free filter bank:


A( z ) = 0
• Perfect reconstruction filter bank (= alias-free + distortion-free):
i) A( z ) = 0

−δ
ii) T ( z ) = z

• PS: if A(z)=0, then Y(z) = T(z).U(z), hence the complete filter bank behaves as a
linear time invariant (LTI) system (despite up- & down-sampling)!
August 2004 Multirate DSP (Part 2/2) 23
Perfect Reconstruction: K = 2 subbands case

G0(z) y[k]
u[k] H0(z) 2 2
+
H1(z) 2 2 G1(z)

• An initial choice is ….. :


H1 ( z ) = H 0 (− z ), G0 ( z ) = H 0 ( z ), G1 ( z ) = − H1 ( z )
so that
1
A( z ) = ... = 0 T ( z ) = ... = {H 02 ( z ) − H 02 ( −z )}
2
ignore the details!
• For the real coefficient case: j(
π
+ω ) j(
π
−ω )
H 1 (e 2
) = ... = H 0 (e 2
)

which means the amplitude response of H1 is the mirror image of the


amplitude response of H0 with respect to the quadrature frequency
hence the name `quadrature mirror filter’ (QMF)

August 2004 Multirate DSP (Part 2/2) 24


Perfect Reconstruction: K = 2 subbands case

G0(z) y[k]
u[k] H0(z) 2 2
+
H1(z) 2 2 G1(z)

• quadrature mirror filter (QMF):


H0 H1

π 2 π
• hence if H0 (=G0) is designed to be a good lowpass filter, then H1 (=-G1)
is a good high-pass filter.

August 2004 Multirate DSP (Part 2/2) 25


Perfect Reconstruction: K number subbands case
N =K
H0(z) 4 4 G0(z)

u[k] H1(z) 4 4 G1(z) y[k]


G2(z)
+
H2(z) 4 4
H3(z) 4 4 G3(z)

• It is proved that... (try it!) ignore the details!

1 M −1 1 M −1 M −1
Y ( z) = .{ ∑ H k ( z ).Gk ( z )}.U ( z ) + .∑{∑ H k ( z.W l ).Gk ( z )}.U ( z.W l )
M 
 k =0
 M l =1 k =
0
  
T ( z) A ( z)
l

• 2nd term represents aliased signals, hence all `alias transfer functions’ Al(z)
should ideally be zero (for all l )
• T(z) is referred to as `distortion function’ (amplitude & phase distortion). For
perfect reconstruction, T(z) should ideally be a pure delay
August 2004 Multirate DSP (Part 2/2) 26
Multirate DSP
•Digital Filter Banks
•Filter Banks and Subband Processing
•Applications and Advantages
•Perfect Reconstruction FB
•2-band Quadrature-Mirror Filter Bank
•K-band Filter Bank Case

•Uniform DFT Modulated Filter Banks

August 2004 Multirate DSP (Part 2/2) 27


Uniform DFT-Modulated Filter Banks
Uniform versus non-uniform (analysis) filter bank:
H0(z) H0 H1 H2 H3
uniform
IN H1(z)
H2(z)
non-uniform H0 H1 H2 H3
H3(z)

• non-uniform: e.g. for speech & audio applications

• uniform filter bank: H k ( z ) = H 0 ( z.e − j 2πk / N )


= frequency responses uniformly shifted over the unit circle

• H0(z) = `prototype’ filter, is the only filter that has to be designed

August 2004 Multirate DSP (Part 2/2) 28


Uniform DFT-Modulated Filter Banks

• Uniform filter banks can be implemented cheaply based on polyphase


decompositions + FFT :

1. Uniform DFT-modulated analysis filter banks

If H 0 ( z ), H1 ( z ),..., H N −1 ( z ) with H k ( z ) = H 0 ( z.e − j 2πk / N )


N −1
H 0 ( z ) = ∑ z −l .El ( z N ) H0(z)
l =0 u[k] H1(z)
H2(z)
N −1 1 
then H k ( z ) = H 0 ( z.e − j 2πk / N ) = ∑ z −l .e j 2πkl / N .El ( z N e − j 2πkN / N ) H3(z)
l =0
N −1
= ∑ z
l =0
−l
.
W − kl
. El ( z N
), with W = e − j 2π / N

August 2004 Multirate DSP (Part 2/2) 29


Uniform DFT-Modulated Filter Banks
*
 F   
 H 0 ( z)  W 0 W0 W0 ... W0  E0 ( z N ) 
 H ( z)   0 −1 −2 −( N −1)   −1 N 
 1  W W W ... W  z .E1 ( z ) 
 H 2 ( z ) .U ( z ) = W 0
W − 2
W − 4
... W − 2 ( N −1) . z .E2 ( z ) .U ( z )
− 2 N

    
 :   : : : :  : 
H N −1 ( z )  W 0 W −( N −1) W −2 ( N −1) ... W −( N −1)   z − N +1.E ( z N ) 
2

  N −1 

W = e − j 2π / N ignore the details!

where F is NxN DFT-matrix u[k]


E0 ( z 4 ) H 0 ( z)

H1 ( z )
*
F
4
E1 ( z )

E2 ( z 4 ) H 2 ( z)

H 3 ( z)
E3 ( z 4 )
August 2004 Multirate DSP (Part 2/2) 30
Uniform DFT-Modulated Filter Banks
• Uniform DFT-modulated analysis FB + decimation (K=N)
u[k]
E0 ( z 4 ) 4

*
F
E1 ( z 4 ) 4


E2 ( z 4 ) 4
E3 ( z 4 ) 4

= u[k]
4 E0 ( z )

4 *
F
E1 ( z )

4 E2 ( z )

4 E3 ( z )

August 2004 Multirate DSP (Part 2/2) 31


Uniform DFT-Modulated Filter Banks
2. Uniform DFT-modulated synthesis filter banks

u0 [ k ] G0 ( z )

u1[ k ] G1 ( z ) +

u2 [k ] G2 ( z ) +

u3 [ k ] G3 ( z ) + y[k]

G0 ( z ), G1 ( z ),..., GN −1 ( z ) with Gk ( z ) = e j 2πk / N .G0 ( z.e − j 2πk / N )

N −1 N −1
G0 ( z ) = ∑ z .Rl ( z )
−l N
Gk ( z ) = ... = ∑ z −l .W k ( N −1−l ) .Rl ( z N )
l =0 l =0

August 2004 Multirate DSP (Part 2/2) 32


 U 0 ( z) 
 U ( z) 
 1 
Y ( z ) = [ F0 ( z ) F1 ( z ) F2 ( z ) ... FN −1 ( z )]. U 2 ( z ) 
 
 : 
U N −1 ( z )

  F 


W 0 W0 W0 ... W 0   U 0 ( z) 
 0 ( N −1)   
W W 1
W 2
... W  U 1 ( z ) 
[
= z − N +1.RN −1 ( z N ) ... z −2 .R2 ( z N ) −1 N N

z .R1 ( z ) R0 ( z ) . W ]
0
W 2
W 4
... W 2 ( N −1) 
. U 2 ( z) 

  
 : : : :  : 
W 0 W ( N −1) W 2 ( N −1) ... W ( N −1) 2  U N −1 ( z )
 

ignore the details!


W = e − j 2π / N
where F is NxN DFT-matrix u0 [ k ] R3 ( z 4 )

F
u1[k ] R2 ( z 4 ) +

u2 [k ] R1 ( z 4 ) +

u3 [ k ] R0 ( z 4 ) + y[k]
August 2004 Multirate DSP (Part 2/2) 33
Uniform DFT-Modulated Filter Banks
• Expansion (K=N) + uniform DFT-modulated synthesis FB:

u0 [ k ] 4 R3 ( z 4 )

+
F
R2 ( z 4 )
u1[k ] 4 ∆

u2 [k ] 4 R1 ( z 4 ) +

u3 [ k ] 4 R0 ( z 4 ) +
y[k]
u0 [k ] R3 ( z ) 4 ∆

4 +
F
R2 ( z )

=
u1[k ]

u2 [k ] R1 ( z ) 4 +

u3 [ k ] R0 ( z ) 4 +
y[k]

August 2004 Multirate DSP (Part 2/2) 34


Uniform DFT-Modulated Filter Banks

• For over-sampled case, with down-sampling factor (N)


smaller that the number of subbands (K) [i.e. N < K], aliasing
is expected to become a smaller problem, possibly negligible
if N<<K.
• Still, PR theory (hence perfect alias cancellation) is not
necessarily simpler.

August 2004 Multirate DSP (Part 2/2) 35


Conclusion II:

• Design problem = all filter specs + alias cancellation (PR)


• Uniform versus non-uniform filter banks
• Critically-sampled and over-sampled PR filter banks
• Modulated PR filter banks
• DFT-modulated filter banks
• Other methods: GDFT-modulated filter banks and DCT-
modulated filter banks (not considered here!)
• Economy in design (only prototype) & implementation

August 2004 Multirate DSP (Part 2/2) 36

Potrebbero piacerti anche