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.
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 |
- Laboratory software and hardware reports (100%)
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.
DSP algorithm programming in C, MATLAB, and Assembly Language.
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.
(b) Engineering Topics (Science and/or Design): 0.5 credit hours
(c) General Education: 0.0 credit hours
Total credits: 1