1.1% Lu. . .. .. V V. . . .. w”. ,1. . u . . . . . . . .. i. vfivfiii V . . . . . . . . . .. . . . V .. . . v . . .. . . . V , film,” "an? ”41m”. .6». ... .. , , 4 . .. _.... a...» . ._ x .. .V a . .V . . . . I, , 1.] : 1 p ._,.._VT,..1. .Bv . . . . . . , . . . . . a .. .. . . .V .. . , . A I 5% V H V)» n A f «AN. {Gamma 4V: _._ .. may . . r Ffihvr 5: rl. 2.1'11 .- 10. .11..v!.u\..0v 1r1flfvuVH .. 119.111, .. .. I: 1.41 V . “flu. .. o :1? 3 think! . .1. 11111.93? 11 . .... n‘nvlffi 4911; 4 1.1.0.1.: 11.53 .r 4 . . . “1.1g . {gravh v 41141.» HI'.‘-t . - Ir. — A o i”; I v 1 o d . . 4 . :F tii 14.4 . a. 1.1:. . . 1 in .0: ugn «fig 9 [HIESTS 8300 11111111111111111111111111111111111111111111111111111111111 3129 0183 This is to certify that the thesis entitled INTRODUCTORY BIOMEDICAL DIGITAL SIGNAL PROCESSING: A SURVEY AND TEXT OUTLINE presented by Dale L. Grover has been accepted towards fulfillment of the requirements for Masters degreein Electrical Eng 0/W {8 Kill/(XM- L K) Major professor Date 17: ”Vt/tuna ‘13 MS U is an Affirmative Action/Equal Opportunity Institution LIERARY Michigan State University PLACE IN RETURN BOX to remove this checkout from your record. To AVOID FINES return on or before date due. MAY BE RECALLED with earlier due date if requested. DATE DUE DATE DUE DATE DUE ma cICIRCIDuoDuapes-nu INTRODUCTORY BIOMEDICAL DIGITAL SIGNAL PROCESSING: A SURVEY AND TEXT OUTLINE By Dale L. Grover A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Department of Electrical and Computer Engineering 1999 ABSTRACT INTRODUCTORY BIOMEDICAL DIGITAL SIGNAL PROCESSING: A SURVEY AND TEXT OUTLINE By Dale L. Grover Digital signal processing (DSP) is a vital tool in biomedical engineering. In contrast to most electrical engineering students, undergraduate students of biomedical engineering learn DSP in diverse contexts, as revealed in a brief survey of biomedical engineering classes. Students also come to these classes with diverse backgrounds that often do not include linear signals and systems and other traditional DSP prerequisites. In addition to context and student background, the content of biomedical DSP courses vary from a tradi- tional DSP course. This thesis argues that a course can present practical fundamental DSP concepts to biomedical engineering students without requiring traditional prerequisites, and in a manner that addresses some of the unique aspects of biomedical DSP. To illustrate one approach, an outline for a text is presented that might be helpful in accomplishing this goaL n—tr—in—ov—s #WNfl NH hwww PPPPPPP www PPPPN GUI-#0010.— TABLE OF CONTENTS LIST OF TABLES ............................................ iv LIST OF FIGURES ........................................... v INTRODUCTION ............................................ 1 The Importance of DSP in Biomedical Engineering .................. 1 What Do Students of Biomedical Engineering Need to Know About DSP? 1 An Earlier Approach to DSP with a Similar Audience ................ 2 Thesis ...................................................... 3 Overview of Biomedical DSP Courses ............................. 3 Purpose of Survey ............................................. 3 Method ..................................................... 3 Survey Results ............................................... 4 Conclusions About DSP in Current BME Courses ................... 17 DSP for "Non-BE" Biomedical Engineering Students ................. 17 Biomedical DSP vs. "Traditional" DSP ............................ 17 Useful Pedagogical Themes ..................................... 20 Outline for a Proposed Text ..................................... 23 Audience .................................................... 23 Goals and Objectives .......................................... 24 Approach .................................................... 25 Realization .................................................. 28 Topics Not Covered But of Interest ............................... 36 Comparison with Grover & Deller ................................ 37 SUMMARY AND CONCLUSIONS .............................. 39 APPENDICES ............................................... 40 APPENDIX A: OUTLINE FOR A TEXT .......................... 41 APPENDIX B: EXAMPLE EXERCISES .......................... 56 BIBLIOGRAPHY ............................................. 69 iii LIST OF TABLES Table 1 Summary of Courses ................................... 4 Table 2 Course Descriptions .................................... 9 Table 3 Exercise 8 ............................................ 64 Table 4 Exercise 9 ............................................ 65 Table 5 Exercise 10 ........................................... 66 Table 6 Exercise 15 ........................................... 67 LIST OF FIGURES Figure 1 Exercise 1, 2 cycles of a cosine wave ....................... 56 Figure 2 Exercise 1, signals a) through d) .......................... 59 Figure 3 Exercise 1, signals e) through h) .......................... 60 Figure 4 Exercise 2, PET of a square wave ......................... 61 Figure 5 Exercise 6, original signal ............................... 62 Figure 6 Exercise 6, signal with 60 Hz noise ........................ 63 Figure 7 Exercise 6, filtered and original signals ..................... 63 INTRODUCTION 1.1 The Importance of DSP in Biomedical Engineering Digital Signal Processing (DSP) is a set of techniques for processing signals using mathematical algorithms implemented with digital hardware. Combined with analog-to- digital and digital-to-analog converters, these techniques allow a wide variety of real- world (analog) signals to be processed in ways that are not possible using analog electron- ics. DSP techniques include operations such as filtering, correlation, and transformation between time and frequency domains. DSP is an increasingly critical component of modern biomedical engineering (BME)—a large part of BME simply would not exist without these techniques. For exam- ple, computer-based restoration, enhancement, coding, and detection in medical imaging would not be possible without DSP. In other cases, DSP provides significant advantages over older technologies for processing biomedical signals; the ECG predates widespread DSP, but is now processed using techniques that would not have been practical prior to widespread availability of DSP hardware. 1.2 What Do Students of Biomedical Engineering Need to Know About DSP? The practice of BME involves topics as varied as thermodynamics, chemistry, mechanical engineering, robotics, material science, and electrical engineering (e.g., con- trol, signal processing, neural networks). Many biomedical engineers are not directly con- cerned with signal processing theory—in these cases, DSP may be no more than a tool. For others, it may be sufficient to be as acquainted with DSP techniques as an embedded systems programmer is with thermodynamics—a familiarity is desirable and the basic concepts are about all that will fit into the curriculum. At the other extreme, biomedical engineers who implement DSP need a deep understanding on par with signal processing engineers from any specialty. How well students from BME programs are prepared for studying DSP is another issue. A number of subjects come together in the study of DSP, including: 0 Signals: Linear systems and signals, control theory 0 Mathematics: Algebra, complex numbers, trigonometry, calculus 0 Computer Science: Programming 0 Electronics: Circuit analysis, microprocessor programming, architecture. These subjects are largely familiar to any undergraduate electrical engineering (EE) student, but some elements, particularly in the signals and computer architecture areas, are less likely to be treated in undergraduate curricula, for example, in mechanical or chemical engineering—both possible areas of emphasis within BME. 1.3 An Earlier Approach to DSP with 3 Similar Audience This thesis was motivated in part by the desire to extend the experience and insights from a recently-completed writing project to the field of BME DSP. Digital Signal Processing and the Microcontroller [7] was co—written by the author of this thesis for embedded systems programmers who require basic DSP skills, but who typically do not have an EE background. The starting point for this project was the hypothesis that the practical emphasis and limited prerequisites of [7] would parallel those of many BME students, and so the content and approach, with modification, would be useful in a BME context. The relevant characteristics of the intended audience of [7] and those of most BME students are not identical in type or degree; for example in the realm of background knowledge, embedded systems programmers typically have an excellent knowledge of programming and micro- processor architecture, which is not generally true of BME students. However, since the majority of [7] is about basic DSP topics rather than implementation-specific issues, it was plausible that most of the content (and often, the approaches taken in discussing this con- tent) could be applied to creating a text for BME DSP. Chapter 4 will discuss the differ- ences between [7] and the outline of a BME DSP text presented in this paper. 1.4 Thesis An understanding of basic DSP techniques is important to many, if not most, BME students, not all of whom have a sufficient background to take a "traditional," EE-based DSP course. This paper makes the case that a course/text can present practical fundamen- tal DSP concepts to BME students without requiring the conventional prerequisites of an EE-based DSP course. First, a national review of selected BME courses that involve DSP will provide a context. Next, based on this review and discussions with the instructors of these courses, a particular audience for, and characteristics of, a course will be outlined. Finally, this information, along with material and approaches from [7], will be used as the basis for an outline and supporting material for a text addressing the needs of the non-EE BME student. 2 Overview of Biomedical DSP Courses 2.1 Purpose of Survey This section presents the results of a survey of BME courses involving DSP. The purpose of this survey is to provide a broad picture of the context, content, student back- ground, and methods of current BME courses that include DSP topics. The main intention of this survey was to gauge the diversity of such courses and determine whether there cur- rently exist introductory DSP courses directed at BME students with a limited EE back- ground. A comprehensive survey of the field, while not the objective here, is worthy of future research. 2.2 Method A list of US. colleges and universities that offer coursework in biomedical DSP was created from a list of schools offering BME courses [1] and searches on the Internet. Specific courses were then identified, the main criterion being that introductory DSP top- ics were presented (roughly encompassing sampling theory through simple digital filters) in a biomedical context. Information for each course was compiled from course web pages, course descriptions, and phone and e-mail contact with instructors. During this sur- vey of existing courses, instructors were often willing to discuss “philosophical” issues surrounding DSP in BME, such as pedagogical strategies, value and role of DSP in a bio- medical curriculum, etc. These comments have been incorporated into the discussion in Chapter 4. 2.3 Survey Results 2.3.1 Summary of Courses Table 1 summarizes some aspects of the context, content, and methods of 18 BME courses involving DSP from 14 colleges and universities. (Table 2 provides a brief description of each class.) Each of these aspects is discussed in detail below, but a few general comments should be made. First, the information available about each course var- ied greatly, from detailed course syllabi to brief course descriptions. Thus, this table only indicates, for example, the positive inclusion of particular topics, not their exclusion. In other cases prerequisites, content, and/or methods are implied by descriptions; a capital I marks these cases. Table 1 Summary of Courses 32:31:!) W ,_~o m3 :1 gag ~m5§mm agasaaggma SSZZEEM m2§§m_mmmm meQSfJo mm :CW-g'g.mo..mm-~BV Qmmmhgmmfimsg‘éggesfi aggggszzzagaeiifigg-E‘“ :2 ac: DDDDEZDDDDE>3 Qrad/flnder- UUUUGGGGUUUUUBGGUU grad/goth Capstone C Prerequisitesl I2 I III I I (BME/EB) Calculus/ Dif- E E e I E E e ferentialEqua- tions Linear Algebra E e Probability e E Table 1 (Continued) Summary of Courses & Systems Biomedical try tation Technology Electronics, Computer Hardware ware Hardware gramming Continuous- Time SP & Systems Table 1 (Continued) Summary of Courses Transform rans- form sponse Function Discrete-Time SP fied) (general) Design ing tion Estimation/ Classification cy cessing Table 1 (Continued) Summary of Courses ing nals and Sys- tems Laboratories cessing tation cuss ed/U sed Table 1 (Continued) Summary of Courses Table Notes: 1. In the area of prerequisites, instructors sometimes indicated expectations with respect to students’ backgrounds; these are indicated by a lower case letter, while upper case indicates an explicit prerequisite. Also recorded are whether prerequisites are within the biomedical curriculum (“B” and “b”) or are typically taken in another department (typically the EB de- partment, hence “E” and“ e”.) 2. Items that are inferred from course descriptions or other sources are indicated by a capital ‘61-’, Table 2 Course Descriptions IDSIIIULIOU Course, WWW pagel DCSCI'IPIIOD University of Califor- 122B: Biomedical Measurement circuits and signal analy- nia, San Diego Electronics sis in biological systems and medicine. Nonlinear devices. Signals in continuous (http://www- and discrete time systems. Modulation. dur.ucsd.edu/general- Digital signal processing. Sampling. catalog/Bioengin/ Noise. Digital filters. Computer design html/ and use for biomedical instrumentation. gen_cat_courses.ht m, 10/25/98) A term project and oral presentation are required. Case Western Reserve EBME 308: Biomedi- cal Signals and Sys- tems http://convolve.cw- ru.edu/ undergrad_dir/under- grad.html, 4/ 13/99 Quantitative analysis of biomedical sig- nals and physiological systems. Fourier and Laplace transforms. Frequency re- sponse of systems and circuits. A/D con- version, sampling, and discrete-time signal processing. Filter design. Labora- tory and computational experiences with biomedical applications. Duke University BME 164: Biomedi- cal Electronics and Measurements http:// www.duke.edu/~km/ bmepagehtml, 4/ l 3/ 99 The goal of this course is to teach the ba— sic principles required for the design of biomedical instruments that can be used to monitor physiological processes. Transducers/Sensors. Op-Amps: Filters, Differential and Instrumentation Ampli- fiers. Signal Processing: Filtering, Cor- relating, Averaging. Analog to Digital Converter (ADCs), Digital to Analog Converters (DACs). Fourier Trans- forms, Fourier Series, Sampling. Re- cording and Display Devices. Biopotentials, Cardiac System Over- view, Cardiac Instruments. Telemetry. Medical Imaging Overview. Duke University BME 171: Signals and Systems httpzl/regis- trar.duke.edu/ACES/ course_descrip/ BME/17l.html, 4/ 13/ 99 ' Convolution, deconvolution, Fourier se- ries, Fourier transform, sampling, and the Laplace transform. Continuous and discrete formulations with emphasis on computational and simulation aspects and selected biomedical examples. Table 2 (Continued) Course Descriptions Institution Course, WWW page1 Description arvard University - HST 5821: Biomedi- Fundamentals of digital signal process- Massachusetts Insti- cal Signal and Image ing with particular emphasis on prob- tute of Technology Processing lems in biomedical research and clinical (Same subject as 6.555], 16.456J) http://web.mit.edu/ 6.555/wwwl, 4/ 13/99 medicine. Basic principles and algo- rithms for data acquisition, imaging, fil- tering and feature extraction. Laboratory projects provide practical experience in processing physiologic data, with exam- ples from neurophysiology, cardiology, speech processing, and medical imag- mg. University of Iowa 51 : 180: Biomeasure- ments H http://www. engineeringuiowa. edu/~eldove/Courses/ 51_180.html, 4/13/99 Part 1): Introduction and review of linear system theory Part 2): The theory and application of biomedical sensors and transducers Part 3): The theory and application of digital signal processing Part 4): The theory and application of real-time programming University of Miami BME614: Microcom- puter-Based Medical Instrumentation http://www.eng. miami.edu/cgi-bin/ CoE/show_course? BME+614, 4/ 15/99 Principles and design of microcomputer- based biomedical instruments, analog and digital signal conversion, micro- computer hardware and software design, algorithm development for medical ap- plications, medical signal processing with microcomputers, software safety in life support systems and current applica- trons. University of Miami BME622: Biomedi- cal Signal Processing http://www.eng. miami.edu/cgi-bin/ CoE/show_course? BME+622, 4/15/99 Applications of the digital signal pro- cessing techniques to biomedical signals originating from cardiovascular, respira- tory, neural, sensory and motor systems. Digital filtering, averaging, spectral analysis, signal estimation, detection and classification. Real-time and on-line applications will be emphasized. University of Michi- gan EECS/BME 458: Biomedical Instru- mentation http://www.bme. umich.edu/courses/ eecs-bme-45 8/ index.html, 4/15/99 Measurement and analysis of biopoten- tials and biomedical transducer charac- teristics; electrical safety; applications of FETs, integrated circuits, operational amplifiers for signal processing and computer interfacing; signal analysis and display on the laboratory minicom- puter. Lectures and laboratory. lO Table 2 (Continued) Course Descriptions Institution Course, www page] Description Milwaukee SchooI of BB 433: Biomedical e objective of this course is to present Engineering Digital Signal Pro- the principles of digital signal process- cessing ing and to have the student apply these http://www.msoe. edu/~bamicks/ courses/be433/ be433.htm, 4/ 15/99 methods to the analysis of biological sig- nals such as EEG, ECG, evoked poten- tials, etc. Topics include correlation, signal averaging, z-transform, discrete- time system analysis, discrete and fast Fourier transform, and digital filtering. In the laboratory, the student is required to design hardware and software to per- form the analysis on various biopotential signals. Northwestern Univer- sity C20: Biomedical Sig- nals and Imaging http://www.nwu.edu/ bme/bmecrs.htm, 4/ 15/99 Fundamentals and signals and systems, time and frequency domain issues. Fou- rier series and transforms, convolution, frequency response, filtering, and labo- ratories in biomedical systems and imag- rng. University of Pennsyl- vania 301: Bioengineering Systems http://www.seas. upenn.edu/be/ courses_page/ courses.html, 4/15/99 Properties of signals and systems and ex- amples of biological and biomedical sig- nals and systems; linear, time invariant systems; Fourier analysis of signals and systems with applications to biomedical signals such as ECG and EEG; frequen- cy analysis of first and second order sys- tems; the frequency response; introduction to filtering, sampling and feedback with biomedical applications. University of Pennsyl- vania BB 465: Biomedical Instrumentation (see also 565) http://homepage.seas. upenn.edu/~kfoster/ be465.htm, 4/15/99 Design of electronic instrumentation for the recording and analysis of physiolog- ical signals, with special emphasis on computer applications. Noise and inter- ference. Design and analysis of simple amplifiers and filters for signal condi- tioning; applications of digital filters. Electrical safety requirements. Course will require extensive circuit and com- puter design work. 11 Table 2 (Continued) Course Descriptions Institution Course, WWW page1 Description niversity of Pitts- EE I580/2580/ The goal of this course is to provide stu- burgh BIOENG 1580/2580: dents with experience in applying signal Biomedical Applica- processing techniques to medical and bi- tions of Signal Pro- cessing http://jupiter.ee.pitt. edu/~boston/ EE1580.htm, 10/25/ 98 ological data. Electrophysiological sig- nals will be used to illustrate the techniques, and the physiology of these signals, including how they are generat- ed and how they are used clinically, will be presented. Feature extraction, digital filtering, spectral analysis, and automat- ed interpretation of signals will be dis- cussed, with examples drawn from current problems in clinical medicine and research. University of Pitts- burgh BIOENG 2510: Bio- medical Signal Pro— cessing and Analysis http://jupiter.ee.pitt. edu/~boston/ bioeng2510.htm #home, 4/15/99 This course reviews the mathematical techniques used to analyze continuous and discrete signals and systems. Topics include methods to describe continuous, discrete, and stochastic signals; repre- sentation of continuous and discrete sys- tems; simulation of systems in MATLAB; frequency domain analysis, using Laplace, Fourier, and z-trans- forms; sampling; the discrete Fourier transform; filter design; feedback con- trol systems. Biomedical engineering applications that illustrate system stabil- ity, frequency response analysis, signal sampling, and filtering are investigated through theoretical exercises and MAT- LAB computer software. Purdue University — Indiana University Biosignal Process- ing2 http:// BioMed.www.ecn. purdue.edu/BioMed/ Courses/Courses/ Biosignal_Proces- sing, 4/15/99 This course will cover topics in signal processing which apply to biomedical signals and use the results of signal pro- cessing tools to model and interpret physiological systems. This will include signal acquisition, digital filters, signal detection and modeling, noise reduction, spectral estimation, and adaptive signal processing techniques. Typical signal sources will be cardiac and neural in or- i gin ranging from ion channel recordings to body surface measurements, e. g. ECG and EEG. 12 Table 2 (Continued) Course Descriptions Institution Course, WWW page1 Description Vanderbflt Univer§1ty BME 263: Signal Discrete time analysis of signals with de- Measurement and terministic and random properties and Analysis the effect of linear systems on these properties. Brief review of relevant top- http://www.bme. ics in probability and statistics and intro- vanderbiltedul duction to random processes. Discrete Undergraduate/ Fourier transforms, harmonic and corre- classes/ lation analysis, and signal modeling. Im- bme263.html, 4/15/ plementation of these techniques on a 99 computer is required. Wright State Universi- 466: Biomedical Sig- Introduction to biomedical signal pro- ty, Dayton nal Processing cessing and analysis. Topics include characteristics of various biomedical http://www.cs. signals; time-domain and frequency-do- wright.edu/bhe/ main; continuous and discrete signal bmecourseshtml, 4/ representations; and applications of dig- 15/99 ital and random signal processing meth- ods to the analysis of biomedical signals. Table Notes: 1. WWW references are to specific course home pages when possible. Date of access is given after each URL. 2. This course no longer exists. Students now take a DSP course in EE concurrent with a laboratory from the BME department. 13 2.3.2 Context 2.3.2.1 Course Goal The goals of these BME courses with respect to the DSP content fall into three cat- egories: 1 Familiarity with DSP as a tool—i.e., a survey experience, with an emphasis on a “cookbook” approach to using DSP techniques. Often, the main focus of the course is on a broader BME topic. 2 BME equivalent of traditional DSP course. The course covers DSP topics in a way that provides a foundation for more advanced DSP coursework. Emphasis on more theoret- ical aspects, theory over application. 3 Biomedical-specific DSP. These courses assume some background in DSP (possi- bly from a traditional EE course), and address advanced DSP topics that may be specific to BME applications. The majority of courses described in Table 1 fall into the first two categories, since introductory DSP was the area of interest in collecting this data. However, elements of the third category appear in some of the graduate-level courses noted, and figure into the philosophical comments by some instructors, to be discussed later. 2.3.2.2 Student Background The survey results show great variety in student backgrounds. Most BME students, as engineering students, have a background in mathematics through differential equations. However many of the courses listed do not assume or require any background in other areas such as linear systems and signals that are usual prerequisites for DSP study in a tra- ditional EE curriculum. Students may have had exposure to biomedical topics such as biosignals, bioin- strumentation, and safety, prior to studying DSP, but in some cases these topics are cov- ered concurrently with DSP. Further, for courses with a practical emphasis, topics from 14 electronics including analog circuits, digital logic/microprocessors, and programming may not be part of the students’ shared background and must be covered. 2.3.2.3 Department Department—level issues have a large influence on BME courses. The interest and knowledge of faculty is reflected in the goals, content, frequency of offering, and methods of courses. Related is the issue of department size; in some cases, the BME department is much smaller than other engineering departments or may be an elective subspecialty in one or more traditional departments. In such cases students may take many traditional engineering courses that have little or no biomedical emphasis. In other cases, where the BME department is larger than other departments (e. g., Duke University), most engineer- ing classes might be taken within the department, and hence will have a biomedical emphasis. ABET (Accreditation Board for Engineering and Technology) criteria, which among other expectations include engineering design and a “major engineering design experience” (e.g., “capstone” course) [5], are also influential in structing BME programs. 2.3.3 Content DSP is not necessarily the main topic of the classes surveyed. Often, DSP is merely a tool in a context such as the design of bioinstruments, or a subject treated at the tail end of a study of biosignals. Table 1 shows courses with a great deal of content in both biomedical and electronic areas, areas that are both uncommon in traditional DSP courses, and leave less time for an in-depth treatment of strictly DSP issues. An almost invariant prerequisite for the traditional study of DSP is the knowledge of linear signals and systems. Many of the surveyed courses include this prerequisite information, since students have not had this coursework previously. With respect to DSP topics, BME courses vary widely. (It must be emphasized, however, that not every syllabus or course description provides the same level of detail, so “fine-grained” comparisons are not always possible.) In some cases, advanced topics such 15 as detection and estimation are discussed (e.g., Purdue University - Indiana University “Biosignal Processing”), while syllabi from other courses show so few days on DSP that only broad treatments of DSP topics are possible. One recurrent item is the topic of signal averaging, which may be given more emphasis in even introductory BME DSP due to its simplicity and its application to com- mon biosignals such as the ECG. Two other items of note will be discussed later—image processing and the practi- cal implementation of DSP. 2.3.4 Homework and Laboratories Again reflecting specific goals, many of the surveyed courses include laboratories. In some cases, for example at Duke University, students process data acquired using them- selves as subjects, employing instruments they construct themselves. MATLAB, a numeric mathematics program from The MathWorks, plays a role in almost every class listed. It is used for homework and laboratories, often with real data. LabView (from National Instruments) was the only other software mentioned. Several instructors mentioned the usefulness of real data. With the availability of several databases (e.g., MIT -BIH ECG database [10], Signal Processing Information Base (SPIB) [11]), real data may also be easier to provide than synthetic signals. The relatively low bandwidth of common biosignals (e. g., ECG) with respect to current analog-to-digital converters (ADCs) and digital processors (including microprocessors) means real-time processing is possible without requiring extraordinary skills in areas such as high-speed analog data acquisition or tightly-coded assembly language programming. Some classes involve projects (usually in classes with laboratories). It is not clear that these projects always involve significant DSP, since DSP is not often a central topic in the class. However, with relatively inexpensive hardware (typically less than $100), real- time processing of signals is feasible even in the context of a course offering a fairly broad overview of DSP. For example, MATLAB can be used to generate filter parameters, which 16 can then be introduced into an existing assembly-language program for download to an inexpensive DSP board for real-time processing.1 2.4 Conclusions About DSP in Current BME Courses Introductory DSP in BME is taught in a variety of contexts, ranging from brief overview to in-depth study. Student background can vary widely as well, often lacking prerequisite material that can be assumed in an EE curriculum. BME courses may also introduce DSP techniques (e.g., signal averaging) that would not ordinarily be featured in a DSP course. These techniques have particular application to biomedical signals and, as in the case of signal averaging, are fairly easily approached on an intuitive level. Labora- tories and the use of MATLAB provide hands-on DSP experience and motivation in many courses. 3 DSP for "Non-EE" Biomedical Engineering Students The previous chapter has defined some challenges produced by the diversity in BME DSP education. Several issues explain this diversity and lay the groundwork for the material in the final chapter of this thesis. Clearly, biomedical DSP courses may have sev- eral different goals. In addition, there may be significant differences between BME DSP and “traditional” DSP courses in terms of content. Finally, several pedagogical themes are present in both existing classes and in the comments of instructors to be mentioned below that may be important in teaching biomedical DSP. 3.1 Biomedical DSP vs. "Traditional" DSP Instructors interviewed for this survey2 were asked if biomedical DSP differed in any way from that of “traditional” DSP, and what implications this had for how DSP should be taught to BME students. There was variation in the background and experience 1. This approach was used in producing assembly language examples of FIR and IIR filters in [7]. 2- While there is considerable overlap, not every instructor interviewed teaches a course listed in Table 1, nor was the instructor for every course in the list interviewed. 17 of the instructors contacted, ranging from M.D.‘s with many years of biomedical teaching experience to more recent professors. Some instructors stated that, at least at the introduc- tory level, BME DSP did not have any special characteristics. However most instructors did offer reasons why BME DSP was different from traditional DSP. These differences fell into the following categories: the nature of biosignals, the role of problem-solving in BME, background and goals of students (already discussed), and the purposes of process- ing biomedical data. 3.1.1 The Nature of Biosignals More than any other factor, instructors stated that BME DSP differed from “generic” DSP in terms of the signals processed. The low signal-to-noise ratio (SNR) was frequently cited. Some fields of seismology or space communications may deal with low SNR, but many biological signals (e. g., EEG) are routinely acquired in the midst of much noise from environmental and other biological phenomena, often as the result of taking measurements at some distance from the source. These signals also typically have very small amplitudes, due to both the source itself and attenuation caused by intervening tis- sue. This requires the solution of non-DSP problems (e. g., analog signal conditioning) and hence rewards a systems-level approach to biomedical signal processing. Biomedical signals also are often of low bandwidth. This makes signal processing in real time easier for students since it is not necessary to use high-speed processors (e.g., DSP chips) or carefully optimized software. Low-bandwidth signals also make acquisition and other non-DSP tasks more tractable for novices. Thus a systems-level approach can be explored in laboratory experiences. One instructor pointed out the similarities between speech processing and biomed- ical DSP. In both cases, a general DSP background is necessary. However, for many of the well-studied biosignals (e. g., ECG, EEG, EMG, etc.), specific DSP techniques have been developed that, while very efficient and useful in studying a particular biosignal, have lit- tle application to other signals (biomedical or not). This is also the case with speech pro- 18 cessing, where techniques with broad application (e.g., autocorrelation) are used along with highly specific techniques tuned to the special characteristics of the speech signal (e.g., low bit-rate speech coders). Since it is not possible for a single advanced DSP course to cover the many specific techniques from the dozens of fields that use DSP (including biomedicine), this is justification for BME-specific DSP courses in the opinion of those interviewed. 3.1.2 Problem-Solving in BME Another aspect mentioned by instructors is the need for interdisciplinary problem- solving abilities in BME, addressed by courses that have students drawing upon several different disciplines, e. g., from biochemistry and programming microprocessors, to solve a signal processing problem. These courses work well as “capstone” courses, drawing together a number of fields the student has studied in previous years, as described by the following excerpt from the ABET Criteria for Accrediting Engineering Program [5]: Each educational program must include a meaningful, major engineering design experience that builds upon the fundamental concepts of mathemat- ics, basic sciences, the humanities and social sciences, engineering topics, and communication skills. The scope of the design experience within a pro- gram should match the requirements of practice within that discipline. . . . Design cannot be taught in one course; it is an experience that must grow with the student’s development. A meaningful, major design experience means that, at some point when the student’s academic development is nearly complete, there should be a design experience that both focuses the student’s attention on professional practice and is drawn from past course work. Inevitably, this means a course, or a project, or a thesis that focuses upon design. "Meaningful" implies that the design experience is significant within the student’s major and that it draws upon previous course work, but not necessarily upon every course taken by the student. 3.1.3 Purpose of Processing Data The processing of biosignals also has two non-technical characteristics that distin- guish it from many other DSP tasks. First, the correct processing and interpretation of some signals can be life-critical. Second, the results of processing biosignals are often interpreted by medical doctors who are trained to interpret results presented in certain for- mats which may not be efficient, optimal, or even appealing from an engineering point of view. 19 While concerns about safety are inherently present in other engineering disciplines (e.g., civil engineering, control systems), these concerns are rarely addressed in EE-based DSP courses. In contrast, safety issues are very important both in an immediate sense (e.g., students collecting real data in a laboratory) and as design considerations for the practicing biomedical engineer. The fact that some types of biosignal processing are interpreted by medical doctors not only adds a need for interdisciplinary communication (useful to any engineer, but crit- ical in BME), but may place restrictions on the types of processing that is useful. For example, ECGs are recorded and processed in standard ways, and can be interpreted by doctors in ways that are generally consistent with other doctors. However, other methods of detecting, processing, and presenting this activity might be more accurate, easier to interpret, etc. The conventional format of presentation of the ECG is firmly entrenched in the training and practice of medicine, however, and unlikely to change for merely incre- mental benefit. (It might be argued that in fact, since the ECG in particular is so firmly embedded in medical practice, any replacement would have to offer quite substantial ben- efits.) The problem the biomedical engineer is solving, therefore, is not a purely technical one, but one influenced by historical and other issues. (On the other hand, one may argue that the extraordinary explosion of new sensing techniques is assurance the field is not bound helplessly to ingrained practices, since many of these signals will have no prece- dent) 3.2 Useful Pedagogical Themes From course descriptions and instructor comments, a few themes in biomedical DSP courses emerge. Not every course embodies all these, though most of these themes are mutually compatible. Among these are the use of laboratories and projects, MATLAB, actual biosignals, real hardware, and real-time programming. Laboratories and projects were often mentioned as highly motivating (though chal— lenging) aspects of courses. Laboratories allow students the opportunity to use hardware 20 and/or software to which they otherwise might not have access, or to construct devices or perform experiments in a controlled environment. Courses that discuss the acquisition of biosignals allow students to acquire, process, and display biosignals, promoting systems- level design. Projects also allow more open-ended and creative work, and can be designed to require interdisciplinary knowledge and communication skills that homework or labo- ratories alone do not exercise. Both laboratories and projects are especially appropriate to biomedical DSP courses with a strong applications orientation. No other mathematics program was mentioned by the interviewed instructors nearly as often as MATLAB, regardless of the orientation of the course. Several reasons are likely: the ability to process discrete-time signals of reasonable length (e. g., 16K sam- ples in recent educational versions), fairly low cost, frequent support in popular textbooks, widely used in engineering, built-in support for many signal processing functions (includ- ing digital filters, frequency analysis), and good output support (screen and print graphics, sound). The ability to explore both theoretical concepts (e. g., the effect of zero-padding in a DFI‘) and practical applications (e. g., removing noise from a pre-recorded ECG) is a powerful combination. However, several instructors commented that they would like to be able to have students interact more easily with physical analog I/O devices, and even do real-time processing, which is not easy to do with MATLAB. Even when it is not possible for students to acquire biosignals from subjects, many of the surveyed courses employ real biosignals as examples in class, homework, and labo- ratories. Real biosignals are motivating for students to use, and can often be successfully processed by students using even modest signal processing knowledge. Real biosignals also provide the opportunity to observe subtle real-life issues that makes the students aware of the limitations of simple models of biosignals. These limitations must be acknowledged, but according to some instructors interviewed, may also provide motiva- tion for more advanced study. 21 The use of real hardware is an issue influenced by both course content and the state of technology. Unless a course has hardware as a main emphasis, the topic may require far more course time than is available, particularly if students require a review of hardware topics in preparation for the study of DSP. However, much as the use of actual biosignals is both motivating and instructive, the use (and perhaps design) of hardware for acquisi- tion and processing of biosignals can be a worthwhile aspect of a course, as seen by their inclusion in several courses in Table 1. Closely allied with the use of real hardware is the topic of real-time programming. One instructor noted the job-hunting advantage students receive from experience in pro- gramming DSP chips for real-time DSP. Several recent trends make providing this experi- ence a realistic proposition (though presently realized in few of the classes surveyed). First, many manufacturers of DSP chips have very inexpensive evaluation systems avail- able that include serial-interfaced hardware, analog input/output, on-board memory, and development software.3 Second, software such as MATLAB can easily be programmed to present the user with a simple set of options, then generate the necessary file or files for download to the evaluation board. The student can thus explore a wide range of topics, from choice of filter type to real-time DSP programming issues or even analog signal con- ditioning. The low bandwidth of many biosignals considerably reduces the processing required—and even makes possible the use of common microprocessors and microcon- trollers for real-time processing of some biosignals. Biomedical image processing has several interesting characteristics that set it apart from one-dimensional biosignals. Images have motivational value for readers (discussed in a later section), but they can be a “door to nonlinear processing,” as one instructor put it. Even in an introductory setting, it may be very useful to use easily accessible non-linear 3- See for example Motorola DSP56002 Evaluation Module Kit ($149, http://www1.mo- torola-dsp.com/docs/kit-evm.html), Texas Instruments 'C5x DSP Starter Kit ($99, http:// www.ti.com/sc/docs/tools/dsp/tmds320005 l .html), Analog Devices ADDS-21xx-EZLITE (less than $100, httpzllproducts.analog.com/products/info.asp?product=2lXX-EZLITE). 22 image enhancing operations as examples of (otherwise ignored) nonlinear operations. Computed imaging also offers another set of tools that integrate linear filters with more geometric operations. 4 Outline for a Proposed Text This chapter outlines a particular approach to teaching DSP in a biomedical con- text, based in part on [7], and refined through the investigation undertaken in this work. This outline was developed with a textbook in mind, but might be useful for other pur- poses, such as a course syllabus. First, the audience for the book is identified, one that is centered on a particular subset of BME students. Next, the goals and objectives of the text are presented. The approach is then discussed—a set of broad ideals that guided the devel- opment of the outline. The outline itself is then presented, along with commentary on the choices made regarding specific content and approaches. Finally, some topics are pre- sented that were not addressed in the outline, but would be valuable to include. 4.1 Audience The audience for this text is described in terms of the students’ background and interests with respect to biomedical DSP. The educational background assumed is (by category): - Electronics—basic AC/DC circuits theory; no linear signals and signals 0 Mathematics—trigonometry; calculus; complex numbers (will also be reviewed in text) 0 Biomedical—some background in biosignals and bioinstrumentation helpful 0 Programming—exposure to basic programming (e. g., C, BASIC) The assumed electronics background would ordinarily be provided by an introduc- tory circuits course (which would typically include the Laplace transform, though that is not assumed). No linear signals and systems background is required, so students without this background are not at a disadvantage. The assumed mathematics background should be well within the comfort level of engineering students, even in engineering disciplines 23 where there is less emphasis on the calculus and other mathematical tools. Some exposure to biosignals and bioinstrumentation would be very helpful in creating a context and moti- vation for DSP, and would most appropriately come from a prerequisite BME course. Finally, since MATLAB will be used throughout the text, some exposure to simple proce- dural programming is assumed. (Use of MATLAB will be illustrated through the text, though probably it would be good to supplement with a MATLAB student manual.) The goals of the audience are assumed to be quite simple: within the limits of diverse backgrounds, to get a broad, application-oriented exposure to DSP for use in BME careers. Students will learn to apply simple DSP techniques (including filtering and spec- tral analysis) to biomedical data, and to have a coherent (though informal) framework of DSP concepts. The text will provide a (non-rigorous) introduction to DSP that later could be filled-in with more traditional and theoretical courses. There are alternative audiences that this text can address: technicians, practicing engineers in non-EE fields, researchers without engineering backgrounds, and medical practitioners who want a practical understanding of DSP techniques. 4.2 Goals and Objectives The specific objectives for the text whose outline is presented here is as follows: 1 To expose the reader to DSP concepts with an emphasis on biomedical applications. 0 To convey how DSP techniques relate to analog signal processing techniques. 0 To explain the nature of discrete-time (DT) signals and systems vs. continuous-time (CT) signals and systems. 0 To define measures of signal and noise, especially in biomedical applications. 0 To describe the power of linear processing and provide examples of nonlinear pro- cessing. 2 To enable the reader to use basic DSP concepts to process DT signals and images. 0 To allow the reader to understand and specify filter type and parameters for a par- ticular task. 24 0 To allow the reader to design and apply basic IIR and FIR digital filters using com- puter-based tools. ° To allow the reader to compute and analyze spectra (e.g., FFT). 0 To allow the reader to use other techniques (e.g., correlation) to process signals. - To describe basic digital image processing, including representation, processing, and storage/communications. ° To explain typical compression approaches and allow the reader to implement sim- ple compression techniques. 0 To allow the reader to perform the above tasks using MATLAB. 3 To provide a foundation and motivation for further study. 0 To use terminology and notation consistent with the DSP field. 0 To point out areas where simplifications of concepts have been made. 0 To refer to resources for further study. 4.3 Approach Several principles have been used to guide the goals of the text within the con- straints ofrelaxed prerequisites. These are providing a coherent framework, presenting abstract or highly mathematical concepts as they are needed and/or replacing them with design procedures, using concrete examples and realistic data, and use of MATLAB throughout the text. 4.3.1 Coherent Framework The connections (often mathematical) among topics in DSP that may be obvious in a mathematically rigorous presentation are not as easily appreciated in less formal presen- tations. It is important, then, to consciously construct a framework for the reader that explicitly makes useful connections among topics that might otherwise appear disjoint. For example, without the relationship between convolution in time and multiplication in the frequency domain, the phenomenon of spectral leakage in the DFT must be explicitly linked to the magnitude spectra of windows. In addition to emphasizing connections, the 25 “destination” of the material should also be explicit, so that key topics such as linear sys- tems are seen as being on the path to interesting goals, even if they do not appear to have immediate, practical application to the reader. 4.3.2 Presentation of Abstract Concepts The volume of material, coupled with the background of readers, makes it difficult to thoroughly present every topic in basic DSP. Then too, the motivation of the reader may be attenuated by too many abstract mathematical formulations. Since the goal of the book is not to provide a rigorous foundation for DSP, mathematical concepts are introduced when needed, and are presented as tools for achieving a specific end, rather than as sub- jects of study themselves. So, for example, the s-plane can be employed as a tool for ana- log filter design, without necessarily requiring a discussion of the mathematics of the Laplace transform. Similarly, FIR filter design can be presented as a tool introduced to adjust the weights of a simple moving-average filter so as to enhance some aspect of the filter’s frequency response. In addition, selected concepts can be reduced to design proce- dures—for example, conversion from lowpass to highpass filters in the z-domain through “cookbook” formulas. Built-in MATLAB functions can shield the reader from many issues (clearly at a cost), allowing the focus to be on problem-solving. The emphasis on applications is at the cost of superficial treatment of the the underlying theory, but this trade-off is appropriate if the goals of the text favor breadth over depth. 4.3.3 Use of Examples Concrete examples, especially those linked to MATLAB scripts, are valuable in illustrating not only single concepts, but also problem-solving involving multiple steps. The use of realistic signals in examples, especially those available to the reader electroni- cally, has several advantages. Examples need not be just numeric or visual—most computers can output sound, and for the special case of speech, this is the most natural output method. Using multiple 26 output modes may not only increase the reader’s motivation, but may also convey con- cepts and processes more clearly than through numerical or graphical representations. One instructor noted that two-dimensional graphics (images) likewise may have significant value in illustrating concepts, particularly processes for which one-dimensional or auditory representation may be difficult to appreciate. Recent versions of the student edition of MATLAB have the ability to process images that are sufficiently large for inter- esting and motivating examples. 4.3.4 Use of MATLAB Several arguments exist for using MATL'AB in the proposed text. First, MATLAB allows students to explore applied mathematical concepts in an environment that com- bines ease of use with a rich set of tools. (However, a symbolic mathematics tool like Mathematica or MathCad can have distinct advantages when exploring concepts of a more theoretical and symbolic nature.) Second, MATLAB specifically supports such signal pro- cessing operations as filter design and frequency analysis, and is well suited to operations on arrays and matrices. Third, MATLAB is widely used in engineering in general, and in signal processing in particular. Readers can expect to encounter MATLAB in further read- ings or courses, and the ability to use MATLAB itself may therefore be a valuable skill. In the proposed text, most illustrations will be associated with MATLAB scripts located within the text. This serves several purposes. The reader will obtain additional insight into what the illustration represents. The reader may experiment with changes to the code, or modify it for other purposes. Finally, the listings illustrate basic MATLAB programming, for those readers unfamiliar with MATLAB. These goals are more easily realized by making the scripts and data available electronically (on CDROM and/or via the World-Wide-Web), versus having them only appear in print in a text. 4.3.5 Exercises The exercises to accompany the proposed text will incorporate the following ideas: 27 ° Exercises will cover a range of complexity, including very simple exercises likely to be solved successfully by most readers, to more complex topics (e.g., project-level). 0 Some exercises will involve multiple concepts, requiring several stages of problem- solving and/or integration of several concepts. 0 Design problems will ask for hi gh-level problem solving (i.e., to select appropriate techniques, rather than “plug in” numbers). 0 Exercises requiring the reader to demonstrate/illustrate a concept from the text or a new concept. (This new concept will usually be an extension or extreme case of a concept covered). 0 Answers or hints to some subset of problems. (Also valuable to readers not in a course.) 4.4 Realization In this section, the outline of a realization of such a text will be described. First, the overall structure of the text will be discussed. Next is a more detailed chapter-by-chapter discussion. This is followed by some comments on topics not included in the text, then a description of additional end material. 4.4.1 Outline Appendix A is the outline of a text on introductory biomedical signal processing, aimed at the limited audience described in Section 4.1. The seven chapters are l) Introduc- tion, 2) Signals & Systems, 3) Linear Digital Filters, 4) Frequency Analysis, 5) Correla- tion and Signal Averaging, 6) Image Processing, and 7) Compression. The first four chapters cover material that is central to basic DSP. The last three chapters cover material that, while not usually found in EE-based introductory DSP courses, nonetheless have biomedical applications and are accessible to the intended audi- ence. The next chapter discusses (auto- and cross-) correlation and signal averaging. With- out a stochastic systems background, the discussion must remain on an intuitive level in several areas (e.g., the topic of setting a threshold value for detecting a known signal in 28 noise using cross-correlation). The following chapter on image processing illustrates non- linear processing and computed imaging as well as other techniques. The final topic, data compression, is also both motivating for readers, and illustrative of a problem-solving approach distinct from one based on linear systems. In particular, some forms of data com- pression (particularly those used for compressing ECGs) illustrate empirical, time-domain oriented algorithms. (Whether these empirical techniques give the field of biomedical DSP an inaccurate image4 is open to debate.) 4.4.2 Commentary on the Chapters 4.4.2.1 Introduction The purpose of this chapter of the text is to provide a brief overview of signal pro- cessing and motivate the study of DSP by comparing analog and digital signal processing. This chapter provides motivation for many of the following chapters, since DSP applica- tions are discussed along with limitations of analog processing. 4.4.2.2 Signals & Systems Chapter 2 addresses continuous and discrete-time signals and systems in three parts. First, the ECG and other one-dimensional biosignals (e.g., speech) are used to estab- lish the time domain representation. At this stage MATLAB is also introduced. The inher- ently discrete nature of MATLAB is not noted here, but deferred to a later section in the chapter treating discrete-time issues. Second, the frequency domain representation of signals is discussed. There are two approaches to the concept—a tunable-filter illustration (i.e., measuring the energy passed as a function of center frequency for a tuned filter) and a synthesis argument (that one can build “any” signal out of sinusoids of appropriate amplitude and frequency). The latter illustration is used to introduce the concept of phase, once it is shown that magnitude and frequency alone give an incomplete representation. The inverse (Fourier) transform is also 4- No pun intended. 29 introduced conceptually, as is the idea of filtering by attenuation (multiplication) in the frequency domain. A reference is made to the implicit assumption of stationarity (addressed in the chapter on frequency analysis). Some notation and other practical concepts are discussed, such as the use of rela- tive logarithmic measures (dB), logarithmic frequency scales, and radians/sec measures of frequency. The third section discusses discrete and digital signals and systems. The basics of sampling are covered (Nyquist rate, frequency), but the additional topics of phase and negative frequency (spectral inversion), and undersampling are also included. These top- ics provide a more complete view of sampling, but could be omitted without much loss of continuity. The issue of discrete versus digital signals is given some attention, both as a prac- tical matter (readers who wish to consult other texts will benefit from knowing the rough equivalence in meaning for textbook titles) and philosophical, since it explains why DSP design is typically done assuming discrete-time. This topic also leads into the issue of quantization (and digital-to-analog conversion). Several tables and illustrations give parameters of ADC and digital-to-analog converters (DACs). As a final point, discrete frequency is briefly addressed (mostly a reference to the chapter on frequency analysis where it is dealt with in greater detail). However, normal- ized frequency is covered, as well as the topic of how “real world” and normalized fre- quency are symbolized (i.e., F, f, (2 and (0). 4.4.2.3 Linear Digital Filters Digital filters are introduced by examining the simple moving average filter. This leads to a difference equation, and also (via MATLAB) the observation that using different weights can “improve” the filter response. Having introduced the problem (for FIR filters at least), the first section of this chapter covers the specification of filters, including the 30 difference between “digital” and “analog” filter ripple.5 Time-domain specifications are also discussed since signals such as the ECG are often analyzed in the time domain. Little attention is given to FIR filter design methods other than Parks-McClellan, due to the many advantages of that algorithm. Simple integer filters are discussed how- ever, since they are very simple to implement, easily designed, easily derived from the moving average filter, and quickly executing (though not spectacular in performance). Some FIR implementation issues (e.g., common structures, fast convolution) are dis- cussed briefly, along with comments on the multiply-accumulate (MAC) operation of DSP chips. A discussion of IIR filters typically emphasizes the design of analog filters, how- ever a cookbook approach (MATLAB oriented) is used here. After an overview of HR fil- ter design methods, the analog prototype method is introduced, but MATLAB is used for design of these filters and even used to perform conversion to the z-domain. It is worth- while exploring the characteristics of the actual analog prototype filters since some of these have utility in analog processing steps (apart from their use in HR design), and the use of analog prototypes remains a popular IIR design method even in the face of direct software-based design methods. The issue of implementation is somewhat more involved for IIR filters than FIR—here issues such as optimum/efficient structures, finite-word- length effects, and stability can not be addressed in great depth, and the goal is to provide familiarity with these issues. (This lack of depth is problematic to the extent the higher efficiency of IIR filters can be useful in low-speed processors like those used in portable or implantable medical devices; the low bandwidth, and need for linear phase, of many biomedical signals is a point in favor of often slower FIR filters.) The chapter ends with a summary comparing FIR and HR filters in table form. 5- Filter ripple specifications can be measured peak-to-peak or maximum deviation from a mean. The former is often associated with passive analog filters (whose gain is always less than unity), and the former with digital filters. See [7], p. 77. 31 4.4.2.4 Frequency Analysis There are six main parts to the chapter on frequency analysis. First, a brief intro- duction, which is followed by the discrete Fourier transform (DFI‘), the fast Fourier trans- form (FFT), the inverse DFI‘, and time-frequency analysis. A section on other transformations ends the chapter. The DFI‘ is approached by looking at the defining equation (in trigonometric form) from the point of view of cross-correlations of sinusoids with the signal to be analyzed. (Since the correlation operation is not discussed until a later chapter, the operation is described intuitively.) This leads to a discussion of phase and interpretation of the com- plex output (sin/cos or magnitude/phase). Leakage and resolution (i.e., window shape, length, and zero padding) are also discussed, with several tables summarizing key param- eters. The FFT is presented as a class of efficient DFT algorithms, with emphasis on input and output requirements (i.e., the need to perform bit reversal depending on the implementation) and the relative performance over a simple implementation of the DFT. The complexity of efficient FFI‘ routines is such that more detailed information about FFT routines is not justified—EFT routines are rarely written by users, as compared to digital filters (especially FIR) that are often easily programmed, even in assembly language. The inverse DFT/FFI’ (IDFT/IFFI‘) was foreshadowed by earlier discussions in Chapter 2, so the discussion here is more practical—for example, the common practice of sharing PET and IFFI‘ code with a flag to indicate the direction of the transform. Time-frequency analysis is motivated by two examples of nonstationary biosig- nals: speech and EEG. Multiple, overlapping FFTs are described, the discussion of which leads to a discovery of the trade-off between time and frequency resolution. Other transforms, particularly the discrete wavelet transform, close out the chapter. The wavelet transform is worthwhile mentioning at this introductory level for several rea- sons. First, wavelet transforms can offer a useful time and frequency resolution trade-off, 32 providing a linear time resolution and logarithmic frequency resolution that is a good match to many signals. Second, and a consequence of the first, some formulations of the discrete wavelet transform offer substantial savings in computation over the FFI‘.6 Third, some signals are more efficiently represented using wavelet bases than the sinusoidal bases of the DFT.7 For all these reasons, the wavelet transform is likely to become more popular in many fields, including BME, so it is important to discuss at least the broad characteristics. 4.4.2.5 Correlation and Signal Averaging Signal detection and estimation is usually covered after some study of stochastic systems, but some operations are quite simple, yield good results, and do not suffer a lot from a lack of rigor in developing the theoretical background. The three techniques dis- cussed in this chapter are crosscorrelation, autocorrelation, and signal averaging. Crosscorrelation is introduced as a tool to address two different problems: detec- tion of a known signal in additive noise, and estimating time delay. Both have direct bio- medical applications (e. g., ECG patterns, ultrasound imaging) and can be effectively explored using MATLAB. As is true for all the topics in this chapter, the mathematical jus- tification for some aspects of these techniques is omitted, but cookbook formulas for set- ting thresholds are offered. Autocorrelation is treated primarily as a tool for detecting periodicity; biosignals such as voiced speech and ECG with easily measured periods make good examples. Signal averaging ends the chapter, though it is conceptually the simplest of the techniques covered. Here explicit equations for SNR versus number of signals averaged are given, and a version of the central limit theorem is given. Biosignals that are not pre- 6- The student should be made aware that nothing “magic” is happening with respect to the required computation—the savings derives from the logarithmic frequency scale, and when calculated such that the frequency scale is linear, wavelet transforms have the same order of computations required as other methods like the FFT. See [2], p. 40. 7- See, for example, [2], pp. 6-7. 33 cisely periodic present some issues surrounding the identification of fiducial points; this can be addressed using autocorrelation or a brief overview of time-domain techniques for locating relatively robust fiducial points. The high-resolution ECG is used as an example. (See, for example, [3].) 4.4.2.6 Image Processing This chapter concentrates on operations on images and the construction of images from projections. Operations on images are divided into operations on single pixels and operations over areas. Single-pixel operations offer opportunities to explore linear and non-linear operations. Contrast adjustments, clipping, thresholding, and other simple operations require little mathematical rigor for their implementation, and the degree of image enhancement can be evaluated subjectively (e.g., comparing “before” and “after” images). Area Operations are examined using separable two-dimensional linear filters (which can be developed using one-dimensional filter material from earlier chapters) and one- and two-dimensional nonlinear operations (e.g., median filter). Image construction from projections (computerized tomography or CT) is a pow- erful tool that can be described using simple trigonometry and the image filtering concepts just discussed. Using back-projection, the basic principles of CT are shown, while reveal- ing the need for additional filtering of either the resulting image (using a two-dimensional filter) or of the projections (using a one-dimensional filter). Readers will be asked in an exercise to write a simple CT program, or to take an existing CT program and modify it (e.g., by adding the pre- or post-filtering). A static file or MATLAB program can provide the raw projection data for student exercises. A MATLAB program can generate data with an arbitrary number of projections, resolution, etc., which provides more flexibility when crafting exercises. 34 4.4.2.7 Data Compression Data compression is a subject that, while not frequently included in the classes sur- veyed in this project, has several useful insights to offer to the reader. Like image process- ing, it is a field that most readers will have encountered (e. g., ubiquitous .ZIP files) and can easily evaluate (objectively for lossless compression, subjectively for lossy). It is an important element of communication and storage of biomedical data. In studying com- pression, links are made to concepts such as efficient representations (e. g., DFT coeffi- cients). Finally, many compression algorithms (especially those in the time domain) are simple and easy to implement. Lossy and lossless compression are discussed, leading to issues of redundancy and noise. Another issue discussed is the importance of knowing the characteristics of the human sensory systems, which can reveal methods for greatly reducing the amount of data necessary to convey the same information. (A familiar example is that of conveying the illusion of movement by sequential static images, as in motion pictures.) The compression techniques discussed fall into two (arbitrary) categories—tech- niques based on expressing the signal in terms of an efficient basis (see, for example, [4]), and other methods. Both categories are essential to BME—wavelets and other bases can allow efficient representation of many types of signals; on the other hand, run-length encoding and empirically-derived time-domain algorithms can produce substantial com- pression with minimal computation and simple implementations. 4.4.3 Additional Content The outline of the proposed text lists the following additional contents: 0 Glossary: Provides both a brief definition and a reference to the place in the text where the term is first introduced. Abbreviations are also included in the glossary. - Table of symbols used: (Ideally on the inside covers) A list of the symbols used in the book, with brief description and reference to the place in the text where they are first introduced.3 35 0 CDROM/electronic files: Available either on a CDROM bound into the book or via a website, these files include sample signals and images, MATLAB examples, and a “home page” of Internet resources. 4.5 Topics Not Covered But of Interest The pr0posed text could be expanded to cover real—time biomedical DSP issues, including the framework for using real-time DSP hardware. This is an area that would be valuable to add since it is not an area covered well in existing texts, can be fairly inexpen- sive to add to a course, and is a skill that adds to a student’s marketability. However, this area would be difficult to cover well unless some microprocessor background (architec- ture, programming, or both) could be assumed on the part of the student. One compromise would be to include such a chapter for students with an appropriate background, but that could safely be omitted in situations where time or background was lacking. Students can easily perform real-time DSP on biomedical signals. Since many bio- medical signals are low bandwidth, it would not be necessary for students to write highly efficient real-time software. As a result, students could write software in C, with little or no concern for the actual architecture. The quality and resolution of the audio analog-to- digital converters on low-cost DSP boards would suffice for many biomedical signal applications, assuming proper signal conditioning was used. Another area not addressed in the proposed text is that of laboratory exercises and projects. Both are opportunities to explore topics in detail, but are problematic if the required resources (e. g., measurement equipment, DSP board) are not available. Restrict- ing laboratory exercises to those that can be accomplished using supplied data and MAT- LAB avoids this problem. In this case, laboratory exercises might be grouped collections of exercises with a common or developing theme. 3- See, for example, [6], a table of symbols used in [7]. 36 4.6 Comparison with Grover & Deller Foremost among similarities between the present work and Grover & Deller [7], the subject matter of the earlier book overlaps considerably with the topics covered in the outline offered here. For example, basic continuous- and discrete-time linear signals and systems, filtering, linear digital filters, correlation, and frequency analysis are all topics included in [7]. Hence, the overall structure of several sections of the outline presented here closely follows that of the earlier book. The earlier book places few requirements on the reader’s background, and assumes that the reader wishes to invest a minimum of time and effort into topics not directly related to DSP. The former assumption led to the inclusion of a subset of linear signals and systems material, a review of basic complex mathematics, trigonometry, and circuits, and a discussion of analog filters. The latter assumption led to the exclusion of powerful (but theoretical) tools such as the Laplace transform (at least in their explicit, mathematical for- mulation). These same issues appear in the present work. There are several differences, however, between [7] and the current work. The goals of [7] are very explicit in addressing the needs of the reader to be able to efficiently implement basic DSP on small processors. The potential readers of the current work have a different and more varied set of goals outlined earlier in this paper, many shaped by the special characteristics of biomedical DSP. Other differences include the organization of the presentation. The current work reduces what is three chapters in [7] (“Analog Signals and Systems,” “Analog Filters,” and “Discrete-Time Signals and Systems”) to one (Chapter 2, Describing Signals). A sin- gle chapter on linear digital filters covers what was two separate chapters in [7], one each on the FIR and IIR filters, and includes some material on filter specification that had pre- viously been discussed in terms of analog filters. In part, this reduction is the result of eliminating topics that can be addressed in “cookbook” fashion (e. g., in MATLAB). In other cases, topics were not included when they offered alternative paths to the same ends. 37 For example, FIR filter design by the Parks-McClellan program is given almost exclusive attention; windowing receives but a brief mention. 38 SUMMARY AND CONCLUSIONS In this paper the results of a survey of biomedical DSP courses were presented. This survey showed that DSP is taught in a wide variety of settings within BME. Students’ background can be diverse and may not include traditional prerequisites for DSP. DSP is often taught as a tool, or a course may offer only an overview of selected DSP topics. In other cases, BME courses may teach DSP topics rigorously as a foundation for further study. Issues that differentiate biomedical DSP courses from EE-based DSP courses were then discussed. The nature of biosignals, the need for problem-solving in biomedicine, background and goals of students, and the purpose of processing the biosignals all contrib- ute to making biomedical DSP unique. Useful pedagogical methods were also noted, including laboratories and projects, use of MATLAB, processing real signals, processing images, acquiring real signals, and designing, constructing, and/or using real hardware. The focus of this thesis has been on creating the outline of a text appropriate for a particular biomedical DSP course. The audience chosen is that of BME students without a linear systems and signals background who want a broad exposure to DSP topics relevant to BME. The goals of the text are that the student be able to use a number of fundamental DSP techniques, including some that are not developed rigorously, such as simple detec- tion and estimation. Image processing and compression are also covered, again with the goal of introducing some of the simple techniques. The creation of an outline is very different from writing an actual text, and any realization of the proposed text would almost surely vary from this outline. However, the author’s experience has been that a detailed outline is a necessary first step. This outline is useful in describing one particular route to addressing the needs of one particular group of BME students. 39 APPENDICES 40 APPENDIX A: OUTLINE FOR A TEXT The following is an annotated outline for a text as described in the body of this paper. Front matter 0 Preface 0.1 Content 0.1.1 Why important 0.1.2 Introduction to subject 0.1.3 Processing signals digitally 0.1.4 Images 0.2 Audience 0.2.1 Background by subject area 0.3 Approach 0.3.1 Minimal mathematics 0.3.2 The limits this imposes on material 0.3.3 Use of MATLAB 0.3.4 The need for additional back- ground for further study 0.4 Acknowledgements 1 Introduction 1.1 Biomedical signals 1.1.1 Philosophical Trademarks, disclaimers, safety What is being said; who we think we’re say- ing it to; how we’re going to say it Figure: Before and after filtering (60 Hz noise on ECG) Figure: Image sharpening or despeckling of medical image People in biomedical engineering who need an overview understanding of DSP, but who lack a traditional electrical engineering background (i.e., linear signals and systems) However, point out that complex mathemat- ics will be used (and briefly reviewed). Without a more mathematical approach, many connections will not be clear, and that some flexibility is given up by relying on “cookbook” approaches. Why MATLAB (powerful, built-in func- tions for DSP, widely used). This presentation will include only the ba- sics; good engineering will probably require deeper understanding, especially if applied to a life-critical application. What is measured vs. information sought-- i.e., the signal we get is often related only empirically to the information we are seek- mg. Example: EEG, ECG, MR 41 1.2 Need for processing signals 1.2.1 Conditioning (amplitude, impedance) 1.2.2 Noise 1.2.2.1 Filtering 1.2.3 Compensation 1.2.4 Linearization 1.2.5 Time scale 1.2.5.1 Fast, slow 1.2.5.2 Non-repetitive 1.2.6 Image "reconstruction" 1.2.7 Interpretation (incl. freq domain) 1.3 Signal processing methods 1.3.1 Analog 1.3.1.1 Advantages 1.3.1.1.1 Necessary for condition- mg Often cheap Fast, high-frequency Well understood, widely known 1.3.1.1.2 1.3.1.1.3 1.3.1.1.4 1.3.1.1.5 Interface to existing equipment 1.3.1.2 Disadvantages 1.3.1.2.1 Initial precision, drift 1.3.1.2.2 Size 1.3.1.2.3 Cost 1.3.1.2.4 Power Example/Figure: ECG amplifier Example/Figure: ECG signal from above w/ 60 Hz noise) Note: Sometimes actually want to detect the 60 Hz from line/environment so we can syn- chronize to it (or subtract it accurately). In-band vs. out of band noise, notch filters. Example: Frequency response Example/Figure: thermistor The time scale of biomedical signals is sometimes not convenient for our direct use. Example: Temperature via strip chart re- corder Transient (freeze time) Example: Eye cycads (sp?) Example: From projections Figure: MRI, ultrasound Compare with handheld image scanners Example/Figure: RC filter Compare with digital bandwidths Reference: [8] Example: Modular electronic test equipment Example: R and C variations from ideal 42 1 ..3 1. 2.5 Limits to types of process- ing 1.3.1.2.6 Fixed (often) parameters 1.3.2 Digital 1.3.2.1 Benefits 1.3.2.1.1 Precision, lack of drift 1.3.2.1.2 Compression 1.3.2.1.3 Superset of analog func- tions 1.3.2.1.4 Apply mathematics to sig- nal 1.3.2.1.5 Change parameters 1.3.2.1.6 Simple algorithms 1.3.2.1.7 Share hardware with other control tasks 1.3.2.1.8 Design tools available for DSP 1.3.2.1.9 Ability to process in batch mode 1.3.2.1.9.1 Time scale of change vs. time scale of parameter of interest 1.3.2.2 Disadvantages 1.3.2.2.1 Theory not always acces- sible 1.3.2.2.2 Base price is expensive Analog electronics rs limited by physics. Some physical phenemena are useful 1n pro- cessing signals (such as integrating or differ- entiating voltage signals using capacitors, inductors, and resistors). Not every useful operation can be (easily) done using these devices. Example: CD player, digital hearing aids, cardiological instruments, etc. Store digitally, eliminate noise, efficient storage/transmission, arbitrary SNR (non- realtime, comment on bandwidth of chan- nels), lossless/lossy, multi-function channels (e.g., Internet) Example: FBI fingerprint compression Example: Geometric operations, such as in constructed images Example: Adaptive filters in modems Figure: Listing of core of digital filter I e non-realtime (including faster than real- time) Example: Can capture a signal, then spend longer than that time processing it if the pa- rameter of interest can be detected from a short set of samples, but changes slowly compared to the amount of time necessary to process the signal. Note that all of the disadvantages below have analogues with using microprocessors in digital control applications. 43 1.3.2.2.3 Inherently slower than analog 1.3.2.2.4 Finite precision 1.3.2.2.5 Multiple technologies 2 Describing signals 2.1 Time domain representations 2.1.1 Introduction to MATLAB 2.2 Frequency domain representa- tions 2.2.1 How to think about spectra 2.2.1.1 Tuned filters (magnitude) 2.2.1.2 Synthesis (from sinusoids) 2.2.2 Using the FFT 2.2.3 Magnitude 2.2.4 Phase, time delay 2.2.4.1 Equation Finite word length Hence, multiple knowledge areas Example: Signals/systems, programming, analog hardware, digital hardware Images are discussed in a later chapter--just a brief mention here as spatial vs. temporal, and additional dimension(s). Example/Figure: ECG, speech Why MATLAB is used, what it can do MATLAB/Figure: Start up MATLAB; add two numbers; generate a vector; print vector; plot vector; vector operations; getting help; some functions used; adding scales, grid, ti- tles to plots Example: EEG, speech Two approaches--analysis and synthesis. The first is important in explaining how one could generate a frequency domain repre- sentation, but the second is important in “proving” the completeness of that represen- tation. Might mention radio receiver (analog tun- ing!) Figure: Tunable filter & AC voltmeter Figure/MATLAB: Square wave for sinuso- ids Forward reference: other basis functions FFT as discretly-tunable filter Forward reference: correlation MATLAB/Figure: FFT as tool to produce spectra; reading data files; read speech file and produce spectra (long enough to use rect window) Forward reference: abs() and log10() (dB) MATLAB/Figure: FFT of large and small sinusoids at different frequencies MATLAB/Figure: Phase of sine, cosine Figure: speech signal, random phase Forward reference: inverse FFT 44 2.2.5 Completeness & information 2.2.6 Filtering in the frequency domain 2.2.7 Logarithmic scales 2.2.8 Rad/sec vs. Hz 2.3 Discrete-time 2.3.1 Introduction 2.3.1.1 Sampled CT signals (peri- odic measurements) 2.3.1.2 Phenomena that are dis- crete by nature 2.3.2 Aliasing 2.3.2.1 Nyquist rate, frequency 2.3.2.2 Practical sampling rates 2.3.2.3 Phase and negative fre- quency 2.3.2.4 Undersampling on purpose 2.3.3 Digital versus discrete-time 2.3.3.1 Implications of digital pro- cessing 2.3.3.2 Why design is of discrete- time systems instead of digi- tal 2.3.3.3 Quantization noise 2.3.4 Quantizing Inverse transformation Real signals, why magnitude + phase is not twice as much information Forward reference: FFT discussion (why the input to FFT routines is often complex) MATLAB/Figure: Simple filtering by atten- uating magnitudes before IFFI‘ Forward reference: Chapter on digital filters (i.e., comment on efficiency of filter imple- mentation) Figure: Linear/linear, linear/log, log/log scales (frequency/magnitude) Equation MATLAB: Plot using rad/sec Forward reference: Digital (and occasional ambiguity of “digital” vs. discrete-time) Figure: Plot of DT signal, dashed CT Example: Number of people (counts) A fundamental question: how fast should one sample? Upper and lower limits. Example: Sampling breathing rate (approxi- mately periodic signal where aliasing can be demonstrated) Sampling right at twice highest frequency Typical sampling rates (e.g., 5-10 times N yquist frequency) (Sidebar) Figure: Realworld frequency to aliased fre- quency Equation Example: Money, EEG Values are approximated, but essentially in- finite SNR Discrete-time effects vs. quantization effects Table: Noise vs. bits of resolution 45 2.3.4.1 ADC 2.3.4.1.] Simple examples 2.3.4.1.2 Anti-aliasing 2.3.4.1.3 Real-world ADCs 2.3.4.2 DAC 2.3.4.2.] Simple examples 2.3.4.2.2 Anti-imaging 2.3.4.2.3 Sin(x)/x 2.3.4.2.4 Real-world DACs 2.3.5 Discrete frequency 2.3.6 Normalized frequency vs. real- world frequency 2.3.6.1 Notation 3 Linear digital filters 3.1 Averaging -> difference equations 3.2 MATLAB filtering evaluation 3.3 Finding coefficients (overview/ motivation) 3.4 Specifying filters 3.4.1 Magnitude, phase response 3.4.1.1 Low/band/high-pass, etc. 3.4.1.2 Using decibels 3.4.1.3 Filter specifications 3.4.1.3.] Passband cutoff / edge Figure: Flash converter Figure: Typical filter/ADC Parameters, types, interfaces Table/Figure: Typical converter speed/reso- lution/type (see Figure 4-26 in [7]) Figure: Simple DAC Figure: Magnitude spectrum of output, out- put with anti-imaging filter Figure: Time-domain output, with filtering (see Figures 430, 4-31, 4-32 in [7]) Figure: Magnitude spectrum with and with- out sin(x)/x correction Parameters, types, interfaces Combination ADC/DAC Typical values for biomedical applications Forward reference: Section on DFI’ Equation (2 vs. (1), Fvs. f Why linear, importance Overview of two types (FIR, IIR), catego- rized by presence of feedback Use a simple averaging example (e.g., air temperature, take mean of last 4 observa— tions) to get to difference equations. Figure: Signal with noise, result after aver- aging Figure/MATLAB: Apply simple averaging filter (from difference equation) to above signal Figure/MATLAB: Modify filter coeffi- cients, observe magnitude spectrum Figure: LP, HP, BP responses Figure: LP filter labeled with parameters be- low 46 3.4.1.32 Passband ripple 3.4.1.3.3 Stopband cutoff/ edge 3.4.1.3.4 Stopband ripple 3.4.1.3.5 Center frequency 3.4.1.3.6 Bandwidth I Q 3.4.1.4 Phase 3.4.1.4.1 Linear phase 3.4.2 Time-domain issues 3.4.2.1 Impulse, step response 3.4.2.2 Time-domain measurements 3.5 FIR filters 3.5.1 Parks-McClellan (Optimal Equiripple) 3.5.1.1 Example 3.5.1.2 Specifying parameters 3.5.1.2.1 Determining order 11 3.5.1.3 Linear phase 3.5.1.4 Advanced use 3.5.2 Simple integer (frequency-sam- pling) FIR filters Caution: Differences in specifying ripple pa- rameters between “analog” and “digital” fil- ters (passive vs. active)--see section 3.5.2.2 in [7]. Also, 3 different ways of specifying the rip- ple! Causality, time delay Figure: Linear phase response Figure: Time domain linear phase, nonlinear phase Note importance in applications where time- domain features are traditionally (and/or em- pirically) emphasized--e.g., ECG Figure: Impulse and step response of a filter Figure: Step response labeled Figure: ECG with “good,” “bad” filter Table: Characteristics Forward reference: Comparison table of FIR vs IIR Figure: FIR diagram MATLAB: FIR filter design (i.e., romez) Figure: Noisy signal input/output Equation MATLAB: use remezord MATLAB/Figure: Phase response plot (use freqz) MATLAB/Figure: Multi-passband or non- uniform passband (sloped passband) exam- ple Equivalence to efficient averaging algorithm (for lowpass filter) Limitations MATLAB/Figure: Simple integer filter 47 3.5.3 Windowing 3.5.4 Frequency response from coef- ficients 3.5.4.1 H(e.i(0) 3.5.4.2 FFT 3.5.5 Implementing 3.5.5.1 Direct structure 3.5.5.2 Fast convolution 3.5.5.3 MAC instruction 3.5.6 Summary of FIR design meth- ods 3.5.7 Summary steps in FIR filter design 3.6 IIR filters 3.6.1 IIR characteristics 3.6.2 Design process options 3.6.3 Analog prototypes 3.6.3.1 Frequency response func- tion HGQ) 3.6.3.2 Analog prototypes 3.6.3.2.1 Simple table of filter types 3.6.4 Converting from "analog" to "digital" filters 3.6.4.1 BZT 3.6.5 Implementing 3.6.5.1 F08, 8085 Brief discussion only--not emphasized. (P- M receives more attention in this text) MATLAB: FIR filter by windowing Forward reference: Table of windows in DFI‘ section Discuss simplistic (inefficient) approach MATLAB/Figure: f reqz function example Saving data movement, saving multiplies (linear phase structure) Calculations, appropriate situations (sidebar) Table: (see Table 5-5 in [7]) Figure: (see section 5.3 of [7]) Can view as superset of FIR--addition of feedback. Other issues: Stability (feedback), phase, faster, complexity of implementation vs. FIR multiply-accumulate Indirect, Ad Hoc, time-domain, and frequen- cy-domain (iterative) methods. Overview of indirect design method. Optimal for different parameters (ripple, sharpness of transition, phase) See Table 6-1 of [7]. Mention frequency warping, but use MAT- LAB function bilinear and/or other functions with built-in frequency warping. Problems/issues directly implementing the IIR difference equation. 48 3.6.5.2 Forms and structures 3.6.5.3 Notes on converting lowpass to band/high pass 3.7 FIR vs. IIR filters 3.8 Other filters 4 Frequency Analysis and the Fast Fourier Transform 4.1 Introduction 4.1.1 Example of FFT results 4.1.2 Interpretation 4.1.3 Wider view of spectral analysis 4.2 The DFT 4.2.1 Intuitive operation 4.2.1.1 Example of sinusoids corre- lated 4.2.1.2 Magnitude and phase 4.2.2 Interpretation of output 4.2.2.1 Complex Direct form I, II (canonic); parallel and cas- cade structures. See Tables 6-4 and 6-5 of [7]. Comparisons Table: Advantages, disadvantages (see [7]) Usual criteria for selection Time-domain, empirical Forward reference: Image processing Stress importance, especially of FFT, but also wavelets. Application to many fields MATLAB/Figure: Speech data (steady-state voiced) DFT “assumes” input is periodic (forward reference to windowing), output is discrete frequency magnitude & phase. Can synthe- size signal from this description (i.e., it is complete). Draw attention to assumptions: stationary input, linear frequency resolution output. Decomposition into orthogonal bases (con- vey intuitively, forward reference to wave- lets). Assumption input signal is stationary and periodic with period a multiple of window. What discrete frequencies are present (and what phase), by correlation. (Correlation de- scribed as a measure of similarity between signals.) Use sine & cosine to show one needs a mag- nitude (not real part of complex number) and phase. Note exponential and trigonometric repre- sentations used for DFT and complex num- bers in general. Euler relates the two. 49 4.2.2.2 Magnitude 4.2.2.3 Squared, power spectral density 4.2.3 Leakage and resolution 4.2.3.1 Window shape: spectral leakage 4.2.3.1.] Window types (table) 4.2.3.2 Window length: frequency resolution 4.2.3.2.1 Zero padding 4.2.3.2.2 Adding data 4.3 The FFT 4.3.] Need (computational) 4.3.2 Relationship to DFT 4.3.3 How the FFT works 4.3.4 Input/output formats Discrete frequency, equation to relate to re- alworld frequency. Forward reference to res- olution in context of “what frequencies correspond to what numbers.” Advantage in that power is often the mea- sure of interest; also eliminates need to take square root in finding magnitude from com- plex numbers in rectangular coordinate sys- tem. (No mention of DTFI‘.) Windows intro- duced as consequence of DFT interpreting input as periodic, so need to “smooth” the ends of the input. Side lobe magnitude. Example: Compare rectangle to Blackman windowing of single frequency input. See Table 8-1, Figure 8-6 of [7]. Main lobe width. Example: Compare rectangle to Blackman windowing of two nearby frequencies. Apply after windowing! Interpretation as increasing sampling of ex- isting spectrum. If highest “sampling rate” is not enough, must increase length of data. For summary of window length and pad- ding, see Figure 8-15 of [7]. Example: DFT computational requirements for 1024-point. Except for numerical issues, same result, compuationally efficient, family of algo- rithms, limitations on input length (e.g., power of two). Divide and conquer strategy; quick deriva- tion of (N/2)log2N (hence power of two re- quirement of input length), decimation-in- time (DIT), decimation-in-frequency (DIF), butterfly. MATLAB: Verify approximate number of FLOPS for a lO24-point FFT. Bit-reversed input (DIT), output (DIF); for- ward reference to complex input. 50 4.4 Inverse DFT/FFT 4.4.] Complex inputs for FFT/IFFT 4.5 Time-frequency analysis 4.5.1 Stationary & non-stationary signals 4.5.2 Multiple, overlapping FFl‘s (time vs. frequency resolution) 4.5.3 Wavelets 4.6 Other transforms and techniques 4.6.1 Wavelets 4.6.2 Multiple filters 4.6.3 Goertzel 5 Correlation and Signal Averaging 5.1 Crosscorrelation Show DFT and IDFI‘ equations; scaling and sign are only difference, can use same code (with a flag) for both operations. Discuss “fast convolution”--now have framework to discuss FFT/IFFI‘ alternative to time-domain convolution for filtering. Complex signals; IFFI‘ input; the real-input FFT The assumption of stationarity in the DFT; conditions when this is justified, and when it is not. Example: Speech, can be treated as station- ary over 5-20+ msec. Example: Speech, EEG. Figure: Overlapping FFT of speech sample An informal appeal to Heisenberg--i.e., res- olution in frequency vs. localization in time. Example: Swept sinusoid. Example: Swept sinusoid. (Compare with above) Why other transforms: computational effi- ciency, good match to digital processors, better match to the signal (i.e., better model of underlying stochastic process), time-fre- quency issues, selective or non-linear fre- quency resolution. Table, comparison to FFT. Note computational requirements and result- ing information (i.e., the Wavelet transform is usually faster because the common imple- mentation does not produce linear frequency resolution). Example: Displays for stereo equalizers A special, limited case of the DFT (calcu- lates subset of outputs, efficient IIR imple- mentation) The goals are to detect presence of known signal or estimate some parameter of a known signal Example: Time delay Example: Heart beat modulating micro- waves (e. g., under building rubble) Outline basic idea of comparing two signals- -one known. Reference to correlation in the DFT. Two applications discussed: 51 6 5.1.1 Detecting a known signal in additive noise 5.1.2 Estimating time delay 5.1.3 Pseudo-Random Noise 5.2 Autocorrelation Example: ECG and template Figure/MATLAB: See Figure 9-3 of [7], substitute ECG and template for sinusoid (non—optimum heart beat detector). Example: Echo-based imaging (e.g., ultra- sound) Figure/MATLAB: Received signal (w/ noise) correlated with transmitted signal Brief discussion of need for signals with nice correlation properties (i.e., “random”), out- line some simple schemes for same (e.g., lin- ear feedback shift register). I.e., compare one section of a signal with an- other section of same signal. Assumption: noise is uncorrelated (or low energy) 5.2.] Estimating periodicity of signal Example: Speech, pitch detection (non-opti- 5.2.2 Energy 5.3 Signal averaging 5.3.] High-resolution ECG Image processing 6.] Why digital image processing? 6.1.1 Enhance established practice 6.1.2 New technology 6.1.3 Analyze existing images 6.2 Creating a digital image mum) Equivalence of autocorrelation with lag=0 and equation for signal energy (careful-mote that some finer points are glossed over with respect to definition of power and energy signals for finite signals, etc.) Give simple example, point out assumption - made about noise (uncorrelated). Note need for finding robust fiducial points. (See [3].) Figure/MATLAB: Add noise to long ECG sequence, use correlation to align for averag- mg. Example: Enhance x-rays (reduce noise, in- crease constrast, etc.) DSP enables new tools, not possible with old technology Example: CT --Using mathematics to assem- ble 3-d picture vs. invasive surgery. Can perform exacting analysis without fa- tigue-induced error. Example: Automated detection of malignan- cies 52 6.2.] Sampling in two dimensions 6.2.2 Quantizing 6.2.3 Color, monochrome 6.2.3.1 Comments on human visual system (properties) 6.2.4 Source, application 6.2.4.1 Grouping by method 6.2.4.1.] Shadows 6.2.4.1.2 Reflections 6.2.4.1.3 Emissions 6.2.4.2 Grouping by image 6.2.4.2.] Direct imaging 6.2.4.2.2 Computed imaging 6.3 Enhancement 6.3.1 Operations on a single point 6.3.1.1 Color/shading modification 6.3.1.1.] contrast/false color 6.3.2 Area Operations Sampling--inherent in detector, or in sam- pling rate and line spacing of “serialized” image (e.g., video signal). Example/Figure: Long, fairly narrow image, with increasing spatial frequency, shows spatial aliasing. Or, make it square and show aliasing in both dimensions. Light intensity to numeric value. Note that typically detectors do not output in intensity/hue; typical is use of monochrome sensor or multiple sensbrs in (roughly) or- thogonal hues. Logarithmic; use of color, intensity, “trick- ing” the eye using RGB. (See, for example, [12]) An attempt to categorize computed imaging by method and imaging (summarize in a ta- ble) Example: X-ray Example: Ultrasound, MR Example: Nuclear medicine, thermal Example: X-ray, some nuclear Example: Ultrasound, MR, PET, SPECT, x- ray CT Note the phenomenon of x-ray absorption in bones, the sensitivity of x-ray detectors or film to x-rays, etc., are non-linear and not necessarily optimum for interpretation by humans. Single-point operations can make this information more visible by matching our sensitivity better. Example: Give raw data of x-ray with bad contrast, and simple operation to map (non- linearly) pixel values. Note that single-point processing is in some sense analogous to linearization of( l-d) sig- nals, though in that case the mapping is not arbitrary. 53 6.3.2.1 Spatial filtering Example/Figure: Use a separable 2-d filter to reduce the noise in an image. - (Must justify separable property, but it pays 6.3.2.2 Edge enhancement etc 6.4 Analysis 6.5 Reconstruction from projections 6.5.1 Reconstruction by back projec- tion 6.5.1.1 Filtering the resulting image 6.5.1.2 Filtering the projections 7 Compression 7 .1 Motivation 7.1.] Storage 7.1.2 Communications 7.2 Lossless, lossy 7.3 Common approach to compres- sion 7.4 Examples 7 .4.1 Run length encoding 7.4.2 Spatial frequency techniques 7.4.3 Empirical time-domain off in allowing existing l-d filtering to be used.) Note--comment that images can have arbi- trarily “sharp” edges, in contrast to many other signals that are limited in bandwidth by the underlying physics involved. (Has implications for efficient decomposition-- e. g., wavelets.) Example: High-pass filter. Spatial-domain techniques. Just an overview—-recognition, detection. Example: Edge detector This, with the spatial filters above, is a major focus--motivating, relatively simple, basis for important new technologies. Start with a square matrix example (2 pro- jections), then generalize. Introduce need to apply a filter--either filter- ing the image, or projection Show some calculations for typical images (more dramatic than l-d signals like ECG) Example: ECG, images Arbitrary SNR, all digital conununication/ storage, as part of efficient communication Historic need to reduce bandwidth. Example: Data over phone lines, via modem When information can be thrown away, presence of noise, optimizing based on hu- man perception Compression often a two-part processuex- pression in an appropriate (orthogonal) ba- sis, then encoding. (Sinusoids are not the best basis for everything!). See article [4]. Exercise: Write simple RLL routine Example/Figure: FBI wavelet Example: ECG compression 54 8 Afterword 9 Bibliography 10 Glossary 11 Index 12 Table of symbols l3 CDROM 13.] Contents 13.1.1 M-file examples 13.1.2 Example biomedical signals 13.1.2.1 EEG 13.1.2.2 ECG 13.1.2.3 EMG 13.1.2.4 Physiological (biomechan- ics) 13.1.2.5 Speech 13.1.2.6 Images Additional comments about areas that were not covered, now that the reader has a frame- work. Also includes web resources, such as the SPIB database, MIT-BIH, etc. With page numbers Table of symbols used in the text, with brief description (and name, for Greek and other unusual symbols) and page number where defined. A CDROM should be included, which would allow a huge amount of data and pro- grams to be included. As with the prior book, MATLAB m-files for the illustrations and examples would be useful to include. Note--pennission has already been granted by MIT-BIH to include data (e.g., ECG) from their database [10], with appropriate credit. Some example speech, perhaps from SPIB [11] 13.1.3 Description of format of signals MATLAB compatible, but also provide de- 13.].4 1.44M floppy disk image of minimal data set tails to allow use on multiple platforms and with other or custom software. Just a subdirectory, would allow instructor or student to create a floppy disk with a sub- set of data useful in doing exercises. 55 APPENDIX B: EXAMPLE EXERCISES Below are examples of the type of exercises that would accompany the text out- lined in this paper. The exercises are not necessarily in the order they would occur in the text. In some cases explanatory comments have been added to the start of the exercise, though this material would normally occur in the text itself. Exercise 1 MATLAB can plot vectors (lists of discrete numbers), but cannot directly plot continuous-time functions. Instead, we choose enough discrete points to plot that give the appearance of a smooth function. To plot a few cycles of a cosine wave of amplitude 4, fre- quency 2 Hz (i.e., 4cos(21tt2), as shown in Figure l, we could use 0 0.2 0.4 0.6 0.8 1 Figure 1 Exercise 1, 2 cycles of a cosine wave start_time=0; end_time=1; % 1 sec points=200; t=start_time: (end_time-start_time)/points: end_time; plot( t, 4*cos(2*pi*t*2)); Note that t is a vector of times, equally spaced so that approximately 200 points are included. (The number 200 is arbitrary--lower numbers are less smooth, higher num- bers take more memory and in other contexts may take longer to process.) 56 Generate a plot using MATLAB for the continuous-time signals described below. Use enough points to produce a relatively smooth graph, and use a time scale that shows all relevant features. Be sure to label the axes. Use an amplitude of one and a phase of zero unless specified. To save paper, you can use the subplot () function in MATLAB. a) 1 KHz cosine; b) 1 MHz sine; c) 17 Hz cosine + 60 Hz sine; d) 17 Hz cosine (amplitude 0.2) + 60 Hz sine; e) 20 Hz sine + 20 Hz cosine; f) 377 rad/s sin, phase 1:14; g) 10 Hz squarewave times a 60 Hz cosine; h) 35 Hz cosine (amplitude 0.4, phase 90°). Answer: subplot(4,1,1); % 4 subplots, horizontal % Pick, say, 20x for plotting, 5 waveforms m=20; cyc=5; % number of cycles to plot % a) l KHz cosine f=lOOO; T=1/f; % frequency & period t=O:T/m:(cyc*T-T/m); % time vector % time 0 to time at end of ‘cyc' cycles, % incrementing T/m (sample period) y = l*cos(2*pi*f*t); subplot(4,l,l); plot(t*lOOO,y); grid on; xlabel(‘Time (msec)’); ylabel(‘Amplitude’); % b) 1 MHz sine f=1e6; T=l/f; % frequency & period t=0:T/m:(cyc*T-T/m); % time vector y = l*sin(2*pi*f*t); subplot(4,1,2); plot(t*le6,y); grid on; xlabel(‘Time (usec)’); ylabel(‘Amplitude’); % c) 17 Hz cosine + 60 Hz sine; m=5; cyc=20; % revise to get better picture f=60; T=1/f; % frequency & period t=0:T/m:(cyc*T—T/m); % time vector y = cos(2*pi*l7*t)+sin(2*pi*60*t); subplot(4,l,3); plot(t*lOOO,y); grid on; xlabel(‘Time (msec)’); ylabel(‘Amplitude'); % d) 17 Hz cosine (amplitude 0.2) + 60 Hz sine; m=5; cyc=20; % revise to get better picture f=60; T=1/f; % frequency & period t=O:T/m:(cyc*T-T/m); % time vector y = O.2*cos(2*pi*17*t)+sin(2*pi*60*t); subplot(4,1,4); plot(t*lOOO,y); grid on; xlabel(‘Time (msec)'); ylabel(‘Amplitude'); m=20; cyc=5; % restore 57 % next figure figure; subplot(4,l,l); % 4 subplots, horizontal % e) 20 Hz sine + 20 Hz cosine f=20; T=l/f; % frequency & period t=0:T/m:(cyc*T-T/m); % time vector y = 1*sin(2*pi*f*t) + 1*cos(2*pi*f*t); subplot(4,l,l); plot(t*lOOO,y); grid on; xlabel(‘Time (msec)'); ylabel(‘Amplitude'); % f) 377 rad/s sin, phase p/4; w=377; T=2*pi/w; % frequency & period t=0:T/m:(cyc*T-T/m); % time vector y = l*sin(w*t+pi/4); subplot(4,l,2); plot(t*lOOO,y); grid on; xlabe1(‘Time (msec)’); ylabel(‘Amplitude'); % g) 10 Hz pulse times a 60 Hz cosine; m=20; cyc=10; % revise to get better picture f=60; T=l/f; % frequency & period t=0:T/m:(cyc*T-T/m); % time vector y = ((cos(2*pi*10*t))>0) .* cos(2*pi*60*t); % definition of phase wasn’t specified for squarewave subplot(4,l,3); plot(t*lOOO,y); grid on; xlabel(‘Time (msec)’); ylabel(‘Amplitude’); m=20; cyc=5; % restore % h) 35 Hz cosine (amplitude 0.4, phase 90°). f=35; T=1/f; % frequency & period t=0:T/m:(cyc*T-T/m); % time vector y = O.4*cos(2*pi*f*t+pi/2); subplot(4,l,4); plot(t*lOOO,y); grid on; xlabel(‘Time (msec)’); ylabel(‘Amplitude’); 58 O i— ................ .. _2 1 l l l 1 1 0 50 1 00 1 50 200 250 300 350 2 1 1 r 1 r 1 o — ' _ -2 1 1 1 1 1 l 0 50 1 00 1 50 200 250 300 350 Figure 2 Exercise 1, signals a) through d) 59 0 50 100 150 200 250 20 30 40 50 60 70 80 90 40 60 80 100 120 140 160 180 _0 5 i i 0 so 100 150 Figure 3 Exercise 1, signals e) through h) Exercise 2 The Fourier transform (FT) and its inverse allow us to move between the time domain and frequency domain representations of continuous-time signals. We can use the discrete Fourier transform (DFT), usually available in a form known as the fast Fourier transform (FFT), to perform this transformation on discrete-time signals. MATLAB has this function available, as the following example shows. (See Figure 4.) s_rate=200; % sample 200 points per second t=0:1/s_rate:l; % 1 second x=(sin(2*pi*t*10) >= 0)-0.5; % square wave, 10 Hz Y=fft(x,512); % SlZ-point DFT f=(0:255)*s_rate/512; % frequency scale subplot(2,l,l); plot(t,x); subplot(2,l,2); plot(f,abs(Y(l:256))); % plot magnitude of first half only 60 0 20 4.0 60 80 1 00 Figure 4 Exercise 2, FFT of a square wave Review if necessary any MATLAB syntax that is unfamiliar, especially how ranges of numbers (e.g., 1 : 256) and indexing into vectors works. The FFI‘ produces more information than we need, so notice that we only use the first half of the resulting vector. The abs function gives us the magnitude of the complex output of the FFT. Use the angle function to produce the phase. The real and lung functions return the real and imaginary parts of the complex output. Replace the expression for x in the listing above to generate a sine wave of ampli- tude 4 and frequency 47 Hz plus a cosine wave with amplitude 1 at 35 Hz. Produce a fre- quency-domain magnitude & phase plot. Plot the real and imaginary components. Exercise 3 a) Use the IFFT to produce a time-domain signal using the FFT from Exercise 2. b) Now zero out the phase and perform the IFFI‘. c) Zero out the magnitude, keeping the phase. (1) Make the phase random. e) Zero out the real part. f) Zero out the imaginary part. Compare the results of each of these manipulations with the original time-domain signal. Exercise 4 Determine whether the human auditory system can differentiate between the signal reconstructed with unadjusted phase and random phase. (Hint: Use the “sound” func- tion in MATLAB and the techniques of Exercise 3.) Exercise 5 Calculate the phase in radians and degrees between the input and output of a “black box” that delays the input signal by 0.05 seconds, given the following input signal: 5-cos(2-1t-2000) 61 Exercise 6 The following commands in MATLAB will read in an ASCII data file consist- ing of data samples: % open and read data file fid=fopen(‘samples.dat',’r’); x = fscanf(fid,’%d’); First, read in the data file v5a.dat, which contains a single channal of ECG data from the MIT-BIH database. The sampling rate is 360 Hz. Plot this signal, with the correct time along the x-axis. Add 60 Hz interference to the signal as follows: n= cos(2*pi*t*60) .* 20; % 20 is arbitrary xn=x + n; where t: is a vector containing the time, in seconds, of each sample, and x is the original data vector. Plot this signal. Now use the remez and filter functions in MAT- LAB to design a filter with the following parameters: Stopband: 55-65 Hz Deviation in the passbands: 0.01 Deviation in the stopband: 0.1 You may want to use the function remezord to estimate the order and calculate other parameters for the remez filter design function. Plot the filtered signal (you may want to omit the first 100 samples or so to avoid the transients caused by the filter starting up). Compare the filtered signal to the original signal. Answer: 1300 1200 .......... ......... ........ ...... . 1100.... . ..... 1000“ ...... ......... I ......... ...... . .. 900 A A 1 0 05 1 15 2 Figure 5 Exercise 6, original signal 62 .5 —L o o ooooooooooooooooooooooooooooo 11 Q5 1 L5 2 Figure 6 Exercise 6, signal with 60 Hz noise 130° F I I F ' F 1 v 1200 ‘HOO 10M) 9m) 02 1300 12M) ‘HOO «mo 9m) 1 i i ' ' i 02 04 06 08 1 L2 L4 L6 L8 2 Figure 7 Exercise 6, filtered and original signals dname='v5a.dat’; s_rate=360; % sampling rate % open and read data file fid=fopen(dname,'r’); x = fscanf(fid,'%d’); x=x’; fprintf(‘fi1e “%s" opened, %d elements read\n’,dname,length(x)); % plot it w/o any noise, just 2 seconds worth dur=2; last=dur*s_rate; 63 x=x(1:last); t=(0:(1ast-l))/s_rate; % time in seconds plot(t,x); grid on; % now add some 60 Hz interference n= cos(2*pi*t*60) .* 20; % 20 is arbitrary xn=x + n; 910t(t.Xn); grid on; % now filter with FIR filter F=[50 55 65 70]; % cutoff frequencies, Hz A=[l O 1]; % amplitudes per band Dev=[0.01 0.1 0.01]; % deviation per band [N,Fo,Ao,W]=remezord(F,A,Dev,s_rate); % calculate params b=remez(N,Fo,Ao,W); % calculate filter coefficients y=filter(b,[1],xn); % filter the signal % throw out the first 100 samples and compare subplot(2,l,l); plot(t(100:length(t)),y(100:1ength(y))); grid on; subplot(2,l,2); plot(t(100:1ength(t)),x(100:length(x))); grid on; Exercise 7 Filtering using FFT: Create waveform by adding sinusoid + noise. FFT. Zero out coefficients outside desired freq range. IFFT and plot. Repeat using sinusoid both inside and out of desired freq range. Repeat for highpass, bandpass. Exercise 8 Complete Table 3. Unless otherwise specified, measurements are “rms.” When necessary, assume the loads for both measurement a and b are the same. If a quantity can not be computed, state the reason. Table 3 Exercise 8 a b dB 1V' 90dB 1V 90dB lV' 0001V' IVV OOOIVV lV' ‘lV (IV 0001V 0.70795 V 0 V lV' OdB 64 Table 3 Exercise 8 (Continued) a b dB 1V -3dB 1V 6dB 1V -lOdB 1V 20dB 1W OdB 1W -3dB 1W 6dB 1W -10dB 1W 20dB -0.70795V 1V 1V 1W 1W 0.70795V Exercise 9 Complete Table 4. Table 4 Exercise 9 Radians In terms of it Decimal approx. 65 Exercise 10 Complete Table 5, expressing the frequencies in Hertz and radians/sec. Table 5 Exercise 10 Hertz rad/s 0 0.001 60 8 K 1 2K 1M Exercise 1] Categorize the following signals as analog, digital, discrete-time (Icontinous- value), discrete-value (Icontinuous-time). (If necessary, specify any conditions you feel are ambiguous.) a) Hourly blood pressure readings (3-digit digital display) b) Body core temperature of surgery patient c) Fetal heart rate (1) Heart beats in 1 minute of a patient e) Thermostat (old-style, bi-metalic strip bends to tip a mercury switch) f) Frequency generated by a swallowable temperature monitor that varies fre- quency with core body temperature g) Sampled ECG signal stored on disk Exercise 12 Give examples of analog, digital, and discrete-time signals that are distinct from any examples in Exercise 11. Exercise 13 For the given sampling frequency fs and input frequencies, find the aliased frequencies. (You may ignore the sign of the aliased frequencies, or specify negative fre- quencies, but be consistent.) 66 a)fs=8 kHz. f={60 Hz, 1 kHz, 3.9 kHz, 4 kHz, 4.1 kHz, 7.9 kHz, 8 kHz, 8.1 kHz, 15.9 kHz, 16.] kHz, 40 kHz, 870 kHz (AM radio station), 92.7 MHz (FM radio)} b) f3=100 Hz. f={10 Hz, 50 Hz, 60 Hz (AC line frequency). 120 Hz, 1.02 kHz} c)fS=60 Hz. f={10 Hz, 50 Hz, 60 Hz (AC line frequency), 120 Hz, 1.02 kHz} Exercise 14 Using MATLAB, write a script that demonstrates the effect of sampling a si- nusoid with a sampling frequency of 10f, 5f, 2f, 1 f, 0.7f where f is the frequency of the si- nusoid. (Hint: Use subplot (5 , 1) to place all the signals on one plot. Use comb to plot sampled points.) Exercise 15 Complete Table 6. Table 6 Exercise 15 Real-world Sampling fre- Normalized Normalized frequency (f) quency (0)) frequency (F) frequency (.0) 60 Hz 100 Hz 60 Hz 200 Hz 60 Hz 1 kHz 10 Hz 100 Hz 40 rad/s 100 rad/s 1 Hz 1 Hz 2n Hz 1 rad/s 100 Hz 0.2 8 kHz 0.111 rad 67 BIBLIOGRAPHY 68 BIBLIOGRAPHY [1] Biomedical Engineering Program Home Pages. [Online] Available httpzllfair- way.ecn.purdue.edu/v1/bme/biomed-homes.html, April 13, 1999. [2] Burrus, C. Sidney, Ramesh A. Gopinath, and Haitao Guo, Introduction to Wavelets and Wavelet Transforms: A Primer. Upper Saddle River, NJ: Prentice-Hall, 1998. [3] Craelius, William, Mark Restivo, and Nabil El-Sherif, “Techniques for Processing Cardiac Signals: Fiducial Formulae for Fidelity,” in High-Resolution Electrocar- diography, Nabil El-Sherif and Gioia Turitto, Eds. Mount Kisco, NY: Futura, 1992. Pp. 21-49. [4] Donoho, David L., Martin Vetterli, R. A. DeVore, and Ingrid Daubechies, “Data Com- pression and Harmonic Analysis,” IEEE Transactions on Information Theory, vol. 44, no. 6, pp. 2435-76, October 1998. [5] EAC Criteria for 1999. [Online] Available httpzllwww.abet.org/eac/EAC__99- 00_Criteria.htm, April 15, 1999. [6] Grover, Dale, The Cast of Characters. [Online] Available http://www.redcedar.com/ castofch.htm, April 17, 1999. [7] Grover, Dale, and John R. Deller, Digital Signal Processing and the Microcontroller. Upper Saddle River, NJ: Prentice-Hall, 1999. [8] Horowitz, Paul, and Winfield Hill, The Art of Electronics (2nd ed.). New York: Cam- bridge University Press, 1989. [9] Jain, Anil K., Fundamentals of Image Processing. Englewood Cliffs, NJ: Prentice- Hall, 1989. [10] MIT -BIH Database Distribution, [Online] Available http://ecg.rnit.edu/, April 17, 1999. [11] Signal Processing Information Base (SPIB). [Online] Available http:// spib.rice.edu:80/spib.html, April 17, 1999. [12] Tufte, Edward, Envisioning Information. Cheshire, CT: Graphics Press, 1990. 69 "711111111111111111“