chapter 6 digital filter structures l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Chapter 6. Digital Filter Structures PowerPoint Presentation
Download Presentation
Chapter 6. Digital Filter Structures

Loading in 2 Seconds...

play fullscreen
1 / 40

Chapter 6. Digital Filter Structures - PowerPoint PPT Presentation


  • 1021 Views
  • Uploaded on

Chapter 6. Digital Filter Structures. Gao Xinbo School of E.E., Xidian Univ. xbgao@ieee.org xbgao@lab202.xidian.edu.cn http://see.xidian.edu.cn/teach/matlabdsp/. Introduction. In earlier chapters we studied the theory of discrete systems in both the time and frequency domains.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Chapter 6. Digital Filter Structures' - alaire


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
chapter 6 digital filter structures

Chapter 6. Digital Filter Structures

Gao Xinbo

School of E.E., Xidian Univ.

xbgao@ieee.org

xbgao@lab202.xidian.edu.cn

http://see.xidian.edu.cn/teach/matlabdsp/

introduction
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.
introduction3
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.
introduction4
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)
iir filter structures
IIR Filter Structures
  • The system function of an IIR filter is given by

The order of such an IIR filter is called N if aN~=0.

The difference equation representation of an IIR filter is expressed as

three different structures can be used to implement an iir filter
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.
direct form i structure
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 M=N=2,
direct form ii structure
Direct Form II Structure

The commutative law of the convolution

Direct Form II structure

matlab implementation
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.
cascade form
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.
cascade form11
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.

biquad section
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 (k+1)-th biquad. Each biquad section can be implemented in direct form II.

the entire filter is then implemented as a cascade of biquads
The entire filter is then implemented as a cascade of biquads

Cascade form structure for N=4

matlab implementation14
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
parallel form
Parallel Form
  • In this form the system function H(z) is written as a sum of second-order section using partial fraction expansion.

K=N/2, and

B,A are real numbers

the second order section
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 M>=N (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.

parallel form structure
Parallel form structure

Parallel form structure for N=4 (M=N=4)

matlab implementation18
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
fir filter structure
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.

fir filter structure20
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)
fir filter structure21
FIR Filter Structure
  • Cascade form:
    • Figure 6.11
  • Matlab Implementation
    • Function: dir2cas, cas2dir
fir filter structure22
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

linear phase form
Linear-phase form
  • Consider the difference equation with a symmetric impulse response.
  • Figure 6.12: M=7(odd) and M=6(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.
frequency sampling form
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.

frequency sampling form25
Frequency Sampling Form
  • The system function leads to a parallel structure as shown in Figure 6.15 for M=4.
  • 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 (WM–k) factor.
slide26
let p1=WM-k=exp(-j*2*pi*k/M)

=cos(2*pi*k/M)+jsin(2*pi*k/M)

Hk=magHk*exp(j*phaHk)

=magHk*(cos(phaHk)+jsin(phaHk))

Then:

Figure 6.16

matlab functions and examples
MATLAB functions and Examples
  • Notify the structure type
  • [C,B,A]=dir2fs(h) of textbook
  • A practical problem: unstable, avoid this problem by sampling H(z) on a circle |z|=r.
  • Ex6.6 find frequency sample form
  • Ex6.7 In this example the frequency sample form has less computational complexity than direct form.
lattice filter structure
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.
all zero lattice filters
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

all zero lattice filters30
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

slide31

Note that the above algorithm will fail if |Km|=1 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.

matlab implementation32
Matlab Implementation
  • Functions:
  • [K] = dir2latc(b)
  • [y] = latcfilt(K,x)
  • [b] = latc2dir(K)
  • Example 6.8
all pole lattice filter
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.
matlab implementation35
Matlab Implementation
  • Function [K] = dir2latc(a)
  • Care must be taken to ignore the K0 coefficient in the K array.
  • Function [a] = latc2dir(K)
  • K0=1
lattice ladder filters
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 N>=M
lattice ladder filters37
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 M=N.
lattice ladder filters38
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).

matlab implementation39
Matlab Implementation
  • Function [K,C] = dir2ladr(b,a)
    • To use this function, N>=M. If M>N, 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)
readings and exercises
Readings and exercises
  • Textbook : pp182~217
  • Chinese ref. Book: pp.128~137, 231~234
  • Exercises :
    • 1. 6.2, 6.3 both except (e)
    • 2. 6.2e, 6.3e, 6.8, 选6.10