Introduction to Digital Signal Processing

Similar documents
DIGITAL SIGNAL PROCESSING UNIT I

UNIT 1. SIGNALS AND SYSTEM

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

Binary addition example worked out

of Digital Electronics

Mark Redekopp, All rights reserved. Lecture 1 Slides. Intro Number Systems Logic Functions

From Physics to Logic

What Every Programmer Should Know About Floating-Point Arithmetic DRAFT. Last updated: November 3, Abstract

Test II Michael R. Gustafson II

CMPT 889: Lecture 3 Fundamentals of Digital Audio, Discrete-Time Signals

Digital Systems Roberto Muscedere Images 2013 Pearson Education Inc. 1

The Growth of Functions. A Practical Introduction with as Little Theory as possible

Lecture 6: Time-Dependent Behaviour of Digital Circuits

Chapter 8. Capacitors. Charging a capacitor

What does such a voltage signal look like? Signals are commonly observed and graphed as functions of time:

Digital Electronics Electronics, Devices and Circuits

Chapter 1. Binary Systems 1-1. Outline. ! Introductions. ! Number Base Conversions. ! Binary Arithmetic. ! Binary Codes. ! Binary Elements 1-2

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Digital Logic

DSP Design Lecture 2. Fredrik Edman.

Numbering Systems. Computational Platforms. Scaling and Round-off Noise. Special Purpose. here that is dedicated architecture

Designing Information Devices and Systems I Fall 2018 Lecture Notes Note Introduction: Op-amps in Negative Feedback

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

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

Microelectronics Part 1: Main CMOS circuits design rules

Sistemas de Aquisição de Dados. Mestrado Integrado em Eng. Física Tecnológica 2015/16 Aula 6-26 de Outubro

Unit II Chapter 4:- Digital Logic Contents 4.1 Introduction... 4


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

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

Modern Digital Communication Techniques Prof. Suvra Sekhar Das G. S. Sanyal School of Telecommunication Indian Institute of Technology, Kharagpur

CSE370: Introduction to Digital Design

Embedded MCSoC Architecture and Period-Peak Detection (PPD) Algorithm for ECG/EKG Processing

Discrete-Time Systems

EE100Su08 Lecture #9 (July 16 th 2008)

Binary addition (1-bit) P Q Y = P + Q Comments Carry = Carry = Carry = Carry = 1 P Q

Topics. Dynamic CMOS Sequential Design Memory and Control. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

CMOS Inverter. Performance Scaling

2.161 Signal Processing: Continuous and Discrete Fall 2008

Module 1: Signals & System

Digital Electronics Part II - Circuits

The LM741C Integrated Circuit As A Differential Amplifier Building The Electronic Thermometer

Latches. October 13, 2003 Latches 1

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

Oversampling Converters

Intro To Digital Logic

PSEUDORANDOM BINARY SEQUENCES GENERATOR

BOOLEAN ALGEBRA INTRODUCTION SUBSETS

ww.padasalai.net

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Chapter 2 Boolean Algebra and Logic Gates

f = 1 T 6 a.c. (Alternating Current) Circuits Most signals of interest in electronics are periodic : they repeat regularly as a function of time.

Every time has a value associated with it, not just some times. A variable can take on any value within a range

ELECTRONICS IA 2017 SCHEME

Figure 1.1: Schematic symbols of an N-transistor and P-transistor

Digital Filters Ying Sun

Lecture 19 IIR Filters

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

on candidate s understanding. 7) For programming language papers, credit may be given to any other program based on equivalent concept.

Lecture 7: Transistors and Amplifiers

Designing Information Devices and Systems I Summer 2017 D. Aranki, F. Maksimovic, V. Swamy Homework 5

University of Maryland Department of Physics. Spring 2009 Final Exam 20. May (175 points) Post grades on web? (Initial, please) Yes No

A small analog memory based on ferroelectric hysteresis

