Development of DSP Curriculum in an Undergraduate Course using

advertisement
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/
Download