ECE503: Digital Signal Processing Lecture 6

Similar documents
ECE503: Digital Signal Processing Lecture 5

Digital Filter Structures. Basic IIR Digital Filter Structures. of an LTI digital filter is given by the convolution sum or, by the linear constant

Digital Filter Structures

LECTURE NOTES DIGITAL SIGNAL PROCESSING III B.TECH II SEMESTER (JNTUK R 13)

ECE503: Digital Signal Processing Lecture 4

Lecture 19 IIR Filters

(Refer Slide Time: )

Implementation of Discrete-Time Systems

We have shown earlier that the 1st-order lowpass transfer function

ECE4270 Fundamentals of DSP Lecture 20. Fixed-Point Arithmetic in FIR and IIR Filters (part I) Overview of Lecture. Overflow. FIR Digital Filter

Tunable IIR Digital Filters

z-transform Chapter 6

Analog vs. discrete signals

Digital Signal Processing Lecture 4

Topic 7: Filter types and structures

z-transforms Definition of the z-transform Chapter

E : Lecture 1 Introduction

Z - Transform. It offers the techniques for digital filter design and frequency analysis of digital signals.

DSP Configurations. responded with: thus the system function for this filter would be

EEL3135: Homework #4

( ) John A. Quinn Lecture. ESE 531: Digital Signal Processing. Lecture Outline. Frequency Response of LTI System. Example: Zero on Real Axis

Use: Analysis of systems, simple convolution, shorthand for e jw, stability. Motivation easier to write. Or X(z) = Z {x(n)}

ELEG 305: Digital Signal Processing

Let H(z) = P(z)/Q(z) be the system function of a rational form. Let us represent both P(z) and Q(z) as polynomials of z (not z -1 )

ELEG 305: Digital Signal Processing

! Downsampling/Upsampling. ! Practical Interpolation. ! Non-integer Resampling. ! Multi-Rate Processing. " Interchanging Operations

Lecture 7 - IIR Filters

Stability Condition in Terms of the Pole Locations

Multi-rate Signal Processing 3. The Polyphase Representation

DISCRETE-TIME SIGNAL PROCESSING

Z-Transform. 清大電機系林嘉文 Original PowerPoint slides prepared by S. K. Mitra 4-1-1

ELEG 305: Digital Signal Processing

Discrete-time signals and systems

How to manipulate Frequencies in Discrete-time Domain? Two Main Approaches

EE 123: Digital Signal Processing Spring Lecture 23 April 10

Examples. 2-input, 1-output discrete-time systems: 1-input, 1-output discrete-time systems:

Discrete Time Systems

Digital Signal Processing:

DSP Algorithm Original PowerPoint slides prepared by S. K. Mitra

Lecture 11 FIR Filters

6.02 Fall 2012 Lecture #11

Z Transform (Part - II)

Digital Signal Processing Lecture 10 - Discrete Fourier Transform

Module 4 : Laplace and Z Transform Problem Set 4

Digital Filter Structures

Digital Signal Processing Lecture 5

Universiti Malaysia Perlis EKT430: DIGITAL SIGNAL PROCESSING LAB ASSIGNMENT 5: DIGITAL FILTER STRUCTURES

Very useful for designing and analyzing signal processing systems

Digital Signal Processing. Midterm 1 Solution

Lecture 8 Finite Impulse Response Filters

Introduction to DSP Time Domain Representation of Signals and Systems

VU Signal and Image Processing

! Introduction. ! Discrete Time Signals & Systems. ! Z-Transform. ! Inverse Z-Transform. ! Sampling of Continuous Time Signals

UNIT-II Z-TRANSFORM. This expression is also called a one sided z-transform. This non causal sequence produces positive powers of z in X (z).

Z-Transform. x (n) Sampler

ENEE630 ADSP RECITATION 5 w/ solution Ver

DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EC2314- DIGITAL SIGNAL PROCESSING UNIT I INTRODUCTION PART A

Digital Signal Processing Lecture 9 - Design of Digital Filters - FIR

Linear Convolution Using FFT

DIGITAL SIGNAL PROCESSING UNIT III INFINITE IMPULSE RESPONSE DIGITAL FILTERS. 3.6 Design of Digital Filter using Digital to Digital

Signals and Systems. Problem Set: The z-transform and DT Fourier Transform

Solutions: Homework Set # 5

Quadrature-Mirror Filter Bank

# FIR. [ ] = b k. # [ ]x[ n " k] [ ] = h k. x[ n] = Ae j" e j# ˆ n Complex exponential input. [ ]Ae j" e j ˆ. ˆ )Ae j# e j ˆ. y n. y n.

