How can we prepare undergraduate engineering students to work on meaningful, real-world problems in the short time that they are with us? Undergraduate research programs are one potential answer, but such programs are challenging to implement. Most undergraduate engineers are not ready to perform useful research until the first semester of the junior year. Furthermore, to solve real-world problems, students need access to real-world data, which is often difficult to obtain without spending valuable time learning how to use specialized data-acquisition-system languages.
At the Electrical and Computer Engineering Department at Virginia Military Institute (VMI), we believe that we have found one efficient method that surmounts these difficulties. As a result, our students have developed numerous innovative solutions, including a system that directs cars in crowded garages toward the nearest parking space, medical devices that help surgeons safely implant endovascular stents, and a system that locates trapped miners after a cave-in.
Vital to this success is teaching students fundamental programming techniques and structures early on. All Electrical Engineering (EE) freshmen at VMI take EE 104: Computer Tools in Electrical Engineering, in which they learn C, C++, and MATLAB®. They continue to build their proficiency in MATLAB throughout their college careers, so that by their junior and senior years, students can see an equation presented in lecture and immediately visualize it as a MATLAB construct. With this proficiency in MATLAB, they can undertake the rigorous lab work required in courses such as EE 431: Digital Signal Processing.
Completing Digital Signal Processing Labs with MATLAB
EE 431: Digital Signal Processing is a 16-week, senior-level course that introduces discrete-time signals and systems. Topics covered include the representation of discrete-time and digital signals, analysis of linear discrete-time signals and systems, frequency response, discrete Fourier transform, Z transform, and sampled data systems.
Students complete six assignments in 14 lab sessions. In the first two assignments, they review MATLAB concepts and generate and display discrete signals using stem plots. They also learn to construct impulse, step, and complex exponential signals in MATLAB.
In the third lab, they apply convolution and filtering as they reduce echo contamination in a voice recording. Next, the students learn to compute and interpret the discrete-time Fourier transform (DFT) of a signal by examining the frequency distribution within a cardiac signal. The fifth lab focuses on the frequency distribution within a vocal recording, which the students examine by computing and interpreting the DFT of a discrete-time signal.
In the sixth lab, completed in four sessions, student teams apply their understanding of DSP concepts to a real-world problem of their own choosing. Many of these efforts have evolved into full-blown research projects. One team, for example, developed a novel way to encode hidden data in an MP3 file.
At the end of the course, each team presents their project to the rest of the class. The students typically develop a MATLAB based GUI, which they demonstrate as part of their presentation. MATLAB makes a good presentation tool because it enables the students to show results as they develop and to illustrate cause-and-effect relationships.
Some teams deliver their presentations to venture capitalists and other groups to raise funds to pursue a patent. Others work with business students at VMI to license the technology that they have developed.
From the Classroom to Independent Research
While the final lab project in EE 431: Digital Signal Processing whets the students’ appetites for research, EE 491: Independent Study I and EE 492: Independent Study II give them a chance to go further. Undergraduate research projects are unlike typical faculty research projects. Most faculty research requires significant background knowledge and is conducted over a large time span. As a result, students are typically given small, packaged projects that isolate them from understanding the context of the larger problem being solved. Student-driven projects in the independent study courses at VMI really give students ownership, and that motivates their work.
We can give them these opportunities in part because Data Acquisition Toolbox™ lets them read and control sensors from multimeters to seismic geophones using the MATLAB design environment that they already know.
One particularly successful independent study project involved the placing of endovascular stents, hollow tubes that are inserted into human arteries to keep them open. The students used MATLAB and Data Acquisition Toolbox to build a system that uses capacitive pressure sensors to provide the cardiologists with real-time feedback during the procedure. The system uses a low-cost data acquisition device from Measurement Computing to monitor the pressure sensors on three channels via a USB connection. A MATLAB GUI displays dynamic bar graphs showing the pressure exerted on the balloon as it presses against the artery walls (Figure 1).
The project was judged the best student paper in one of six IEEE regions in the U.S., and resulted in an honors thesis for one of the students who worked on it.
Locating trapped miners after a cave-in is another pressing problem recently tackled by our undergraduate engineers. The land lines that miners use to communicate with surface teams are often severed during a disaster. As a result, rescue teams have no way of knowing where to drill air supply tunnels. VMI student engineers developed a communication system that uses a modified car stereo speaker and a 12-volt speaker to transmit seismic waves. The speaker’s diaphragm is removed, and its magnets are used to transduce seismic energy directly into the mine walls at a pre-determined frequency (Figure 2).
On the surface, a seismic geophone receives the faint sinusoidal seismic wave buried in noise more than 100,000 times as large. The geophone produces a high impedance voltage, which is filtered and amplified by hardware designed with MATLAB. The students used Data Acquisition Toolbox to sample this voltage signal 5,000 times per second. Using MATLAB, the students developed a GUI and algorithms that perform real-time Fourier analysis to isolate the desired signal from the noise.
These algorithms are too complex for a typical undergraduate to code in C++ or a similar language. MATLAB removes that complexity, letting them work in the language they learned as freshmen.
While the signal-to-noise energy ratio remains constant over the entire bandwidth, the signal-to-noise ratio per resolvable frequency bin improves with time. Within seconds, the system identifies the frequency the miners are using, which informs rescue teams of the miners’ location and condition so they know where to drill (Figure 3).
The students received a patent for the system in 2008, and hope to see it in production by 2010.
Carrying the Success Forward
While the success of an undergraduate research initiative depends on more than student preparation, introducing MATLAB to students early and encouraging continuous development of MATLAB skills have been key enablers for the undergraduate research projects. Because the students begin their research already proficient in MATLAB, they can take full advantage of the MATLAB environment for data acquisition, post-processing, real-time analysis, and GUI development. As a result, they can focus class and research time on productive work rather than on the mechanics of switching between multiple tools and data formats. The result has been meaningful research and some potentially life-saving inventions. In fact, over the past five years about a quarter of the graduates in our department have been named as inventors on patents.