Nine C programming labs to turn students into filtering and signal analysis experts

This paper describes a series of C programming lab assignments that accompany a junior-level course on discrete-time signals and systems. These assignments were designed to develop student into experts in two core competencies: filtering and frequency analysis of signals. As students develop knowledge and practice these two skills, they learn about a variety of related techniques including sample rate conversion, edge detection in images, the Hilbert transform, noise cancellation, AM and FM modulation and demodulation, and global positioning. The labs reinforce concepts taught in class. Students get extensive practice in designing filters to meet given specifications. Students report enthusiasm for learning about real systems and processing real signals. By focusing on two key capabilities, students are able to advance to a high level of maturity in these areas over a single semester.

[1]  M.A. Yoder,et al.  Teaching DSP First with LabVIEW , 2006, 2006 IEEE 12th Digital Signal Processing Workshop & 4th IEEE Signal Processing Education Workshop.

[2]  R. G. Jacquot,et al.  Teaching digital control and filtering using MATLAB and VisSim , 1996, Technology-Based Re-Engineering Engineering Education Proceedings of Frontiers in Education FIE'96 26th Annual Conference.

[3]  J. Farina,et al.  FPGA-based system for the education in data acquisition and signal generation , 2005, 31st Annual Conference of IEEE Industrial Electronics Society, 2005. IECON 2005..

[4]  J. Stensby Near real-time signal processing in the classroom using a sound card equipped personal computer , 2005, Proceedings of the Thirty-Seventh Southeastern Symposium on System Theory, 2005. SSST '05..

[5]  David R. O'Hallaron,et al.  Computer Systems: A Programmer's Perspective , 1991 .

[6]  Gerhard Bauch,et al.  Contemporary communication systems using MATLAB and Simulink , 2004 .

[7]  Douglas A. Lyon,et al.  Computer Engineering 2004 – Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering: A Report in the Computing Curricula Series , 2004 .

[8]  C. Wicks Lessons learned: teaching real-time signal processing [DSP Education] , 2009, IEEE Signal Processing Magazine.

[9]  Dimitris G. Manolakis,et al.  Applied Digital Signal Processing: Theory and Practice , 2011 .

[10]  Andreas Spanias,et al.  Interactive online undergraduate laboratories using J-DSP , 2005, IEEE Transactions on Education.

[11]  Scott E. Budge A Laboratory-Based Course in Real-Time Digital Signal Processing Implementation , 2009, 2009 IEEE 13th Digital Signal Processing Workshop and 5th IEEE Signal Processing Education Workshop.

[12]  Pavel Zahradnik,et al.  Education in real-time digital signal processing using digital signal processors , 2012, 2012 35th International Conference on Telecommunications and Signal Processing (TSP).

[13]  Woon-Seng Gan Teaching and learning the hows and whys of real-time digital signal processing , 2002, IEEE Trans. Educ..

[14]  Douglas L. Jones,et al.  From fixed-point processors to android: A hybrid course for real-time DSP laboratory , 2013, 2013 IEEE Digital Signal Processing and Signal Processing Education Meeting (DSP/SPE).

[15]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[16]  Sanjit K. Mitra Digital Signal Processing Laboratory Using MATLAB , 1999 .

[17]  H. A. C. Gray Fireflies , 1875, The Indian medical gazette.

[18]  Wang Jun,et al.  Methods and experience of using Matlab and FPGA for teaching practice in digital signal processing , 2010, 2010 International Conference on Education and Management Technology.

[19]  Woon-Seng Gan,et al.  Teaching DSP software development: from design to fixed-point implementations , 2006, IEEE Transactions on Education.

[20]  Søren Holdt Jensen,et al.  A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach , 2006 .

[21]  T. Sansaloni,et al.  FFT Spectrum Analyzer Project for Teaching Digital Signal Processing With FPGA Devices , 2007, IEEE Transactions on Education.

[22]  Eric W. Hansen,et al.  Introducing signal processing through an advanced digital design course , 2011, 2011 Digital Signal Processing and Signal Processing Education Meeting (DSP/SPE).

[23]  T. J. Cavicchi,et al.  Experimentation and analysis: SigLab/MATLAB data acquisition experiments for signals and systems , 2005, IEEE Transactions on Education.

[24]  Jan P. Allebach,et al.  "Digital signal processing with applications:" a new and successful approach to undergraduate DSP education , 1994, Proceedings of ICASSP '94. IEEE International Conference on Acoustics, Speech and Signal Processing.

[25]  Paul M. Embree,et al.  C++ algorithms for digital signal processing , 1998 .

[26]  Stephen Cass The top 10 programming languages Spectrum¿s 2014 ranking [DataFlow] , 2014 .

[27]  J.M. Conrad,et al.  A survey of digital signal processing education , 2007, Proceedings 2007 IEEE SoutheastCon.

[28]  Bradley J. Bazuin,et al.  Real-time digital signal processing in the undergraduate curriculum , 2003, IEEE Trans. Educ..

[29]  IEEE Signal Processing and Signal Processing Education Workshop, SP/SPE 2015, Salt Lake City, UT, USA, August 9-12, 2015 , 2015, SP/SPE.