14:332:348 – Digital Signal Processing Laboratory

Course Catalog Description: 

14:332:348 – Digital Signal Processing Laboratory (1)
To carry out software and hardware experiments illustrating the basic principles and techniques of digital signal processing and to learn the programming of real-time signal processing algorithms on a concrete DSP chip.

Pre-Requisite Courses: 

14:332:345

Pre-Requisite Courses: 

01:640:244

Co-Requisite Courses: 

14:332:346 - Digital Signal Processing

Pre-Requisite by Topic: 

1. Linear time-invariant systems
2. Convolution and transfer functions
3. Laplace transforms and z-transforms
4. Difference equations
5. Programming in C and MATLAB

Textbook & Materials: 

S. J. Orfanidis, DSP Lab Manual, 2011.

S. J. Orfanidis, Introduction to Signal Processing, Prentice-Hall, 1996, and available freely online from:
http://www.ece.rutgers.edu/~orfanidi/intro2sp/

R. Chassaing and D. Reay, Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK, 2nd ed., Wiley, Hoboken, NJ, 2008.

References: 

MATLAB: Student Version, Current Edition, The MathWorks, Inc..
MATLAB Documentation: http://www.mathworks.com/help/techdoc/

Overall Educational Objective: 

To introduce the basic principles, methods, and applications of digital signal processing, to explore its algorithmic, computational, and programming aspects, and to learn programming of DSP hardware for real-time signal processing applications.

Course Learning Outcomes: 

A student who successfully fulfills the course requirements will have demonstrated:
1. Ability to program digital signal processing algorithms in C and MATLAB, including the design, implementation, and real-time operation of digital filters, and applications of the fast Fourier transform.
2. Ability to program a DSP chip with a variety of real-time signal processing algorithms, such as filtering for noise reduction or digital audio effects.

How Course Outcomes are Assessed: 

  • Laboratory software and hardware reports (100%)

  • N = none S = Supportive H = highly related

    Outcome

    Level

    Proficiency assessed by

    (a) an ability to apply knowledge of Mathematics, science, and engineering

    H

    Laboratory work and reports

    (b) an ability to design and conduct experiments and interpret data

    S

    Laboratory work and reports

    (c) an ability to design a system, component or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability

    S

    Laboratory work and reports

    (d) an ability to function as part of a multi-disciplinary team

    N

    (e) an ability to identify, formulate, and solve ECE problems

    H

    Laboratory work and reports

    (f) an understanding of professional and ethical responsibility

    N

    (g) an ability to communicate in written and oral form

    S

    Laboratory work and reports

    (h) the broad education necessary to understand the impact of electrical and computer engineering solutions in a global, economic, environmental, and societal context

    N

    (i) a recognition of the need for, and an ability to engage in life-long learning

    S

    Laboratory work and reports

    (j) a knowledge of contemporary issues

    N

    (k) an ability to use the techniques, skills, and modern engineering tools necessary for electrical and computer engineering practice

    H

    Laboratory work and reports

    Basic disciplines in Electrical Engineering

    H

    Laboratory work and reports

    Depth in Electrical Engineering

    S

    Laboratory work and reports

    Basic disciplines in Computer Engineering

    H

    Programming DSP algorithms in C, MATLAB, and assembly language for DSP chips

    Depth in Computer Engineering

    S

    Software and hardware programming

    Laboratory equipment and software tools

    H

    Analog Devices DSP-2181 digital signal processor. Programming in C, MATLAB, and DSP software development environment

    Variety of instruction formats

    S

    Lecture followed by lab time

Topics Covered week by week: 

Week 1: Introduction, review of C and MATLAB.
Week 2: Software experiments on sampling, aliasing, and quantization using MATLAB.
Week 3: Introduction to the C6713 processor and C programming using the Code Composer Studio, hardware demonstrations of aliasing and quantization, data transfers to/from the stereo codec, hardware implementation of simple nonlinear effects, such as guitar distortion.
Week 4: Software experiments on filtering by convolution, filtering of noisy signals, design of a voice scrambler in MATLAB.
Week 5: Hardware experiments on implementing delays using linear and circular buffers, FIR filter design, audio effects with comb filters, and hardware realization of the voice scrambler.
Week 6: Software experiments on the discrete-time Fourier transform, filtering of periodic signals, circular convolution, spectral analysis by the DFT/FFT using rectangular, Hamming, and Kaiser windows.
Week 7: Hardware experiments on digital audio effects, exploring different reverberation algorithms, multi-delay effects, the Karplus-Strong string algorithm, wavetable generators, ring modulators and tremolo, flangers and vibrato effects.
Week 8: Software experiments on filtering for signal enhancement and noise reduction, exploring filter transients versus steady-state, and the design of simple adaptive filters for automatic gain control, such as compressors, limiters, expanders, and noise gates.
Week 9: Hardware experiments on the design and implementation of various types of IIR filters on the C6713 processor, single and multi-notch filters, peaking resonator filters, and audio applications, such as time-varying wah-wah filters and phasers, and parametric audio equalizers.

Computer Usage: 

DSP algorithm programming in C, MATLAB, and Assembly Language.

Laboratory Experiences: 

The DSP lab has both a software and a hardware component. In the software part, students carry out a number of computer experiments written in C or MATLAB, illustrating some of the fundamental concepts and applications of digital signal processing, such as quantization, sampling and aliasing, block processing by convolution, real-time filtering on a sample-by-sample basis, signal enhancement and noise reduction filters, direct, canonical, and cascade realizations of digital filters, spectral analysis by the DFT and FFT, the design of FIR and IIR digital filters, and digital audio effect applications, such as dynamic range control. The choice and number of computer experiments may vary from year to year. The hardware part of the lab illustrates the programming of real-time signal processing algorithms on the Texas Instruments TMS320C6713 floating-point DSP. Programming of the DSP chip is done primarily in C (and some assembly) using the Code Composer Studio integrated development environment.

There are eight two-period laboratory sessions. Four are MATLAB-based software experiments with assignments due every two weeks. Four sessions are hardware experiments using the C6713 processor and meet meet every one or two weeks.
Equipment used: 1. Windows based PCs, MATLAB, Code Composer Studio C/C++ compiler, and GCC C compiler. 2. Ten workstations based on the Texas Instruments TMS320C6713 DSP starter kit.

Design Experiences: 

Labs involve the design of digital filters using MATLAB and C, and their implementation and testing in software and hardware on a DSP chip.

Independent Learning Experiences : 

1. Writing laboratory reports, 2. Conducting MATLAB simulations, 3. Conducting hardware experiments on a DSP chip.

Contribution to the Professional Component: 

(a) College-level Mathematics and Basic Sciences: 0.5 credit hours
(b) Engineering Topics (Science and/or Design): 0.5 credit hours
(c) General Education: 0.0 credit hours
Total credits: 1

Prepared by: 
S. J. ORFANIDIS
Date: 
April, 2011