ENG2410 Digital Design Introduction to Digital Systems. Fall 2017 S. Areibi School of Engineering University of Guelph

Number Systems III MA1S1. Tristan McLoughlin. December 4, 2013

Circuits for Analog System Design Prof. Gunashekaran M K Center for Electronics Design and Technology Indian Institute of Science, Bangalore

SUMMER 18 EXAMINATION Subject Name: Principles of Digital Techniques Model Answer Subject Code:

Energy Storage Elements: Capacitors and Inductors

Digital Systems Overview. Unit 1 Numbering Systems. Why Digital Systems? Levels of Design Abstraction. Dissecting Decimal Numbers

Resonant Matching Networks

UNIT - III PART A. 2. Mention any two techniques for digitizing the transfer function of an analog filter?

INSPIRE GK12 Lesson Plan

Chapt ha e pt r e r 9 Capacitors

Frequency-domain representation of discrete-time signals

Designing Information Devices and Systems I Spring 2018 Lecture Notes Note 17

Methods for Synthesizing Very High Q Parametrically Well Behaved Two Pole Filters

An Introduction to Wavelets

Accurate Fourier Analysis for Circuit Simulators

Rational Expressions

Memory, Latches, & Registers

Digital Circuits. 1. Inputs & Outputs are quantized at two levels. 2. Binary arithmetic, only digits are 0 & 1. Position indicates power of 2.

Roundoff Noise in Digital Feedback Control Systems

Number Representation and Waveform Quantization

CPE100: Digital Logic Design I

University Question Paper Solution

Slide Set 6. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Chapter 2: Boolean Algebra and Logic Gates

Lecture PowerPoints. Chapter 17 Physics: Principles with Applications, 7 th edition Giancoli

An Ultra Low Resistance Continuity Checker

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) State any two Boolean laws. (Any 2 laws 1 mark each)

Lecture 2. Introduction to Systems (Lathi )

Chapter 1 :: From Zero to One

S.Y. Diploma : Sem. III [CO/CM/IF/CD/CW] Digital Techniques s complement 2 s complement 1 s complement

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

ECE321 Electronics I

School of Computer Science and Electrical Engineering 28/05/01. Digital Circuits. Lecture 14. ENG1030 Electrical Physics and Electronics

Summary Notes ALTERNATING CURRENT AND VOLTAGE

Lecture 4: Feedback and Op-Amps

PHYS225 Lecture 9. Electronic Circuits

Ch. 7: Z-transform Reading

Transcription:

Introduction to Digital Signal Processing What is DSP? DSP, or Digital Signal Processing, as the term suggests, is the processing of signals by digital means. A signal in this context can mean a number of different things. Historically the origins of signal processing are in electrical engineering, and a signal here means an electrical signal carried by a wire or telephone line, or perhaps by a radio wave. More generally, however, a signal is a stream of information representing anything from stock prices to data from a remote-sensing satellite. Analog and digital signals In many cases, the signal is initially in the form of an analog electrical voltage or current, produced for example by a microphone or some other type of transducer. In some situations the data is already in digital form - such as the output from the readout system of a CD (compact disc) player. An analog signal must be converted into digital (i.e. numerical) form before DSP techniques can be applied. An analog electrical voltage signal, for example, can be digitised using an integrated electronic circuit (IC) device called an analog-to-digital converter or ADC. This generates a digital output in the form of a binary number whose value represents the electrical voltage input to the device. Signal processing Signals commonly need to be processed in a variety of ways. For example, the output signal from a transducer may well be contaminated with unwanted electrical "noise". The electrodes attached to a patient's chest when an ECG is taken measure tiny electrical voltage changes due to the activity of the heart and other muscles. The signal is often strongly affected by "mains pickup" due to electrical interference from the mains supply. Processing the signal using a filter circuit can remove or at least reduce the unwanted part of the signal. Increasingly nowadays the filtering of signals to improve signal quality or to extract important information is done by DSP techniques rather than by analog electronics. Development of DSP The development of digital signal processing dates from the 1960's with the use of mainframe digital computers for number-crunching applications such as the Fast Fourier Transform (FFT), which allows the frequency spectrum of a signal to be computed rapidly. These techniques were not widely used at that time, because suitable computing equipment was available only in universities and other scientific research institutions. 1