Filter structures ELEC-E5410

Oversampling Converters

ELEG 305: Digital Signal Processing

Recursive, Infinite Impulse Response (IIR) Digital Filters:

Digital Signal Processing Lecture 8 - Filter Design - IIR

Solution 10 July 2015 ECE301 Signals and Systems: Midterm. Cover Sheet

ECE538 Final Exam Fall 2017 Digital Signal Processing I 14 December Cover Sheet

ELEG 305: Digital Signal Processing

Ch. 7: Z-transform Reading

Digital Filters Ying Sun

Lecture 2 Discrete-Time LTI Systems: Introduction

Digital Signal Processing, Homework 1, Spring 2013, Prof. C.D. Chung

The Convolution Sum for Discrete-Time LTI Systems

Lesson 1. Optimal signalbehandling LTH. September Statistical Digital Signal Processing and Modeling, Hayes, M:

INF3440/INF4440. Design of digital filters

Discrete-Time Systems

UNIT 1. SIGNALS AND SYSTEM

The Z transform (2) 1

R13 SET - 1

REAL TIME DIGITAL SIGNAL PROCESSING

Analog LTI system Digital LTI system

Lecture 18: Stability

UNIVERSITY OF OSLO. Please make sure that your copy of the problem set is complete before you attempt to answer anything.

Convolution. Define a mathematical operation on discrete-time signals called convolution, represented by *. Given two discrete-time signals x 1, x 2,

ELEG 5173L Digital Signal Processing Ch. 5 Digital Filters

ESE 531: Digital Signal Processing

Lecture 04: Discrete Frequency Domain Analysis (z-transform)

Lab 3 & 4. LTI Systems, the Z-Transform, and an Introduction

Basic Multi-rate Operations: Decimation and Interpolation

Discrete Time Systems

ESE 531: Digital Signal Processing

! z-transform. " Tie up loose ends. " Regions of convergence properties. ! Inverse z-transform. " Inspection. " Partial fraction

Responses of Digital Filters Chapter Intended Learning Outcomes:

Review of Discrete-Time System

Digital Signal Processing. Lecture Notes and Exam Questions DRAFT

EECE 301 Signals & Systems Prof. Mark Fowler

Transcription:

ECE503: Digital Signal Processing Lecture 6 D. Richard Brown III WPI 20-February-2012 WPI D. Richard Brown III 20-February-2012 1 / 28

Lecture 6 Topics 1. Filter structures overview 2. FIR filter structures Direct form Direct form transposed Symmetry tricks Cascaded Polyphase/parallel 3. IIR filter structures Direct form I Direct form II DFI/DFII transposed Cascaded Parallel 4. Cascaded Lattice Structures 5. Computational Complexity WPI D. Richard Brown III 20-February-2012 2 / 28

Digital Filter Structures The problem we now consider is how to actually implement discrete-time filters/systems. Some possibilities: 1. Compute output by convolving input buffer with impulse response? y[n] = N 1 k=0 h[k]x[n k] 2. Directly compute input-output difference equation? 3. Other methods? y[n] = M 1 k=0 N 1 b k x[n k] k=1 a k y[n k] Our scope will be restricted to LTI causal real-coefficient FIR and IIR discrete-time filters. WPI D. Richard Brown III 20-February-2012 3 / 28

Motivation ECE503: Digital Filter Structures All filter structures give the same output when we have infinite-precision math. There can be big differences, however, when implementing a filter with finite precision (Chapter 12). Example: Causal IIR bandpass filter y[n] = 0.01x[n] 0.01x[n 2]+0.0031y[n 1] 0.98y[n 2] 0.01(1 z 2 ) H(z) = 1 0.0031 +0.98z 2 If we implement this filter on a small microcontroller with 8-bit integer datatypes, the quantized difference equation will be y[n] = 1 128 {x[n] x[n 2]+0y[n 1] 125y[n 2]} which gives a transfer function of H q (z) = 0.078(1 z 2 ) 1+0.9766z 2 WPI D. Richard Brown III 20-February-2012 4 / 28

Finite-Precision IIR BPF 1 0.9 infinite precision coefficients 8 bit coefficients 0.8 0.7 magnitude resp 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 3.5 normalized freq (rad/samp) WPI D. Richard Brown III 20-February-2012 5 / 28

FIR Direct Form ECE503: Digital Filter Structures This is called direct form because it is a direct implementation of the convolution operation. The number of delays is equal to the order of the filter, hence this structure is canonic. Note the fundamental building blocks: Unit delay Multiplier/gain Accumulator/summer/adder Pick-off node WPI D. Richard Brown III 20-February-2012 6 / 28

