Chapter 6. Digital Filter Structures

1 / 40
About This Presentation
Title:

Chapter 6. Digital Filter Structures

Description:

To process signals, we have to design and implement systems called filters. ... lattice structure for an IIR filter is restricted to an all-pole system unction. ... –

Number of Views:1729
Avg rating:3.0/5.0
Slides: 41
Provided by: Informe
Category:

less

Transcript and Presenter's Notes

Title: Chapter 6. Digital Filter Structures


1
Chapter 6. Digital Filter Structures
  • Gao Xinbo
  • School of E.E., Xidian Univ.
  • xbgao_at_ieee.org
  • xbgao_at_lab202.xidian.edu.cn
  • http//see.xidian.edu.cn/teach/matlabdsp/

2
Introduction
  • In earlier chapters we studied the theory of
    discrete systems in both the time and frequency
    domains.
  • We will now use this theory for the processing of
    digital signals.
  • To process signals, we have to design and
    implement systems called filters.
  • The filter design issue is influenced by such
    factors as
  • The type of the filter IIR or FIR
  • The form of its implementation structures
  • Different filter structures dictate different
    design strategies.

3
Introduction
  • IIR filters are characterized by
    infinite-duration impulse response. Some of these
    impulse responses can be modeled by
  • Rational system functions
  • Difference equations
  • ARMA or recursive filters
  • We will treat FIR filter separately from IIR
    filters for both design and implementation
    purposes.

4
Introduction
  • Since our filters are LTI systems, we need the
    following three elements to describe digital
    filter structures.
  • Adder
  • Multiplier (Gain)
  • Delay element (shift or memory)

5
IIR Filter Structures
  • The system function of an IIR filter is given by

The order of such an IIR filter is called N if
aN0. The difference equation representation of
an IIR filter is expressed as
6
Three different structures can be used to
implement an IIR filter
  • Direct form
  • In this form, there are two parts to this filter,
    the moving average part and the recursive part
    (or the numerator and denominator parts)
  • Two version direct form I and direct form II
  • Cascade form
  • The system function H(z) is factored into smaller
    second-order sections, called biquads. H(z) is
    then represented as a product of these biquads.
  • Each biquad is implemented in a direct form, and
    the entire system function is implemented as a
    cascade of biquad sections.
  • Parallel form
  • H(z) is represented as a sum of smaller
    second-order sections.
  • Each section is again implemented in a direct
    form.
  • The entire system function is implemented as a
    parallel network of sections.

7
Direct Form I Structure
  • As the name suggests, the difference equation is
    implemented as given using delays, multipliers,
    and adders.
  • For the purpose of illustration, Let MN2,

8
Direct Form II Structure
The commutative law of the convolution
Direct Form II structure
9
Matlab Implementation
  • In Matlab the direct from structure is described
    by two row vectors
  • b containing the bn coefficients and a
    containing the an coefficients.
  • The structure is implemented by the filter
    function, which is discussed in Chapter 2.

10
Cascade Form
  • In this form the system function H(z) is written
    as a product of second-order section with real
    coefficients.
  • This is done by factoring the numerator and
    denominator polynomials into their respective
    roots and then combining either a complex
    conjugate root pair or any two real roots into
    second-order polynomials.

11
Cascade Form
  • We assume that N is an even integer. Then

Where, K is equal to N/2, and Bk,1, Bk,2, Ak,1,
Ak,2 are real numbers representing the
coefficients of second-order section.
12
Biquad Section
Is called the k-th biquad section. The input to
the k-th biquad section is the output from the
(k-1)-th section, while the output from the k-th
biquad is the input to the (k1)-th biquad. Each
biquad section can be implemented in direct form
II.
13
The entire filter is then implemented as a
cascade of biquads
Cascade form structure for N4
14
Matlab Implementation
  • Given the coefficients bn and an of the
    direct form filter
  • The function b0,B,A dir2cas(b,a)
  • can be used to obtain the coefficients b0,
    Bk,i, and Ak,i.
  • The cascade form is implemented using a casfiltr
    function
  • Function y casfiltr(b0,B,A,x)
  • Function cas2dir converts a cascade form to a
    direct form.
  • Function b,a cas2dir(b0,B,A)
  • Examples 6.1

15
Parallel Form
  • In this form the system function H(z) is written
    as a sum of second-order section using partial
    fraction expansion.

KN/2, and B,A are real numbers
16
The second-order section
Is the k-th proper rational biquad section. The
filter input is available to all biquad section
as well as to the polynomial section if MgtN
(which is an FIR part) The output from these
sections is summed to form the filter
output. Each biquad section can be implemented in
direct form II.
17
Parallel form structure
Parallel form structure for N4 (MN4)
18
Matlab Implementation
  • The function dir2par converts the direct form
    coefficients bn and an into parallel form
    coefficients Bk,i and Ak,i
  • Functions
  • C,B,A dir2par(b,a)
  • I cplxcomp(p1,p2)
  • y parfiltr(C,B,A,x)
  • b,a par2dir(C,B,A)
  • Examples

19
FIR Filter Structure
A finite-duration impulse response filter has a
system function of the form
Hence the impulse response h(n) is
And the difference equation representation is
Which is a linear convolution of finite
support. The order of the filter is M-1, while
the length of the filter is M.
20
FIR Filter Structure
  • Direct form
  • The difference equation is implemented as a
    tapped delay line since there are no feedback
    paths.
  • Figure 6.10
  • Note that since the denominator is equal to
    unity, there is only one direct form structure.
  • Matlab implementation
  • Function y filter(b,1,x)