Digital Signal Processors (DSPs) The introduction of the microprocessor in the late 1970's and early 1980's made it possible for DSP techniques to be used in a much wider range of applications. However, general-purpose microprocessors such as the Intel x86 family are not ideally suited to the numerically-intensive requirements of DSP, and during the 1980's the increasing importance of DSP led several major electronics manufacturers (such as Texas Instruments, Analog Devices and Motorola) to develop Digital Signal Processor chips - specialised microprocessors with architectures designed specifically for the types of operations required in digital signal processing. (Note that the acronym DSP can variously mean Digital Signal Processing, the term used for a wide range of techniques for processing signals digitally, or Digital Signal Processor, a specialised type of microprocessor chip). Like a general-purpose microprocessor, a DSP is a programmable device, with its own native instruction code. DSP chips are capable of carrying out millions of floating point operations per second, and like their better-known generalpurpose cousins, faster and more powerful versions are continually being introduced. Applications of DSP DSP technology is nowadays commonplace in such devices as mobile phones, multimedia computers, video recorders, CD players, hard disc drive controllers and modems, and will soon replace analog circuitry in TV sets and telephones. An important application of DSP is in signal compression and decompression. In CD systems, for example, the music recorded on the CD is in a compressed form (to increase storage capacity) and must be decompressed for the recorded signal to be reproduced. Signal compression is used in digital cellular phones to allow a greater number of calls to be handled simultaneously within each local "cell". DSP signal compression technology allows people not only to talk to one another by telephone but also to see one another on the screens of their PCs, using small video cameras mounted on the computer monitors, with only a conventional telephone line linking them together. Although the mathematical theory underlying DSP techniques such as Fast Fourier and Hilbert Transforms, digital filter design and signal compression can be fairly complex, the numerical operations required to implement these techniques are in fact very simple, consisting mainly of operations that could be done on a cheap four-function calculator. The architecture of a DSP chip is designed to carry out such operations incredibly fast, processing up to tens of millions of samples per second, to provide real-time performance: that is, the ability to process a signal "live" as it is sampled and then output the processed signal, for example to a loudspeaker or video display. All of the practical examples of DSP applications mentioned earlier, such as hard disc drives and mobile phones, demand real-time operation. The major electronics manufacturers have invested heavily in DSP technology. Because they now find application in mass-market products, DSP chips account for a substantial proportion of the world market for electronic devices. Sales amount to billions of dollars annually, and seem likely to continue to increase rapidly. 2

Analog and digital filters In signal processing, the function of a filter is to remove unwanted parts of the signal, such as random noise, or to extract useful parts of the signal, such as the components lying within a certain frequency range. The following block diagram illustrates the basic idea. There are two main kinds of filter, analog and digital. They are quite different in their physical makeup and in how they work. An analog filter uses analog electronic circuits made up from components such as resistors, capacitors and op amps to produce the required filtering effect. Such filter circuits are widely used in such applications as noise reduction, video signal enhancement, graphic equalisers in hi-fi systems, and many other areas. There are well-established standard techniques for designing an analog filter circuit for a given requirement. At all stages, the signal being filtered is an electrical voltage or current which is the direct analogue of the physical quantity (e.g. a sound or video signal or transducer output) involved. A digital filter uses a digital processor to perform numerical calculations on sampled values of the signal. The processor may be a general-purpose computer such as a PC, or a specialised DSP (Digital Signal Processor) chip. The analog input signal must first be sampled and digitised using an ADC (analog to digital converter). The resulting binary numbers, representing successive sampled values of the input signal, are transferred to the processor, which carries out numerical calculations on them. These calculations typically involve multiplying the input values by constants and adding the products together. If necessary, the results of these calculations, which now represent sampled values of the filtered signal, are output through a DAC (digital to analog converter) to convert the signal back to analog form. Note that in a digital filter, the signal is represented by a sequence of numbers, rather than a voltage or current. 3