FIR Direct Form Transposed In general (not just for FIR filters), we can form an equivalent structure by performing the transpose operation, which is defined as follows: 1. Reverse all paths 2. Replace pick-off nodes with accumulators, and vice-versa 3. Interchange input and output If we perform this transpose operation on a direct form FIR filter, we get the direct form transposed FIR filter structure: Not difficult to confirm this realizes the same difference equation as the direct form structure. Also canonic. WPI D. Richard Brown III 20-February-2012 7 / 28

Linear Phase FIR Symmetry Tricks Recall the various types of linear phase FIR filters, each having either symmetric or anti-symmetric impulse response. For example: h[n] =h[0]δ[n]+h[1]δ[n 1]+h[2]δ[n 2] +h[3]δ[n 3]+h[2]δ[n 4]+h[1]δ[n 5]+h[0]δ[n 6] =h[0](δ[n]+δ[n 6])+h[1](δ[n 1]+δ[n 5]) +h[2](δ[n 2]+δ[n 4])+h[3]δ[n 3] This symmetry can be exploited to reduce the number of multipliers. WPI D. Richard Brown III 20-February-2012 8 / 28

FIR Cascaded Idea: Factor transfer function into product of smaller transfer functions. Example: H(z) = h[0] +h[1] +h[2]z 2 +h[3]z 3 +h[4]z 4 +h[5]z 5 +h[6]z 6 = h[0](1+β 1,1 +β 2,1z 2 )(1+β 1,2 +β 2,2z 2 )(1+β 1,3 +β 2,3z 2 ) Why do we factor into second-order rather than first-order sections? Canonic? WPI D. Richard Brown III 20-February-2012 9 / 28

FIR Polyphase We can also develop equivalent structures by putting smaller filters in parallel. One way to do this is called polyphase realization : 2-branch polyphase decomposition 3-branch polyphase decomposition This approach is not canonic unless the subfilters share delays (see Figure 8.8 in your textbook). These structures are useful for computationally efficient realizations of multirate signal processing systems. WPI D. Richard Brown III 20-February-2012 10 / 28

FIR Polyphase Examples Example (2-branch): H(z) = h[0]+h[1] +h[2]z 2 +h[3]z 3 +h[4]z 4 +h[5]z 5 = (h[0]+h[2]z 2 +h[4]z 4 )+ (h[1]+h[3]z 2 +h[5]z 4 ) = E 0 (z 2 )+ E 1 (z 2 ) where E 0 (z) = h[0]+h[2] +h[4]z 2 and E 1 (z) = h[1]+h[3] +h[5]z 2. Same example except 3-branch: H(z) = h[0]+h[1] +h[2]z 2 +h[3]z 3 +h[4]z 4 +h[5]z 5 = (h[0]+h[3]z 3 )+ (h[1]+h[4]z 3 )+z 2 (h[2]+h[5]z 3 ) = E 0 (z 3 )+ E 1 (z 3 )+z 2 E 2 (z 3 ) where E 0 (z) = h[0]+h[3], and E 1 (z) = h[1]+h[4], and E 2 (z) = h[2]+h[5]. WPI D. Richard Brown III 20-February-2012 11 / 28

IIR Direct Form I ECE503: Digital Filter Structures If H(z) = P(z) Q(z), we can implement this directly as a cascade of the feedforward part P(z) and the feedback part Q(z). Note textbook uses p 0,...,p M 1 for numerator coefficients and d 0,...,d N 1 for denominator coefficients. We typically use b 0,...,b M 1 for numerator coefficients and a 0,...,a N 1 for denominator coefficients (consistent with Matlab). Is this structure canonic? WPI D. Richard Brown III 20-February-2012 12 / 28

Changing the Order of the IIR DFI Sections To get equivalent structures, we can perform a transpose or we can reverse the order of the sections (do feedback first, feedforward second): IIR DFI IIR-DFI swapped sections Canonic? Note the delays are no longer storing past inputs and past outputs. What can we say about the contents at pickoff node l with respect to the contents at pickoff node l? WPI D. Richard Brown III 20-February-2012 13 / 28

IIR Direct Form II ECE503: Digital Filter Structures By sharing the delays in our swapped sections structure, we arrive at a structure called IIR Direct Form II (its transpose is also shown below). Canonic? WPI D. Richard Brown III 20-February-2012 14 / 28

Pseudocode Implementation of IIR Direct Form II <read in new input x[n] from ADC> <shift intermediate values down, starting at bottom u[n-m+1] = u[n-m+2] u[n-m+2] = u[n-m+3]... > <compute new intermediate value u[n] = x[n] - d[1]*u[n-1] - d[n]*u[n-2] -... > <compute new output y[n] = p[0]*u[n] + p[1]*u[n-1] + p[2]*u[n-2] +... > <write new ouput y[n] to DAC> WPI D. Richard Brown III 20-February-2012 15 / 28

