SCHMITT, Neil1 & MARTIN, Terry2
Electrical Engineering University of Arkansas
1 nms@engr.uark.edu
2 twm@engr.uark.edu
Abstract: The emergence of fast, powerful, and cost effective digital signal processors is driving the world into a digital networked society and will continue to do so at an increasingly rapid rate. For example, signals such as voice, text, and video are collected and processed into digital code. This code can then be compressed, transmitted, and displayed almost instantaneously. This digital networked society has created a burgeoning job market for engineers with a DSP background. In particular, new engineering graduates with DSP skills can find a dizzying array of opportunities on the World Wide Web. The positions available are in literally hundreds of different application areas and are located throughout the US and overseas.
The dilemma facing engineering educators is determining what skills, abilities and experiences new engineering graduates should possess in order to compete well in the job market and to enhance success in professional practice. Questions such as:
must be answered if universities are going to meet industry needs and expectations.
This paper provides information to help answer the above questions. Industry practitioners, engineering recruiters and recent graduates have been surveyed to determine their perspective. The core DSP curriculum at the University of Arkansas that is designed to meet these identified needs will be discussed.
Keywords: DSP, curriculum, survey, industry
It is the goal of each college of engineering to educate its students in such a way that they are competitive with their peers and professionally qualified to immediately contribute at their place of employment. In rapidly changing fields such as digital signal processing (DSP), it is easy and commonplace for a gap to exist between what educators emphasize in the classroom and what the graduate needs to be maximally productive in the workplace. In order to minimize this gap, departments must constantly be revising their DSP curriculum. While designing a new DSP curriculum at the university of Arkansas, the authors informally asked industry recruiters what particular capabilities they were looking for in graduates they were hiring for DSP-related jobs. Varied answers were received but the results were not comprehensive enough to base curriculum decisions on them. Consequently a survey was developed to try to gather a meaningful database to be used in curriculum design. The survey was developed to answer the questions listed in the abstract of this paper. Survey recipients included recent (< 5 years) graduates currently working in DSP related fields, first-line engineering supervisors in charge of DSP-based projects and technical consultants in the DSP field. Recipients were associated with companies of various size from very large (> 1000 engineers) to small (approx. 10-15 engineers).
The survey was divided into four sections. The first section asked the respondent to rate the importance of graduates having a significant understanding of various DSP math elements. Twenty-two different elements were listed. Each element received a score between 5 (very important) and 1 (not important). The second section dealt with system issues and included thirteen elements. The third section addressed the question of which DSP design tolls the graduate should know. Eight tool possibilities were included. The last section included questions about hands-on lab experiences and contained five elements. The complete survey is included next.
An increasing number of electrical engineering professional positions involve the use of digital signal processing. Universities are scrambling to determine how to best prepare EE graduates to enter the DSP job market. This survey is an attempt to determine industry and practicing engineers' perspective on what skill set a graduate entering the DSP world should possess. The summarized results will be presented to other universities at the American Society for Engineering Education Annual Meeting in July, 1999.
Please rate the importance of each of the following: (5 = very important; 1 = not important) by placing an "X" above the appropriate number.
1. The graduate should have a significant understanding of the following DSP math elements:
| A. Convolution | |||||
| 5 | 4 | 3 | 2 | 1 | |
| B. Fourier Series | |||||
| 5 | 4 | 3 | 2 | 1 | |
| C. Fourier Transforms | |||||
| 5 | 4 | 3 | 2 | 1 | |
| D. Fast Fourier Transform | |||||
| 5 | 4 | 3 | 2 | 1 | |
| E. Sampling Theory | |||||
| 5 | 4 | 3 | 2 | 1 | |
| F. A/D and D/A Conversion | |||||
| 5 | 4 | 3 | 2 | 1 | |
| G. Correlation | |||||
| 5 | 4 | 3 | 2 | 1 | |
| H. Z-Transforms | |||||
| 5 | 4 | 3 | 2 | 1 | |
| I. State Space Analysis | |||||
| 5 | 4 | 3 | 2 | 1 | |
| J. Digital Filter Design (FIR and IIR) | |||||
| 5 | 4 | 3 | 2 | 1 | |
| K. Analog Filter Design | |||||
| 5 | 4 | 3 | 2 | 1 | |
| L. Waveform Generation | |||||
| 5 | 4 | 3 | 2 | 1 | |
| M. Random Signals | |||||
| 5 | 4 | 3 | 2 | 1 | |
| N. Time-series Modelling | |||||
| 5 | 4 | 3 | 2 | 1 | |
| O. Yule-Walker Theory | |||||
| 5 | 4 | 3 | 2 | 1 | |
| P. Least Squares Applications | |||||
| 5 | 4 | 3 | 2 | 1 | |
| Q. Linear Prediction | |||||
| 5 | 4 | 3 | 2 | 1 | |
| R. Adaptive Filter Design | |||||
| 5 | 4 | 3 | 2 | 1 | |
| S. Parametric Spectral Analysis | |||||
| 5 | 4 | 3 | 2 | 1 | |
| T. Speech Processing | |||||
| 5 | 4 | 3 | 2 | 1 | |
| U. Analysis-by-Synthesis Design | |||||
| 5 | 4 | 3 | 2 | 1 | |
| V. Matched and/or Kalman Filters | |||||
| 5 | 4 | 3 | 2 | 1 | |
2. The graduate should have a significant knowledge of the following system issues:
| A. Real-time DSP constraints | |||||
| 5 | 4 | 3 | 2 | 1 | |
| B. DSP Chip Architecture Approaches | |||||
| 5 | 4 | 3 | 2 | 1 | |
| C. Selection Criteria for Choosing a Particular Chip | |||||
| 5 | 4 | 3 | 2 | 1 | |
| D. Trade-offs between chips from different manufacturers | |||||
| 5 | 4 | 3 | 2 | 1 | |
| E. Implementation of complete DSP systems | |||||
| 5 | 4 | 3 | 2 | 1 | |
| F. Block Diagram System Design | |||||
| 5 | 4 | 3 | 2 | 1 | |
| G. Word-size Issues | |||||
| 5 | 4 | 3 | 2 | 1 | |
| H. Roundoff | |||||
| 5 | 4 | 3 | 2 | 1 | |
| I. Coding and Implementation of Assembly language programs for a specific DSP chip | |||||
| 5 | 4 | 3 | 2 | 1 | |
| J. Coding and Implementation of C/C++ programs for a Specific Chip | |||||
| 5 | 4 | 3 | 2 | 1 | |
| K. Oversampling | |||||
| 5 | 4 | 3 | 2 | 1 | |
| L. Specialized filter usage (e.g. AAF) | |||||
| 5 | 4 | 3 | 2 | 1 | |
| M. Algorithm Design | |||||
| 5 | 4 | 3 | 2 | 1 | |
3. The graduate should be able to use the following tools:
| A. MATLAB | |||||
| 5 | 4 | 3 | 2 | 1 | |
| B. SIMULINK | |||||
| 5 | 4 | 3 | 2 | 1 | |
| C. Optimizing Compilers | |||||
| 5 | 4 | 3 | 2 | 1 | |
| D. Simulators | |||||
| 5 | 4 | 3 | 2 | 1 | |
| E. Visual design Tools | |||||
| 5 | 4 | 3 | 2 | 1 | |
| F. Advanced Analysis Tools | |||||
| 5 | 4 | 3 | 2 | 1 | |
| G. Spectrum Analyzers | |||||
| 5 | 4 | 3 | 2 | 1 | |
| H. In-Circuit-Emulators | |||||
| 5 | 4 | 3 | 2 | 1 | |
4. The graduate should have hands-on lab experience with:
| A. One DSP Chip | |||||
| 5 | 4 | 3 | 2 | 1 | |
| B. Multiple DSP Chips | |||||
| 5 | 4 | 3 | 2 | 1 | |
| C. Designing a complete DSP system | |||||
| 5 | 4 | 3 | 2 | 1 | |
| D. Building a Complete DSP System | |||||
| 5 | 4 | 3 | 2 | 1 | |
| F. Implementing a multi-processor system | |||||
| 5 | 4 | 3 | 2 | 1 | |
The results are displayed first as a ranking of the elements within each of the fours sections then as an overall ranking of all elements independent of section classification.
|
Fast Fourier Transform |
4.71 |
| Sampling Theory | 4.71 |
| A/D and D/A Conversion | 4.65 |
| Fourier Transforms | 4.59 |
| FIR and IIR Filter Design | 4.50 |
| Fourier Series | 4.24 |
| Least Squares Applications | 4.00 |
| Correlation | 3.94 |
| Random Signals | 3.94 |
| Convolution | 3.94 |
| Adaptive Filter Design | 3.88 |
| Analog Filter design | 3.81 |
| Z-Transforms | 3.65 |
| Matched and/or Kalman Filters | 3.63 |
| Waveform Generation | 3.56 |
| Linear Prediction | 3.50 |
| Parametric Spectral Analysis | 3.38 |
| Time Series Modelling | 3.06 |
| Analysis-by-Synthesis Design | 3.06 |
| State Space Analysis | 2.94 |
| Speech Processing | 2.75 |
| Yule-Walker Theory | 2.50 |
|
Real-time DSP Constraints |
4.50 |
| Block diagram System Design | 4.25 |
| C/C++ Coding for a chip | 4.00 |
| Roundoff | 4.00 |
| Algorithm Design | 3.94 |
| Build Complete System | 3.94 |
| Oversampling | 3.81 |
| Word-size Issues | 3.81 |
| Chip Selection Criteria | 3.75 |
| DSP Architecture Approaches | 3.56 |
| Assembly Language Coding | 3.56 |
| Trade-offs between Chips | 3.50 |
| Specialized Filter Usage | 2.75 |
| MATLAB | 4.06 |
| In-circuit emulators | 3.69 |
| Simulators | 3.38 |
| Spectrum Analyzers | 3.38 |
| Visual design Tools | 3.31 |
| Advanced Design Tools | 3.13 |
| SIMULINK | 2.88 |
| Optimizing Compilers | 2.81 |
| Complete System Design | 3.94 |
| One DSP Chip | 3.88 |
| Multiple DSP Chips | 3.44 |
| Build Complete System | 3.38 |
| Implement Multi-processor System | 2.88 |
| Sampling Theory | 4.71 |
| Fast Fourier Transform | 4.71 |
| A/D and D/A Conversion | 4.65 |
| Fourier Transforms | 4.59 |
| FIR and IIR Filter Design | 4.50 |
| Real-time DSP Constraints | 4.50 |
| Block diagram System Design | 4.25 |
| Fourier Series | 4.24 |
| MATLAB | 4.06 |
| C/C++ Coding for a chip | 4.00 |
| Least Squares Applications | 4.00 |
| Roundoff | 4.00 |
| Algorithm Design | 3.94 |
| Build Complete System | 3.94 |
| Convolution | 3.94 |
| Correlation | 3.94 |
| Random Signals | 3.94 |
| Complete System Design | 3.94 |
| Adaptive Filter Design | 3.88 |
| One DSP Chip | 3.88 |
| Word-size Issues | 3.81 |
| Oversampling | 3.81 |
| Analog Filter design | 3.81 |
| Chip Selection Criteria | 3.75 |
| In-circuit emulators | 3.69 |
| Z-Transforms | 3.65 |
| Matched and/or Kalman Filters | 3.63 |
| Assembly Language Coding | 3.56 |
| DSP Architecture Approaches | 3.56 |
| Waveform Generation | 3.56 |
| Trade-offs between Chips | 3.50 |
| Linear Prediction | 3.50 |
| Multiple DSP Chips | 3.44 |
| Spectrum Analyzers | 3.38 |
| Build Complete System | 3.38 |
| Simulators | 3.38 |
| Parametric Spectral Analysis | 3.38 |
| Visual design Tools | 3.31 |
| Advanced Design Tools | 3.13 |
| Analysis-by-Synthesis Design | 3.06 |
| Time Series Modelling | 3.06 |
| State Space Analysis | 2.94 |
| SIMULINK | 2.88 |
| Implement Multi-processor System | 2.88 |
| Optimizing Compilers | 2.81 |
| Specialized Filter Usage | 2.75 |
| Speech Processing | 2.75 |
| Yule-Walker Theory | 2.50 |
The newly revised DSP curriculum at the University of Arkansas consists of three courses of 3 semester hours each, a 1 semester hour lab and three course/lab combinations that are 3 semester hours each. The first course is a junior level basic DSP course required of all electrical engineering students. The course covers items A - K of the math elements list on the survey (except for item #2) as well as the use of MATLAB. The one hour required lab associated with this course allows the student to implement these concepts through interesting and meaningful experiments such as real-time music enhancement/alteration, image de-blurring, etc.
The first elective course covers deterministic DSP system design. Many of the system issues of section two of the survey are covered. The second elective course is stochastic DSP system design. Items M - V of section I are addressed. In both of these courses the amount of time allotted for various topics are determined by the relative importance of the topics as indicated by the survey results. For instance, the emphasis on speech processing was greatly reduced since it didn't hold much importance with the majority of those surveyed.
The first elective lab consists of one two-hour lecture and one lab assignment per week. An open lab environment is used so students can choose the times best fitted to their schedule to perform their experiments. The course is based on the TMS320C30 and uses the TI EVM Board in a windows environment. The student becomes proficient in assembly language coding, optimization and system design. The second 3-hour lab addresses DSP utilization in digital communications and requires the student to use most of the tools listed in survey section three. The third lab introduces parallel processing using the TMS320C4x and introduces advanced processing using the TMS320C6x processor. The thesis (for MS students and the senior design project (for BS students) provide the mechanism for designing and building complete systems.
The industry survey results indicate the relative importance of many DSP topics to the practicing engineer. It is possible to design a curriculum to match these identified needs.