The following diagram shows the basic setup of such a system. Advantages of digital filters The following list gives some of the main advantages of digital over analog filters. 1. A digital filter is programmable, i.e. its operation is determined by a program stored in the processor's memory. This means the digital filter can easily be changed without affecting the circuitry (hardware). An analog filter can only be changed by redesigning the filter circuit. 2. Digital filters are easily designed, tested and implemented on a general-purpose computer or workstation. 3. The characteristics of analog filter circuits (particularly those containing active components) are subject to drift and are dependent on temperature. Digital filters do not suffer from these problems, and so are extremely stable with respect both to time and temperature. 4. Unlike their analog counterparts, digital filters can handle low frequency signals accurately. As the speed of DSP technology continues to increase, digital filters are being applied to high frequency signals in the RF (radio frequency) domain, which in the past was the exclusive preserve of analog technology. 5. Digital filters are very much more versatile in their ability to process signals in a variety of ways; this includes the ability of some types of digital filter to adapt to changes in the characteristics of the signal. Fast DSP processors can handle complex combinations of filters in parallel or cascade (series), making the hardware requirements relatively simple and compact in comparison with the equivalent analog circuitry. 4

Operation of digital filters In the next few sections, we will develop the basic theory of the operation of digital filters. This is essential to an understanding of how digital filters are designed and used. First of all, we need to introduce a basic notation. Suppose the "raw" signal which is to be digitally filtered is in the form of a voltage waveform described by the function where t is time. V = x (t) This signal is sampled at time intervals h (the sampling interval). The sampled value at time t = ih is x i = x (ih) Thus the digital values transferred from the ADC to the processor can be represented by the sequence x 0, x 1, x 2, x 3,... corresponding to the values of the signal waveform at times t = 0, h, 2h, 3h,... (where t = 0 is the instant at which sampling begins). At time t = nh (where n is some positive integer), the values available to the processor, stored in memory, are x 0, x 1, x 2, x 3,..., x n Note that the sampled values x n+1, x n+2 etc. are not available as they haven't happened yet! The digital output from the processor to the DAC consists of the sequence of values y 0, y 1, y 2, y 3,..., y n In general, the value of y n is calculated from the values x 0, x 1, x 2, x 3,..., x n. The way in which the y's are calculated from the x's determines the filtering action of the digital filter. In the next section, we will look at some examples of simple digital filters. 5

Examples of simple digital filters The following examples illustrate the essential features of digital filters. 1. UNITY GAIN FILTER: y n = x n Each output value y n is exactly the same as the corresponding input value x n : y 0 = x 0 y 1 = x 1 y 2 = x 2... etc This is a trivial case in which the filter has no effect on the signal. 2. SIMPLE GAIN FILTER: y n = Kx n (K = constant) This simply applies a gain factor K to each input value: y 0 = Kx 0 y 1 = Kx 1 y 2 = Kx 2... etc K > 1 makes the filter an amplifier, while 0 < K < 1 makes it an attenuator. K < 0 corresponds to an inverting amplifier. Example (1) above is the special case where K = 1. 3. PURE DELAY FILTER: y n = x n-1 The output value at time t = nh is simply the input at time t = (n-1)h, i.e. the signal is delayed by time h: y 0 = x -1 y 1 = x 0 y 2 = x 1 y 3 = x 2... etc Note that as sampling is assumed to commence at t = 0, the input value x -1 at t = - h is undefined. It is usual to take this (and any other values of x prior to t = 0) as zero. 4. TWO-TERM DIFFERENCE FILTER: y n = x n - x n-1 The output value at t = nh is equal to the difference between the current input x n and the previous input x n-1 : 6

