Development of DSP Curriculum in an Undergraduate Course using Realtime Hardware and Online Collaborative Resources Luis Herrera and Somsak Sukittanon, Ph.D. Department of Engineering University of Tennessee at Martin Martin, Tennessee, 38238 Abstract As technology continues to improve, new digital signal processing (DSP) techniques and instruments become available. It is essential to allow undergraduate students access to modern DSP technology in a course that balances both theory and practical applications. In order to join the growing online educational community, several new collaborative tools can be utilized to increase student interaction in class discussion. The objective of this paper is to describe a DSP curriculum at the University of Tennessee at Martin that teaches upper division students using three distinct modern platforms; MATLAB, LabVIEW, and C/C++. Real-world data is collected and applied throughout the lab assignments including the student’s EKG reading, speech samples, music, weather data, and stock market indexes. The goal of this method is to demonstrate the relevance of DSP theory as the class progresses with everyday applications. The laboratory for the whole semester is broken into three parts. The students initially use MATLAB as a simulation tool. By mid-semester, LabView is introduced simultaneously with NI Speedy-33 hardware to allow students to implement real-time DSP algorithms. The final part of the lab uses an alternate real-time DSP platform using C/C++ with Texas Instruments TMS320C6713 DSK. All three simulation platforms are utilized to implement a standard frequency equalizer and reverberator at the end of the semester. Throughout the entire class, online collaborative tools such as Google Groups and Videos are used to increase student participation in the classroom. This paper intends to discuss the capabilities of each platform, lecture topics, laboratory experience, and online tools. 1. Introduction Digital Signal Processing (DSP) is a subject that is constantly being applied to today’s technology. For instance, a DSP chip is a fundamental component inside many gadgets used in audio, speech, and imaging applications. For this reason, it is essential to convey in an undergraduate class the necessary theory and practical implementation to give future graduates opportunity and motivation to work and further study in related areas. Recent software and hardware have significantly facilitated the transition between theory and practice in classrooms. Richardson1 described a course in which the theory of DSP was actually applied to real-time applications using the Motorola DSP 56002 EVM. In the course, students were involved in designing FIR filters which later can be programmed and run on the microprocessor. Viss and Tanyel 2 discussed the introduction of LabVIEW graphical programming to a DSP class as an alternative to more common programs such as MATLAB, C, or Java. Moreover, Tanyel 3 went in-depth in discussing the LabVIEW DSP toolkit to help the students’ visualization of DSP concepts. Morrow et. al.4 introduced the combination of the Texas Instruments TMS320C6713 DSK and winDSK6 to promote the students understanding of DSP concepts by using real-time hardware. Usually DSP courses tend to teach one platform throughout the entire semester. While this method gives an advantage to students in gaining a deep experience in one specific platform, it could also limit their opportunity to compare the different DSP architectures and gain a better experience in a variety of DSP platforms that are commonly used in industry. A question arises as to how combine several DSP platforms into a compact class that can be taught in one semester. This paper will discuss the development of DSP curriculum at UT Martin between 2007 and 2009 which addresses this problem. Figure 1 shows the block diagram of each activity in the course. Figure 1: Overview of DSP course taught at UT Martin The course coverage is provided of both theory and practical implementation using MATLAB, LabVIEW, and TMS320C6713. In addition to the lecture and laboratory improvement, the online collaborative tools, such as Google Groups, Videos, Waves, and real-time Java chatroom, are introduced to the students to increase their participation and collaboration. Similar to other existing systems 5, the presented method gives student flexibility and ease to collaborate with each other and instructor with inexpensive cost and low maintenance. The tools are completely free to use and can be integrated into the class webpage seamlessly. The paper is organized as follows: Section 2 discusses the lecture and weekly laboratory topics, and explains how the class introduces each platform to the students and the DSP projects that they implement; Section 3 presents each online collaborative tool used in the class since 2007; finally, Section 4 discusses the conclusion and future work. 2. Course Content Lecture As stated in the course syllabus, the objective of ENGR 361: Digital Signal Processing course is to introduce students to the fundamentals of discrete time signals, systems, and modern digital signal processing algorithms and applications. Students who complete this course should gain understanding of the building, debugging, compiling, and tasking infrastructure required to get an embedded DSP system up and running. It includes three lecture hours and one three-hour lab each week. The prerequisite for this course is ENGR 316: Signals and Systems. Since this course is aimed at senior electrical engineering students, most of them have background in high-level language programming prior to taking this course. However, they do not have any prior experience in the signal processing toolbox. In the first two years, the textbook used in the course has been the Discrete-Time Signal Processing written by A. Oppenheim, R. Schafer, and J. Buck, 2nd edition 6. Recently, the course switched the textbook to Digital Signal Processing: Fundamentals and Applications written by L. Tan 7. It is likely that the course will switch back to the 3rd edition of Discrete-Time Signal Processing in the future due to the improvement of new online resources from the authors. The topics covered in the course include the following: • • • • • • • • Discrete-Time Signal and System (1 week) Discrete-Time Fourier Transform (1.5 weeks) z-Transform (1.5 weeks) Sampling Theorem (1 week) Frequency Response of LTI Systems (1.5 weeks) FIR and IIR Filter Design (2.5 weeks) Discrete Fourier Transform and Fast Fourier Transform (2 weeks) Embedded DSP using TMS320C6713 (2 weeks) There are two midterm exams and one final exam. The first midterm is paper-based format which aims to test student’s understanding in the theory taught for half of the semester, prior to filter design. The second midterm is instead computer-based format. It tests the student ability to implement DSP problems in MATLAB and LabVIEW. The final exam is comprehensive and it evaluates all of the theory subjects taught in the course. The complete class schedule and notes can be found on the class webpages 8, 9. Laboratory There are approximately 13 lab sessions in which the students meet with the instructor in an electrical and computer lab. The laboratory for the whole semester is broken into three parts. During the first 5 weeks, the lab focuses only on MATLAB implementation. In the next 6 weeks, LabVIEW and its hardware, i.e. NI Speedy 33, are introduced to the course along with MATLAB. In the last 2 labs, TMS320C6713 is used with MATLAB as an alternate real-time DSP platform to LabVIEW. Table 1 reports coverage by topic and software. Table 1: Weekly laboratory coverage by topic and software Lab No. 1 2 3 4 5 6 7 8 9 10 11 12 13 Topic Discrete time signals: generating and graphing Discrete time systems: convolution Discrete time Fourier Transform (DTFT) Properties of DTFT: IIR, FIR, filter types z-Transform: partial fraction, pole and zero plot Sampling theorem: aliasing effect Filter structure: Direct form, biquad, parallel form Labview and Speedy-33 part 1 Labview and Speedy-33 part 2 Filter design: FDAtool Discrete Fourier Transform (DFT) TMS320C6713: input/output, reverberator TMS320C6713: FIR and IIR filtering MATLAB LabVIEW x x x x x x x x x x x x C/C++ x x x x x x x x The goal of the first five laboratory sessions is to introduce students to the signal processing toolbox in MATLAB. In the first lab, three real-world signals, EKG 10, Dow Jones stock indexes 11 , and speech signals, are collected, plotted, and analyzed. Students learn to find the characteristics of the signals such as the difference of the pitch frequency between male and female voice, and the periodicity in an EKG data. In the second laboratory, they continue using the same data to find the outputs of convolution with different discrete systems. For example, 50day and 200-day moving average filters are applied and compared using stock market data. Backward and forward difference filters are applied to speech, random noise, and EKG data. The differences of lowpass and highpass filters are observed for the first time. After finishing the DTFT topics in the next 2 labs, students can identify the types of filters from given impulse response or frequency response. The frequency spectrum of animal sounds, e.g. cat, tiger, and bird, are then analyzed. In the fifth week, students perform inverse z-transform by both analytical and computational methods. Upon completion of the initial five weeks of the semester, they become familiar with the signal processing commands in MATLAB. Moreover, mini projects are assigned to test their understanding. The past MATLAB projects are included below as examples. • • • • Detecting beats per minute in EKG: the same EKG signals are reused. The goal is to come up with the method to automatically detect the number of pulses in EKG data. The solution must be generalized and tested with EKG signals from unseen data. Median filter vs. Lowpass filter: three types of weather data are collected from the local weather station 12, i.e. temperature, humidity, and pressure data. The outline data is created each time the system resets. Students are asked to smooth out this outline data and compare the results to lowpass filter and median filter approaches. Digital audio reverberator: two different digital reverberators are implemented and compared with speech signals. One method is based on a FIR filter while the other is based on an allpass filter. Students observe the reverberant effect on speech signals when they modify gain and delay parameters. Digital music generator: in this project students create digital music based on the Karplus-Strong algorithm or ADSR amplitude envelope. They compose 15 seconds of music and present it to their peers. In the second part of the lab activities, LabVIEW is introduced to the course. Most of the students have experience in LabVIEW from other courses such as digital logic design. However, this is the first time that they use LabVIEW in signal processing applications. Speedy-33, a DSP development board, is given to each student. The device has 2 analog inputs/outputs and the sampling rate can be programmed using different rates, from 8000 Hz to 48 KHz. In the sixth lab, students learn to write the first program for Speedy-33 that directly connects inputs and outputs without any DSP code in the middle. This program usually serves as a helloworld program in an embedded DSP. The quality of the music is observed with the different sampling rates. In the next four lab sessions, students design filter parameters using the FDAtool in MATLAB and port those numbers to the LabVIEW platform. Upon completion of the eleventh lab of the semester, they become familiar with signal processing commands in LabVIEW. Students are able to implement a signal generator, plot a power spectrum, create a reverberator effect, and implement a graphic equalizer. Figure 2 shows the lab activities and a student’s final project implemented by LabVIEW. (a) (b) Figure 2: Lab activities on LabVIEW; (a) a graphic equalizer using 2 state biquad structure, and (b) one of the student final projects on sound effect, e.g. disk scratching effect and speed up/down. In the final part of the lab, the course switches from the Speedy-33 to the TMS320C6713. The C6713 implementation is based on C/C++. Many students have experience in embedded C from junior level. In the first lab of C6713, once students learn to install the needed software including driver and compiler, they implement the first helloworld program. The program is similar to LabVIEW helloworld version which is a straight input/output connection without any DSP code in the middle. The change of sampling rates is observed. Later on, they continue to implement several DSP applications including a simple reverberator and a graphic equalizer. The complete schedule and lab notes can be found on the class websites 8, 9. There are at least two applications used by students for implementation in all three platforms, i.e. a reverberator and graphic equalizer. Thanks to this, students have the opportunity to compare the different implementation methods that came from the same mathematical formula. While MATLAB is the simplest approach to implement over the other two platforms, students are able to see the required memory better in the C6713 implementation. 3. Collaborative Online Tools Due to the increasing demands of storage, UT Martin has replaced the old student mail system to Google Apps service. It not only provides students with a larger space for emails, but it also provides many collaborative tools that allow students to work along with their peers and instructors effectively. These services, used in ENGR 361 course, are free and easy to integrate into the class webpages. Figure 4 shows examples of the tools that the students used mostly in the course. Although UT Martin has educational collaborative tools such as Blackboard or iTunesU, we have been most interested in the tools that are completely free to use and can be integrated into the class webpage seamlessly. (a) (b) (c) (d) Figure 3: Collaborative online tools used in the class since 2007; (a) archived lecture video sharing website using Yahoo and Google Videos, (b) discussion forum using Google Groups, (c) real-time Java chat room, and (d) new collaborative tools using Google Wave integrated email, chat, wikis, and social networking. Google Videos and Yahoo Videos UT Martin has an automatic video capture system, called Echo 360, setup to record class lectures. Once the lecture is finished, a standard movie file is created and the contents are uploaded to Blackboard or iTunesU. A disadvantage of this approach is that the video content requires a lot of space to be put in the server. Sometimes, it is difficult to keep past year lectures and eventually they have to be deleted when the semester ends. With the increasing growth of cellular and Wi-Fi networks, streaming lecture videos is becoming more popular. Within the past two years, the course has experimented with different ways of putting the entire class lecture on free services such as Yahoo and Google Videos. As shown in Figure 4a, there are many advantages to using these tools such as 1) students can watch lectures not only on a computer but also a cellphone, 2) unlimited space and previous content can be stored for many years, and 3) the content can be searched from several search engines. A demo of this system can be viewed on the class websites 8, 9. Google Groups Google Groups allows users to find a group of their interest in order to participate in their discussions through both e-mail and group webpage, upload relevant files within the group, and create pages in which to share their opinions. There are many advantages to using Google Groups in a classroom setting. For our specific case as shown in Figure 4b, Google Groups served as a tool that enabled students to view and download the different classroom and laboratory materials such as homework, lab assignments, source code. Furthermore, it gave students the opportunity to share their results by creating discussions within the course’s group, or creating their own group for team projects13. Google Groups is not limited only to class members; anyone can participate in its discussions as regulated by the group owner. Java Online Chatroom Live chatroom is normally used for gathering a lot of participants together, who work in different locations, at the same time as a virtual meeting. Not only is it fun for students to use, but it also enhances the flexibility to both students and instructors in the form of office hours or recitation. Most of the software requires students to create a login name and password. The free service used in the class is a Java based program 14. The source code is automatically generated and the instructor only needs to copy and paste it into the webpage. As shown in Figure 4c, the tool does not require any participant to have an account or any website to host the meeting. The system can also archive the discussion into a text file to be posted on the website at a later time. Google Wave Google Wave is a service that it is currently in its preview stages 15. It is a free online collaborative tool that combines email, instant messaging, file sharing, and add on gadgets. It was newly integrated and tested in the Fall 2009 DSP course at UT Martin. The class was actively involved in discussions and threads pertaining to the lecture and laboratory. As illustrated in Figure 4d, the final exam was the topic of discussion by the students and the instructor. Google Wave will be very beneficial and implemented in future courses since it motivates students and instructors to collaborate with each other on projects and assignments as easy as checking their email. 4. Conclusion We presented a development of a DSP course at the University of Tennessee at Martin describing the lecture, laboratory, and online collaborative tools used. The course intended to balance theory and practice in order to motivate the students’ learning of DSP. The lab was broken down into three sections: MATLAB programming, LabVIEW and the NI-Speedy33, and the Texas Instruments TMS320C6713 DSK C/C++ programming. These three platforms were implemented in order to give students a broad perspective on applications currently used in industry. The class project on these three platforms involved a standard frequency equalizer and reverberator. Furthermore, throughout the entire class online collaborative tools such as Google Groups, Google Wave, Java-Online Chat, Yahoo Videos, and Google Videos were used to enhance students and instructor’s collaboration on assignments and projects. In the future, Google Wave will be experimented further in different courses due to its great variety of educational tools. Different platforms, such as Analog Devices’s SHARC or Cypress’s PSoC, are also being considered for future development. Bibliography 1. A.O. Richardson, “The Motorola DSP56002 EVM, A Powerful Tool for Teaching Real-Time DSP”, in 1990 ASEE Annual Conference Proceedings, Seattle, WA, June 28-July1, 1998. 2. M. Viss, and M. Tanyel, “From Block Diagrams to Graphical Programs in DSP,” in Proceedings of the 2001 American Society for Engineering Education Annual Conference & Exposition, Albuquerque, NM, June 24-27, 2001. 3. M. Tanyel, “Enhancing the DSP Toolkit of LabVIEW,” Proceedings of the 2002 American Society for Engineering Education Annual Conference & Exposition, Montréal, Quebec, Canada, June 16-19, 2002. 4. M. G. Morrow, T. B. Welch, and C. H. G. Wright, “Enhancing the DSP Toolkit of LabVIEW,” Proceedings of the 2005 American Society for Engineering Education Annual Conference & Exposition, Portland, OR, June 1215, 2005. 5. L. Munukutla, A. McHenry, J. Robertson, and R. Newman, “How to Maximize Laboratory Experience of Engineering Technology Programs Using Electronic Media,” Proceedings of the 2003 American Society for Engineering Education Annual Conference & Exposition, Nashville, TN, June 22-25, 2003. 6. A. V. Oppenheim, R. W. Schafer, and J. R. Buck, Discrete-Time Signal Processing. Prentice Hall, 2nd ed., 1999. 7. Li Tan, Digital Signal Processing: Fundamentals and Applications. Academic Press,1st ed., 2007. 8. http://www.utm.edu/staff/ssukitta/courses/engr361/Main.html 9. http://www.utm.edu/staff/ssukitta/courses/2008/engr361/Main.html 10. http://www.vernier.com/probes/ekg-bta.html 11. http://finance.yahoo.com/q/hp?s=%5EDJI 12. http://www.utm.edu/staff/knance/archive.php 13. http://groups.google.com/group/utm-engr-361-dsp 14. http://www.addonchat.com/ 15. http://www.googlewave.com/