21
FIR Filter Structure
  • Cascade form
  • Figure 6.11
  • Matlab Implementation
  • Function dir2cas, cas2dir

22
FIR Filter Structure
  • Linear-phase form
  • For frequency-selective filters (e.g., lowpass
    filters) it is generally desirable to have a
    phase response that is a linear function of
    frequency. That is
  • For a causal FIR filter with impulse over 0,M-1
    interval, the linear-phase conditions

Symmetric impulse response vs. antisymmetric
impulse response
23
Linear-phase form
  • Consider the difference equation with a symmetric
    impulse response.
  • Figure 6.12 M7(odd) and M6(even)
  • Matlab implementation
  • The linear-phase structure is essentially a
    direct form draw differently to save on
    multiplications. Hence in a Matlab implementation
    the linear-phase structure is equivalent to the
    direct form.

24
Frequency Sampling Form
  • In this form we use the fact that the system
    function H(z) of an FIR filter can be
    reconstructed from it samples on the unit circle

It is also interesting to note that the FIR
filter described by the above equation has a
recursive form similar to an IIR filter because
it contains both poles and zeros.
25
Frequency Sampling Form
  • The system function leads to a parallel structure
    as shown in Figure 6.15 for M4.
  • One problem with the structure in Fig.6.15 is
    that it requires a complex arithmetic
    implementation.
  • Using the symmetry properties of the DFT and the
    (WMk) factor.

26
  • let p1WM-kexp(-j2pik/M)
  • cos(2pik/M)jsin(2pik/M)
  • HkmagHkexp(jphaHk)
  • magHk(cos(phaHk)jsin(phaHk))
  • Then

Figure 6.16
27
MATLAB functions and Examples
  • Notify the structure type
  • C,B,Adir2fs(h) of textbook
  • A practical problem unstable, avoid this problem
    by sampling H(z) on a circle zr.
  • Ex6.6 find frequency sample form
  • Ex6.7 In this example the frequency sample form
    has less computational complexity than direct
    form.

28
Lattice Filter Structure
  • The lattice filter is extensively used in digital
    speech processing and in implementation of
    adaptive filter.
  • It is a preferred form of realization over other
    FIR or IIR filter structures because in speech
    analysis and in speech synthesis the small number
    of coefficients allows a large number of formants
    to be modeled in real-time.
  • All-zeros lattice is the FIR filter
    representation of the lattice filter.
  • The lattice ladder is the IIR filter
    representation.

29
All-zero Lattice Filters
  • An FIR filter of length M (or order M-1) has a
    lattice structure with M-1 stages.

Km reflection coefficients
30
All-zero lattice filters
If the FIR filter is given by the direct form
And if we denote the polynomial
Then the lattice filter coefficients Km can be
obtained by the following recursive algorithm
31
Note that the above algorithm will fail if Km1
for any m. Clearly, this condition is satisfied
by the linear-phase FIR filter. Therefore,
linear-phase FIR filter cannot be implemented
using lattice structure.
32
Matlab Implementation
  • Functions
  • K dir2latc(b)
  • y latcfilt(K,x)
  • b latc2dir(K)
  • Example 6.8

33
All-pole Lattice Filter
  • A lattice structure for an IIR filter is
    restricted to an all-pole system unction.
  • It can be developed from an FIR lattice
    structure.
  • This IIR filter of order N has a lattice
    structure with N stages as shown in Fig.6.20.
  • Each stage of the filter has an input and output
    that are related by the order-recursive equations.

34
All-pole Lattice Filter
35
Matlab Implementation
  • Function K dir2latc(a)
  • Care must be taken to ignore the K0 coefficient
    in the K array.
  • Function a latc2dir(K)
  • K01

36
Lattice ladder Filters
  • A general IIR filter containing both poles and
    zeros can be realized as a lattice-type structure
    by using an all-pole lattice as the basic
    building block.
  • Consider an IIR filter with system function
  • Where, without loss of generality, we assume that
    NgtM

37
Lattice ladder Filters
  • A lattice type structure can be constructed by
    first realizing an all-poles lattice with
    coefficient Km for the denominator and then
    adding a ladder part by taking the output as a
    weighted linear combination of gm(n) as shown
    in Fig.6.22 for MN.

38
Lattice ladder Filters
The output of the lattice-ladder structure is
given by
Cm are called the ladder coefficients that
determine the zeros of the system function H(z).
39
Matlab Implementation
  • Function K,C dir2ladr(b,a)
  • To use this function, NgtM. If MgtN, then the
    numerator AN(z) should be divided into the
    denominator BM(z) using the deconv function to
    obtain a proper rational part and a polynomial
    part. The proper rational part can be implemented
    using the lattice-ladder structure, while the
    polynomial part is implemented using the direct
    structure.
  • Function b,a ladr2dir(K,C)
  • Function y ladrfilt(K,C,x)

40
Readings and exercises
  • Textbook pp182217
  • Chinese ref. Book pp.128137, 231234
  • Exercises
  • 1. 6.2, 6.3 both except (e)
  • 2. 6.2e, 6.3e, 6.8, ?6.10
Write a Comment
User Comments (0)
About PowerShow.com