y 0 = x 0 - x -1 y 1 = x 1 - x 0 y 2 = x 2 - x 1 y 3 = x 3 - x 2... etc i.e. the output is the change in the input over the most recent sampling interval h. The effect of this filter is similar to that of an analog differentiator circuit. 5. TWO-TERM AVERAGE FILTER: y n = (x n + x n-1 ) / 2 The output is the average (arithmetic mean) of the current and previous input: y 0 = (x 0 + x -1 ) / 2 y 1 = (x 1 + x 0 ) / 2 y 2 = (x 2 + x 1 ) / 2 y 3 = (x 3 + x 2 ) / 2... etc This is a simple type of low pass filter as it tends to smooth out high-frequency variations in a signal. (We will look at more effective low pass filter designs later). 6. THREE-TERM AVERAGE FILTER: y n = (x n + x n-1 + x n-2 ) / 3 This is similar to the previous example, with the average being taken of the current and two previous inputs: y 0 = (x 0 + x -1 + x -2 ) / 3 y 1 = (x 1 + x 0 + x -1 ) / 3 y 2 = (x 2 + x 1 + x 0 ) / 3 y 3 = (x 3 + x 2 + x 1 ) / 3... etc As before, x -1 and x -2 are taken to be zero. 7. CENTRAL DIFFERENCE FILTER: y n = (x n - x n-2 ) / 2 This is similar in its effect to example (4). The output is equal to half the change in the input signal over the previous two sampling intervals: y 0 = (x 0 - x -2 ) / 2 y 1 = (x 1 - x -1 ) / 2 y 2 = (x 2 - x 0 ) / 2 y 3 = (x 3 - x 1 ) / 2... etc 7