IIR Cascaded Direct Form II Same idea as before: Factor transfer function and implement as a series/product of smaller cascaded transfer functions. Example: H(z) = p 0 +p 1 +p 2 z 2 +p 3 z 3 1+d 1 +d 2 z 2 +d 3 z ( 3 p0 (1+β 1,1 )( ) 1+β1,2 +β 2,2 z 2 ) = 1+α 1,1 1+α 1,2 +α 2,2 z 2 Both sections are implemented here as DF II. Canonic? WPI D. Richard Brown III 20-February-2012 16 / 28

IIR Cascaded Direct Form II Suppose we have the factorization H(z) = P(z) D(z) = P 1(z)P 2 (z)p 3 (z) D 1 (z)d 2 (z)d 3 (z) Section ordering and pole-zero pairings can affect finite-precision behavior of system. We ll look at this more closely when we cover Chapter 12. WPI D. Richard Brown III 20-February-2012 17 / 28

IIR Direct Form II Second Order Sections When creating IIR filters in Matlab with fdatool this is the default filter structure. Why? Canonic (minimum number of delays/memory) Computationally efficient (minimum number of multiply/accumulates) Robust to coefficient quantization Some Matlab functions for working with DFII-SOS filter structures: tf2sos, sos2tf, zp2sos, sos2zp, and fdatool. WPI D. Richard Brown III 20-February-2012 18 / 28

Each subfilter is DFII. Can be useful for dividing computation across processors/cores. WPI D. Richard Brown III 20-February-2012 19 / 28 IIR Parallel Realization One way to realize IIR filters in parallel is to do a partial fraction expansion. Example: H(z) = 0.44z 1 +0.362z 2 +0.02z 3 1+0.4z 1 +0.18z 2 0.2z = 0.1+ 0.6 3 1 0.4z + 0.5 0.2 1 1+0.8 +0.5z 2

FIR Cascaded Lattice Structures x[n] y[n] δ 0 δ 1 δ 2 δ 3 γ 1 γ 2 γ 3 γ 0 w[n] This approach can realize two FIR transfer functions H(z) = Y(z) X(z) and G(z) = W(z) X(z). Given a lattice structure block diagram, how do we determine H(z) and G(z)? Given a desired FIR H(z) and G(z) (or h[n] and g[n]), how do we determine the lattice coefficients? WPI D. Richard Brown III 20-February-2012 20 / 28

FIR Cascaded Lattice Structures (Lattice TF) H l 1 (z) H l (z) δ l γ l G l 1 (z) G l (z) Analysis of single lattice segment: H l (z) = H l 1 (z)+ δ l G l 1 (z) G l (z) = γ l H l 1 (z)+ G l 1 (z) Since H 0 (z) = δ 0 X(z) and G 0 (z) = γ 0 X(z), this recursion can be applied for l = 1,2,...,N to determine the transfer functions H(z) and G(z) from the lattice coefficients. WPI D. Richard Brown III 20-February-2012 21 / 28

FIR Cascaded Lattice Structures (TF Lattice) To get a recursion for computing lattice coefficients given H(z) and G(z), we can redo our analysis, solving instead for H l 1 (z) and G l 1 (z), to get where K l = 1 1 δ l γ l. H l 1 (z) = K l [H l (z) δ l G l (z)] G l 1 (z) = K l z[g l (z) γ l H l (z)] Suppose, as an example, l = 2 with H l (z) = h 0 +h 1 +h 2 z 2 and G l (z) = g 0 +g 1 +g 2 z 2. Then H 1 (z) = K 2 [ h0 +h 1 +h 2 z 2 δ 2 (g 0 +g 1 +g 2 z 2 ) ] G 1 (z) = K 2 z [ g 0 +g 1 +g 2 z 2 γ 2 (h 0 +h 1 +h 2 z 2 ) ] Note that H 1 (z) and G 1 (z) can only be order 1 transfer functions. Hence we need the z 2 and z +1 terms to vanish, which happens when z 2 term in H 1 (z) vanishes h 2 δ 2 g 2 = 0 δ 2 = h 2 g 2 z +1 term in G 1 (z) vanishes g 0 γ 2 h 0 = 0 γ 2 = g 0 h 0 WPI D. Richard Brown III 20-February-2012 22 / 28

