A Survey of Digital Signal Processing Education Jerry J. Zacharias The University of North Carolina at Charlotte jjzachar@uncc.edu James M. Conrad The University of North Carolina at Charlotte jmconrad@uncc.edu Abstract microprocessors and, therefore, desire more education in DSP” [10]. It is therefore essential for universities to offer early courses in embedded DSP for engineering students. Kou and Miller also stated, “A laboratory synthesis experience is essential to reinforce the formal material delivered in the classroom setting” [13]. Many have repeatedly reminded the engineering education world that the world has become predominately digital, but electrical engineering education at many universities have not adjusted their core curriculum [14]. Perhaps electrical engineering could examine the suggestions of the computer engineering community with respect to Digital Signal Processing? The objective of this paper is to suggest a more rigorous and complete DSP curriculum that will meet corporate needs to produce “industry ready” DSP engineers from the ranks of students with undergraduate degrees. A study of many Digital Signal Processing (DSP) curriculums across the world was conducted to determine the level of DSP theory, application, and lab exercise activity that was currently being offered to engineering students. Curriculum guidelines on DSP from the ACM/IEEE Joint Task Force on Computer Engineering Education were examined to help guide the development of an "ideal" DSP curriculum. 2. Curriculum Suggestions from ACM/IEEE 1. Introduction and Need of DSP The ACM and IEEE Computer Society formed a joint task force to examine computing curricula for university computer engineering programs. The resultant report, Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering, includes recommendations for the inclusion of many computer engineering topics in sample programs administered by CS or ECE departments [31]. One core "Body of Knowledge" area is Digital Signal Processing. The DSP Body of Knowledge has a suggestion of seventeen hours of core material and additional suggested elective areas of unspecified time. These twelve areas and their learning objectives include: Digital Signal Processing (DSP) is one of the most powerful technologies today that use computers to process signals to fulfill a variety of needs such as speech recognition, noise filtering, data compression, audio and video enhancement. These applications or products would not be possible without the development of specialized hardware, embedded Digital Signal Processors (DSP). The world of embedded DSP is one that has evolved significantly over the past 30 years. The investments made in the development of DSP hardware and software by leading companies like Texas Instruments, Motorola, Agere Systems, and Analog Devices has resulted in a pervasive technology worth more than $10.4 billion. DSP devices are found in many popular consumer products such as: MP3 players, MPEG codecs, cell phones, and cable modems. There is little or no doubt that DSP currently plays an important role in modern life. The need for DSP engineering and will certainly grow in the twenty-first century. These developments have certainly generated a demand for knowledgeable individuals in signal theory and more importantly, familiarity with real-time embedded Digital Signal Processors and DSP software. Until recently, DSP courses were offered only in the graduate curricula of most universities, and such curricula had a heavy emphasis on mathematics and theory. However, one should not fail to understand the reasons for which many engineers lack DSP exposure today. Hong, et. al. have stated “Many of these engineers now find themselves working on products that use DSP 1-4244-1029-0/07/$25.00 ©2007 IEEE. 0. 1. 2. 322 History and overview (1 hour): Students are expected to clearly distinguish the difference between analog and discrete signals. Be able to articulate differences between image processing and computer graphics. Must be able to indicate the characteristics of filters: low-pass and high-pass filters. Students should be able to identify the needs and benefits of digital signal processing. Theories and concepts (1 hour): Crucial topics such as: sampling theorem, time domain, frequency domain, and principles of causality like discrete and continuous spectra should be clearly articulated to the students. Digital spectra analysis (1 hour): Students should be able to describe the spectra of a periodic signal, contrast between the spectra of an impulse and a square wave, and describe importance of filtering. 3. Discrete Fourier Transform – DFT (1 hour): It is critical for students to understand the concepts of DFT and is aware of the purpose and applications of Fourier Transforms. They should clearly understand the concepts of computational efficiency when dealing with Fast Fourier Transforms. Finally, students should comprehend how the DFT accomplishes filtering. 4. Sampling (1 hour): Students must be able to describe the advantages and disadvantages of using increased sampling rates. 5. Transforms (4 hours): Students have to be familiar with the concepts, properties and uses of ztransforms. Be able to identify the significance of DFT and FFT. 6. Digital filters (elective): Must comprehend frequency selective filters in the z-transform domain and be able to design digital filters given specified frequency characteristics. 7. Discrete time signals (elective): Understand the discrete-time representation and errors (aliasing) involved in sampling and quantization of signals. 8. Window functions (elective): Must be able to define window functions, identify significance to digital signal processing and explain how window functions can improve transform properties. 9. Convolution (elective): Identify the convolution techniques to analyze circuits and represent convolution using graphical techniques. 10. Audio processing (elective): Be able to describe the purpose of speech coding, how digital techniques enhance speech and audio signals, and how digital techniques cancel noise in audio processing. 11. Image processing (elective): Describe how sampling affects image integrity, effects of low and high pass filters on images, contrast between reconstruction and enhancement filters, and ways one can minimize image noise. guidance of popular textbooks by Chaissaing, Kuo and Lee, and Welch, et. al. [2, 12, 29]. A brief discussion of the curriculums offered in the 13 institutions follows. In most of the academic settings, the DSP courses were followed by a lab session. The lab sessions were solely utilized to discuss and re-enforce the theory learned by first simulating lab results in software tools such as Matlab and later implementing using DSP hardware processes. 3.1 Common Concepts Covered The DSP concepts covered in many of the institutions have a relatively high theoretical correlation with the suggested curriculum by ACM/IEEE. Most of the universities on average require 8-10 Real-Time DSP labs and some have emphasis on final projects. As the study in Figure 1 suggests, many of the courses are offered on the junior or senior level. The DSP course builds on various strong pre-requisites such as: • Computer Architecture • Circuits • Signals and Systems • Programming Language experience (C or Assembly) • General Purpose Embedded Systems Programming • Compilers • Basic Engineering Mathematics The most commonly identified concepts experiments covered are structured as follows: 1. Sampling and Reconstruction 2. Hardware Architecture • Harvard Vs. von Neumann • Buses • Memory Map 3. Instruction Set • Addressing Modes • Circular Addressing • Pipelining and Parallelism • Arithmetic Instructions (includes Note that, in the above guidelines there is no emphasis or discussion of embedded DSP tools and their operations. or lab use of accumulators) 3. Survey of programs at Universities • Logical Manipulations • Control Instructions To investigate further, it was important to conduct a survey of DSP courses and the curricula provided at various institutions. An extensive search was conducted throughout the academic world to identify Digital Signal Processing courses that articulately offered both theory and real-time processing knowledge. Among the many universities, the programs at thirteen institutions are tabulated in Figure 1 along with the course details found. The results presented are consequences of a very exhaustive investigation of university websites. The benchmarking criterions were developed under the 4. 5. 6. 323 Assembly and C Programming • Developing algorithms in Assembly and C Programming Hardware Features • Interrupts • Direct Memory Access (DMA) • Codecs • Timers etc… I/O Interfacing institutions throughout the world. It is evident there are a few weakness. Improvements can be made by bringing changes to academic curriculum or course structure. The later section outlines how changes can be placed to maintain student interest and provide, “industry like” familiarity of DSPs. • Basics of interfacing with particular peripherals. 7. Frequency Analysis • Discussion of Fourier Series and Fourier Transforms • z-Transforms • Basic System Concepts (poles & zeros) • Discrete Fourier Transform 8. FIR Filters 9. IIR Filters 10. Fast Fourier Transform 11. Adaptive Filters 12. Spectral Analysis 4. Suggested Outline The proposal is to initially mandate strict adherence to the pre-requisites mentioned earlier and secondly partition the DSP course into two settings: classroom (standard hours) and laboratory (2-3 hours). The suggested outline of the semester is shown in Figure 3. The classroom setting will be utilized for the basic DSP theory and the first few hours of the laboratory sessions may be utilized for hardware theory. The remaining time in the lab should be utilized for demonstrations and lab exercises. The classroom and lab theory sessions should constantly provide students with industry relevant examples. There are a variety of exercises that can be pursued in the areas of sound, image, and video processing which will prolong to develop student interests and value their hard work. The above topics are well representative of most curriculums, but some flaws remain. If one examines Figure 1, it is clearly evident that the current curricula offered at many universities lack several key ingredients to contour an engineering student with practical industry experience. Industry seeks engineers with a fluent knowledge in theory and practical knowledge. It was noted that many of the universities (including the thirteen in Figure 1), are not consistently offering courses yearly in Embedded DSP. Also, there is a lack of emphasis on core practical topics such as: 5. Conclusions 1. Application Development Process: a study required for students to understand how to select a DSP device based on the needs of a project and proper workflow to develop and test DSP algorithms. 2. Common DSP Application: a study to widen the application knowledge of students, such that a passion for the theory is developed. 3. Code Efficiency and Optimization: the application of Digital Signal Processors in products such as: cell phones, modems, satellites, and cameras demands fast executions and relatively fewer machine instructions. 4. Final Project: needed in every academic curriculum to reemphasize the cumulative theory and practical knowledge acquired throughout an academic term. A wide variety of DSP curriculums are surveyed to reflect that many institutions did not provide “industry ready” students. A suggested curriculum outline has been presented, in which the DSP course is separated into a classroom and laboratory setting for maximum exposure to Digital Signal Processing techniques. In the process of investigating and preparing a recommended DSP program, the authors actually consulted regularly with available textbooks and found that the available books (Chaissaing, Kuo and Lee, and Welch, et. al. [2, 12, 29]) are excellent aids to DSP education. 6. References 3.2 Common Hardware [1] Arizona State University, "EEE 498", http://www.fulton.asu.edu/~karam/eee498/ [2] Chassaing, R., Digital Signal Processing Laboratory Experiments Using C and the TMS320C31 DSK, John Wiley & Sons, Inc, 1999. [3] Chiang, K.H., Evans, B.L., Huang, W.T., Kovac, F., Lee, E.A., Messerschmitt, D.G.; Reekie, H.J., Sastry, S.S., Realtime DSP for sophomores, Acoustics, Speech, and Signal Processing, 1996. ICASSP-96. Conference Proceedings., 1996 IEEE International Conference, Vol. 2, May 1996, pg. 1097-1100. [4] Design and Reuse, "Hot Embedded DSP Market Almost Twice The General-Purpose DSP Market According To New Forward Concepts Study", http://www.us.designreuse.com/news/news6954.html The importance of proper exposure to DSP hardware cannot be stressed more, “to produce students who are immediately productive in industry” [28]. The list of “Real-Time Systems” in Figure 1 identifies three popular hardware manufactures and their respective family devices used in most institutions. Figure 2 briefly presents a comparison of the hardware. Though all these devices have their subtle design differences, the familiarity and experience with the hardware will stimulate educational success for students. The above benchmarking has helped evaluate the standard of DSP education, provided at various 324 [5] Florida International University, "EEL 5757", http://ww.eng.fiu.edu/ece/syllabi/eel5757.htm [6] Forward Concepts, "Hot Embedded DSP Market Almost Twice The General-Purpose DSP Market According To New Forward Concepts Study", http://www.fwdconcepts.com/press52.htm [7] Gan, W.-S., "Teaching and Learning the Hows and Whys of Real-Time Digital Signal Processing", IEEE Transactions on Education, Vol. 45, No. 4, November 2002. [8] Georgia Institute of Technology, "ECE 4025", http://www.ece.gatech.edu/PHP/undergrad/course_outline. php?prmCourse=ECE4025/ [9] Hebrew University of Jerusalem, "Real Time DSP 67630", http://cs.huji.ac.il/course/2004/rtdsp/ [10] Hong, P.S., Anderson, D.V., Williams, D.B., Jackson, J.R., Barnwell, T.P., Hayes, M.H., Schafer, R.W., Echard, J.D., "DSP for Practicing Engineers: A Case Study in Internet Course Delivery", IEEE Transactions on Education, Vol. 47, No. 3, August 2004. [11] Insight, Analysis, and Advice on Signal Processing Technology, http://www.bdti.com/ [12] Kuo, S.M., and Lee, B.H., Real-Time Digital Signal Processing, 1st ed. West Sussex: John Wiley & Sons, Ltd, 2001. [13] Kuo, S.M., Miller, G.D., "An Innovative Course on RealTime Digital Signal Processing Applications", 1996, IEEE Proceeds of ASILOMAR-29, Pg 88-92. [14] McClellan, J.H., Schafer, R.W., Yoder, M.A., "A Changing Role for DSP Education", IEEE Signal Processing Magazine, May 1998. [15] Northern Illinois University, "ELE 452", http://www.ceet.niu.edu/syllabus/eecourses/ungrad/ele452. html/ [16] Oklahoma Christian University, http://www.oc.edu/faculty/david.waldo/projects/nsfccli/nsf ccli.html/ [17] Padgett, Wayne T., "An Undergraduate Fixed Point DSP Course", Digital Signal Processing Workshop, 2002 and the [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] 325 2nd Signal Processing Education Workshop Proceedings of 2002 IEEE 10th, Oct. 2002, Pg. 302-305. Purdue University, "EET 357", http://www2.tech.purdue.edu/Eet/courses/eet357/ Rice University, "ELEC 434", http://www.dsp.ece.rice.edu/~choi/elec434/ Smith, S.W., "The Scientist and Engineer's Guide to Digital Signal Processing", http://www.dspguide.com/whatdsp.htm Stewart, R.W., "Practical DSP for Scientists", Acoustics, Speech, and Signal Processing, 1993. ICASSP-93 IEEE International Conference, Vol. 1, April 1993, pg. 32-35. Strauss, W., "The Embedded DSP Trend", IEEE Signal Processing Magazine, May 2004. Univ. of Illinois at Urbana Champaign, "ECE 420", http://courses.ece.uiuc.edu/ece420/ University of Colorado, "ECEN 4532", http://ece.colorado.edu/~ecen4532/schedule.html/ University of Michigan, "EECS 452", http://www.eecs.umich.edu/courses/eecs452/ University of Texas at Austin, "EE345S", http://www.ece.utexas.edu/~bevans/courses/realtime/ University of Texas of A&M, "ELEN 448", http://www.ece.tamu.edu/~dsplab/ee448.html/ Waldo, D.J., "Advanced DSP for Undergraduates at a Small University", Oklahoma Christian University. Welch, T.B., Cameron H.G. Wright, and Michael G. Morrow. Real Time Digital Signal Processing from Matlab to C with the TMS320C6x DSK. 1st ed. Boca Raton: CRC Press, 2006. Wood, S.L., "Signal processing and architecture in the lower division electrical engineering core", Acoustics, Speech, and Signal Processing, 2001. Proceedings. (ICASSP '01). 2001 IEEE International Conference, Vol. 5, May 2001, pg. 2713-2716. ACM and IEEE Computer Society, Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering, IEEE CS Press, December 12, 2004. Figure 1: Benchmarking of DSP courses Figure 1: Benchmarking of DSP Courses 326 Figure 2: Brief DSP hardware comparison Figure 3: Suggested course structure 327