Order of a digital filter The order of a digital filter can be defined as the number of previous inputs (stored in the processor's memory) used to calculate the current output. This is illustrated by the filters given as examples in the previous section. Example (1): y n = x n This is a zero order filter, since the current output y n depends only on the current input x n and not on any previous inputs. Example (2): y n = Kx n The order of this filter is again zero, since no previous outputs are required to give the current output value. Example (3): y n = x n-1 This is a first order filter, as one previous input (x n-1 ) is required to calculate y n. (Note that this filter is classed as first-order because it uses one previous input, even though the current input is not used). Example (4): y n = x n - x n-1 This is again a first order filter, since one previous input value is required to give the current output. Example (5): y n = (x n + x n-1 ) / 2 The order of this filter is again equal to 1 since it uses just one previous input value. Example (6): y n = (x n + x n-1 + x n-2 ) / 3 To compute the current output y n, two previous inputs (x n-1 and x n-2 ) are needed; this is therefore a second-order filter. Example (7): y n = (x n - x n-2 ) / 2 The filter order is again 2, since the processor must store two previous inputs in order to compute the current output. This is unaffected by the absence of an explicit x n-1 term in the filter expression. The order of a digital filter may be any positive integer. A zero-order filter (such as those in examples (1) and (2) above) is possible, but somewhat trivial, since it does not really filter the input signal in the accepted sense. 8

Digital filter coefficients All of the digital filter examples given in the previous section can be written in the following general forms: Zero order: y n = a 0 x n First order: y n = a 0 x n + a 1 x n-1 Second order: y n = a 0 x n + a 1 x n-1 + a 2 x n-2 Similar expressions can be developed for filters of any order. The constants a 0, a 1, a 2,... appearing in these expressions are called the filter coefficients. The values of these coefficients determine the characteristics of a particular filter. The table opposite gives the values of the coefficients of each of the filters given as examples in the previous section. Example Order a 0 a 1 a 2 1 0 1 - - 2 0 K - - 3 1 0 1-4 1 1-1 - 5 1 6 2 7 2 1 / 2 1 / 2-1 / 3 1 / 3 1 / 3 1 / 2 0-1 / 2 Self-assessment question SAQ 1 For each of the following filters, state the order of the filter and identify the values of its coefficients: (a) y n = 2x n - x n-1 (b) y n = x n-2 (c) y n = x n - 2x n-1 + 2x n-2 + x n-3 9

Recursive and non-recursive filters For all the examples of digital filters discussed so far, the current output (y n ) is calculated solely from the current and previous input values (x n, x n-1, x n-2,...). This type of filter is said to be non-recursive. A recursive filter is one which in addition to input values also uses previous output values. These, like the previous input values, are stored in the processor's memory. The word recursive literally means "running back", and refers to the fact that previouslycalculated output values go back into the calculation of the latest output. The expression for a recursive filter therefore contains not only terms involving the input values (x n, x n-1, x n-2,...) but also terms in y n-1, y n-2,... From this explanation, it might seem as though recursive filters require more calculations to be performed, since there are previous output terms in the filter expression as well as input terms. In fact, the reverse is usually the case. To achieve a given frequency response characteristic using a recursive filter generally requires a much lower order filter, and therefore fewer terms to be evaluated by the processor, than the equivalent non-recursive filter. This will be demonstrated later. Note: FIR and IIR filters Some people prefer an alternative terminology in which a nonrecursive filter is known as an FIR (or Finite Impulse Response) filter, and a recursive filter as an IIR (or Infinite Impulse Response) filter. These terms refer to the differing "impulse responses" of the two types of filter The impulse response of a digital filter is the output sequence from the filter when a unit impulse is applied at its input. (A unit impulse is a very simple input sequence consisting of a single value of 1 at time t = 0, followed by zeros at all subsequent sampling instants). An FIR filter is one whose impulse response is of finite duration. An IIR filter is one whose impulse response (theoretically) continues for ever, because the recursive (previous output) terms feed back energy into the filter input and keep it going. The term IIR is not very accurate, because the actual impulse responses of nearly all IIR filters reduce virtually to zero in a finite time. Nevertheless, these two terms are widely used. 10

Example of a recursive filter A simple example of a recursive digital filter is given by y n = x n + y n-1 In other words, this filter determines the current output (y n ) by adding the current input (x n ) to the previous output (y n-1 ). Thus: y 0 = x 0 + y -1 y 1 = x 1 + y 0 y 2 = x 2 + y 1 y 3 = x 3 + y 2... etc Note that y -1 (like x -1 ) is undefined, and is usually taken to be zero. Let us consider the effect of this filter in more detail. If in each of the above expressions we substitute for y n-1 the value given by the previous expression, we get the following: y 0 = x 0 + y -1 = x 0 y 1 = x 1 + y 0 = x 1 + x 0 y 2 = x 2 + y 1 = x 2 + x 1 + x 0 y 3 = x 3 + y 2 = x 3 + x 2 + x 1 + x 0... etc Thus we can see that y n, the output at t = nh, is equal to the sum of the current input x n and all the previous inputs. This filter therefore sums or integrates the input values, and so has a similar effect to an analog integrator circuit. This example demonstrates an important and useful feature of recursive filters: the economy with which the output values are calculated, as compared with the equivalent non-recursive filter. In this example, each output is determined simply by adding two numbers together. For instance, to calculate the output at time t = 10h, the recursive filter uses the expression y 10 = x 10 + y 9 To achieve the same effect with a non-recursive filter (i.e. without using previous output values stored in memory) would entail using the expression y 10 = x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x 1 + x 0 This would necessitate many more addition operations, as well as the storage of many more values in memory. 11

Order of a recursive (IIR) digital filter The order of a digital filter was defined earlier as the number of previous inputs which have to be stored in order to generate a given output. This definition is appropriate for non-recursive (FIR) filters, which use only the current and previous inputs to compute the current output. In the case of recursive filters, the definition can be extended as follows: The order of a recursive filter is the largest number of previous input or output values required to compute the current output. This definition can be regarded as being quite general: it applies both to FIR and IIR filters. For example, the recursive filter discussed above, given by the expression y n = x n + y n-1 is classed as being of first order, because it uses one previous output value (y n-1 ), even though no previous inputs are required. In practice, recursive filters usually require the same number of previous inputs and outputs. Thus, a first-order recursive filter generally requires one previous input (x n-1 ) and one previous output (y n-1 ), while a second-order recursive filter makes use of two previous inputs (x n-1 and x n-2 ) and two previous outputs (y n-1 and y n-2 ); and so on, for higher orders. Note that a recursive (IIR) filter must, by definition, be of at least first order; a zero-order recursive filter is an impossibility. (Why?) Self-assessment question SAQ 2 State the order of each of the following recursive filters: (a) y n = 2x n - x n-1 + y n-1 (b) y n = x n-1 - x n-3-2y n-1 (c) y n = x n + 2x n-1 + x n-2-2y n-1 + y n-2 12

Coefficients of recursive (IIR) digital filters From the above discussion, we can see that a recursive filter is basically like a nonrecursive filter, with the addition of extra terms involving previous outputs (y n-1, y n-2 etc.). A first-order recursive filter can be written in the general form y n = (a 0 x n + a 1 x n-1 - b 1 y n-1 ) / b 0 Note the minus sign in front of the "recursive" term b 1 y n-1, and the factor (1/b 0 ) applied to all the coefficients. The reason for expressing the filter in this way is that it allows us to rewrite the expression in the following symmetrical form: b 0 y n + b 1 y n-1 = a 0 x n + a 1 x n-1 In the case of a second-order filter, the general form is y n = (a 0 x n + a 1 x n-1 + a 2 x n-2 - b 1 y n-1 - b 2 y n-2 ) / b 0 An alternative "symmetrical" form of this expression is b 0 y n + b 1 y n-1 + b 2 y n-2 = a 0 x n + a 1 x n-1 + a 2 x n-2 Note the convention that the coefficients of the inputs (the x's) are denoted by a's, while the coefficients of the outputs (the y's) are denoted by b's. Self-assessment question SAQ 3 Identify the values of the filter coefficients for the first-order recursive filter discussed earlier. y n = x n + y n-1 Repeat this for each of the filters in SAQ 2. 13

The transfer function of a digital filter In the last section, we used two different ways of expressing the action of a digital filter: a form giving the output y n directly, and a "symmetrical" form with all the output terms (y's) on one side and all the input terms (x's) on the other. In this section, we introduce what is called the transfer function of a digital filter. This is obtained from the symmetrical form of the filter expression, and it allows us to describe a filter by means of a convenient, compact expression. Tthe transfer function of a filter can be used to determine many of the characteristics of the filter, such as its frequency response. The unit delay operator First of all, we must introduce the unit delay operator, denoted by the symbol z -1 When applied to a sequence of digital values, this operator gives the previous value in the sequence. It therefore in effect introduces a delay of one sampling interval. Applying the operator z -1 to an input value (say x n ) gives the previous input (x n-1 ): Suppose we have an input sequence Then x 0 = 5 x 1 = -2 x 2 = 0 x 3 = 7 x 4 = 10 z -1 x 1 = x 0 = 5 z -1 x 2 = x 1 = -2 z -1 x 3 = x 2 = 0 z -1 x n = x n-1 and so on. Note that z -1 x 0 would be x -1 which is unknown (and usually taken to be zero, as we have already seen). Similarly, applying the z -1 operator to an output gives the previous output: z -1 y n = y n-1 14

Applying the delay operator z -1 twice produces a delay of two sampling intervals: z -1 (z -1 x n ) = z -1 x n-1 = x n-2 We adopt the (fairly logical) convention z -1 z -1 = z -2 i.e. the operator z -2 represents a delay of two sampling intervals: z -2 x n = x n-2 This notation can be extended to delays of three or more sampling intervals, the appropriate power of z -1 being used. Let us now use this notation in the description of a recursive digital filter. Consider, for example, a general second-order filter, given in its symmetrical form by the expression b 0 y n + b 1 y n-1 + b 2 y n-2 = a 0 x n + a 1 x n-1 + a 2 x n-2 We will make use of the following identities: y n-1 = z -1 y n y n-2 = z -2 y n x n-1 = z -1 x n x n-2 = z -2 x n Substituting these expressions into the digital filter gives (b 0 + b 1 z -1 + b 2 z -2 ) y n = (a 0 + a 1 z -1 + a 2 z -2 ) x n Rearranging this to give a direct relationship between the output and input for the filter, we get y n / x n = (a 0 + a 1 z -1 + a 2 z -2 ) / (b 0 + b 1 z -1 + b 2 z -2 ) This is the general form of the transfer function for a second-order recursive (IIR) filter. For a first-order filter, the terms in z -2 are omitted. For filters of order higher than 2, further terms involving higher powers ofz -1 are added to both the numerator and denominator of the transfer function. 15

A non-recursive (FIR) filter has a simpler transfer function which does not contain any denominator terms. The coefficient b 0 is regarded as being equal to 1, and all the other b coefficients are zero. The transfer function of a second-order FIR filter can therefore be expressed in the general form Transfer function examples y n / x n = a 0 + a 1 z -1 + a 2 z -2 1. The three-term average filter, defined by the expression y n = 1 / 3 (x n + x n-1 + x n-2 ) can be written using the z -1 operator notation as y n = 1 / 3 (x n + z -1 x n + z -2 x n ) = 1 / 3 (1 + z -1 + z -2 ) x n The transfer function for the filter is therefore y n / x n = 1 / 3 (1 + z -1 + z -2 ) 2. The general form of the transfer function for a first-order recursive filter can be written y n / x n = (a 0 + a 1 z -1 ) / (b 0 + b 1 z -1 ) Consider, for example, the simple first-order recursive filter y n = x n + y n-1 which we discussed earlier. To derive the transfer function for this filter, we rewrite the filter expression using the z -1 operator: (1 - z -1 ) y n = x n Rearranging gives the filter transfer function as y n / x n = 1 / (1 - z -1 ) 3. As a further example, consider the second-order IIR filter y n = x n + 2x n-1 + x n-2-2y n-1 + y n-2 16

Collecting output terms on the left and input terms on the right to give the "symmetrical" form of the filter expression, we get y n + 2y n-1 - y n-2 = x n + 2x n-1 + x n-2 Expressing this in terms of the z -1 operator gives and so the transfer function is (1 + 2z -1 - z -2 ) y n = (1 + 2z -1 + z -2 ) x n y n / x n = (1 + 2z -1 + z -2 ) / (1 + 2z -1 - z -2 ) Self-assessment question SAQ 4 Derive the transfer functions of each of the filters in SAQ 2. 17

Answers to SAQ 1 1. Order = 1: a 0 = 2, a 1 = -1 2. Order = 2: a 0 = 0, a 1 = 0, a 2 = 1 3. Order = 3: a 0 = 1, a 1 = -2, a 2 = 2, a 3 = 1 Answers to SAQ 2 a. Order = 1 b. Order = 3 c. Order = 2 Answers to SAQ 3 a 0 = 1 a 1 = 0 b 0 = 1 b 1 = -1 For filters listed in SAQ 2: a. a 0 = 2 a 1 = -1 b 0 = 1 b 1 = -1 c. a 0 = 0 a 1 = 1 a 2 = 0 a 3 = -1 b 0 = 1 b 1 = 2 b 2 = 0 b 3 = 0 e. a 0 = 1 a 1 = 2 a 2 = 1 b 0 = 1 b 1 = 2 b 2 = -1 Answers to SAQ 4 a. y n / x n = (2 - z -1 ) / (1 - z -1 ) b. y n / x n = (z -1 - z -3 ) / (1 + 2z -1 ) c. y n / x n = (1 + 2z -1 + z -2 ) / (1 + 2z -1 - z -2 ) 18