FIR Cascaded Lattice Structures (TF Lattice) Outline of procedure: 1. Set L equal to the number of lattice sections. 2. Set H L (z) = H(z) and G L (z) = G(z). 3. Set l = L. 4. Solve for δ l and γ l. 5. Compute K l = 1 1 δ l γ l. 6. Compute H l 1 (z) and G l 1 (z). Both transfer functions should be order l 1. Note coefficients are affected by K l (you can t just say H l 1 (z) is equal to the first l 1 coefficients of H l (z) or that G l 1 (z) is equal to the first l 1 coefficients of G l (z)). 7. Decrement l. 8. If l 1 go to step 4. 9. The final gains at the input are simply δ 0 = H 0 (z) and γ 0 = G 0 (z) (these are both zero-order transfer functions). WPI D. Richard Brown III 20-February-2012 23 / 28

FIR Cascaded Lattice Structures (TF Lattice) Remarks and extensions: 1. There are some special cases where this recursion breaks down. See your textbook pp. 454-455 for workarounds. 2. The lattice structure is natural for creating complementary filter pairs. For example, if H(z) and G(z) are power complementary transfer functions, then δ l = ( 1) l γ l. 3. There are other FIR lattice structures. For example, you can formulate a single output version with δ 0 = γ 0 = 1 and symmetric lattice coefficients (δ l = γ l ). Similar recursions can be used to determine the lattice coefficients. 4. Lattice structures have nice properties for adaptive filtering (ECE630) and also usually have good robustness to coefficient quantization (Chap 12). WPI D. Richard Brown III 20-February-2012 24 / 28

All-Pole IIR Lattice Structures (1 of 2) x[n] W 3 (z) W 2 (z) W 1 (z) y[n] k 3 k 2 k 1 k 3 k 2 k 1 Analysis of single section: S 3 (z) S 2 (z) S 1 (z) W i (z) = W i+1 (z) k i S i (z) S i+1 (z) = k i W i (z)+ S i (z) We can rearrange this to write [ ] [ Wi+1 (z) 1 ki z = 1 ][ ] Wi (z) S i+1 (z) S i (z) Note X(z) = W 4 (z) and Y(z) = W 1 (z) = S 1 (z). Continued k i WPI D. Richard Brown III 20-February-2012 25 / 28

All-Pole IIR Lattice Structures (2 of 2) x[n] W 3 (z) W 2 (z) W 1 (z) y[n] k 3 k 2 k 1 k 3 k 2 k 1 S 3 (z) S 2 (z) S 1 (z) We can apply the result from the previous slide to write for this example [ ] [ ][ ][ ][ ] X(z) 1 k3 1 k2 1 k1 Y(z) = S 4(z). Y(z) k 3 k 2 Since we only care about the relationship between X(z) and Y(z), we can do a little bit of algebra to write X(z) = ( 1+[k 1(1+k 2)+k 2k 3] +[k 2 +k 1k 3(1+k 2)]z 2 +k 3z 3) Y(z) Hence H(z) = Y (z) X(z) = 1 1+d 1 +d 2 z 2 +d 3 z 3 is an all-pole transfer function. A recursion similar to the FIR case can be found to determine the lattice coefficients from an all-pole transfer function (see Section 8.8.1 of your textbook). WPI D. Richard Brown III 20-February-2012 26 / 28 k 1

To get the lattice coefficients from the TF, you can use the Gray-Markel method (see Section 8.8.2) of your textbook. See also Matlab function tf2latc. WPI D. Richard Brown III 20-February-2012 27 / 28 ECE503: Digital Filter Structures General IIR Lattice Structures x[n] W 3 (z) W 2 (z) W 1 (z) k 3 k 2 k 1 S 4 (z) k 3 k 2 k 1 S 3 (z) S 2 (z) S 1 (z) α 1 α 2 α 3 α 4 y[n] Note Y(z) = α 1 S 4 (z)+α 2 S 3 (z)+α 3 S 2 (z)+α 4 S 1 (z). Similar analysis as before can be applied to determine the TF from the lattice. See also Matlab function latc2tf.

Conclusions 1. This concludes Chapter 8. You are responsible for all of the material in this chapter except Sections 8.7 (Parametrically Tunable Low-Order IIR Digital Filter Pairs) and 8.11 (Tunable High-Order Digital Filter Pairs), even if it wasn t covered in lecture. 2. Please read Chapter 9 before the next lecture and have some questions prepared. 3. The next lecture is on Monday 12-March-2012 at 6pm. 4. The midterm exam is scheduled for Monday 27-Feb-2012 and is based on Chapters 1-7 of your textbook. No homework is due on Monday 27-Feb-2012 or Monday 12-March-2012. WPI D. Richard Brown III 20-February-2012 28 / 28