RUTGERS UNIVERSITY
The State University of New Jersey
School of Engineering
Department of Electrical and Computer Engineering
332:348 Digital Signal Processing Laboratory
DSP Lab Manual
Sophocles J. Orfanidis
Spring 2012
Lab Schedule Spring 2012
Week
Group
1/30
2/06
2/13
2/20
2/27
3/05
Labs
Lab1 CCS introduction, aliasing, quantization, data transfers, distortion
Lab2 CCS, sinusoids, wavetables, AM/FM, ring modulators, tremolo
Lab3 Delays, circular buffers, FIR filters, voice scrambler
3/12
3/19
3/26
4/02
4/09
4/16
4/23
Lab4 Block processing, real-time FFT/IFFT, overlap-add method
Lab5 Digital audio effects, reverb, multi-delay, strings, flangers, vibrato
Lab6 IIR filters, notch, peaking, wah-wah filters, phasers, equalizers
Notes
1. Labs meet in room ELE-004.
2. The lab sessions have a duration of two periods. Attendance in all labs is required (it is not possible
to get an A in the lab course if one of these sessions is missed.) Due to the limited number of
workstations, missed hardware labs cannot be made up.
3. Each lab section has been split into two groups, A & B, that meet on alternate weeks as shown on
the above schedule. The groups are as follows, divided according to student last names (please
note that these may change until registration is closed):
Section
Group A
Group B
Section1, M 3:206:20 PM
Acquaye Kotikalapudi
Kronberger Yang
Section2, W 3:206:20 PM
Ani Ng
Nolte Zhang
Section3, F 8:4011:40 AM
Agrawal Loki
McCue Youssef
TA
Baruch Har-Lev
Mehrnaz Tavan
Contents
0 Introduction
0.1 Lab Guidelines . . .
0.2 Running C Programs
0.3 Using MATLAB . . .
0.4 References . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
3
6
1 TMS320C6713 DSK and Code Composer Studio
1.1 Introduction . . . . . . . . . . . . . . . . . . .
1.2 Lab Tasks . . . . . . . . . . . . . . . . . . . .
1.3 Template Program . . . . . . . . . . . . . . .
1.4 Aliasing . . . . . . . . . . . . . . . . . . . . .
1.5 Quantization . . . . . . . . . . . . . . . . . .
1.6 Data Transfers from/to Codec . . . . . . . .
1.7 Guitar Distortion Effects . . . . . . . . . . . .
1.8 References . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
9
9
12
13
14
16
18
2 Wavetable Generators, AM/FM Modulation
2.1 Lab Tasks . . . . . . . . . . . . . . . . .
2.2 Wavetable Generators . . . . . . . . . .
2.3 Sinusoidal Wavetable . . . . . . . . . . .
2.4 AM Modulation . . . . . . . . . . . . . .
2.5 FM Modulation . . . . . . . . . . . . . .
2.6 Ring Modulators and Tremolo . . . . .
2.7 References . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
20
22
23
25
26
3 Delays and FIR Filtering
3.1 Introduction . . . . . . . . . . . . . . . . . .
3.2 Delays Using Linear and Circular Buffers .
3.3 FIR Comb Filters Using Circular Buffers . .
3.4 FIR Filters with Linear and Circular Buffers
3.5 Voice Scrambler . . . . . . . . . . . . . . . .
3.6 References . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
27
32
34
41
44
4 Block Processing Experiments
4.1 Introduction . . . . . . . . . . . . . . . . .
4.2 Double and Triple Buffering . . . . . . . .
4.3 FFT Example . . . . . . . . . . . . . . . . .
4.4 Real-Time FFT/IFFT . . . . . . . . . . . .
4.5 Spectrum Analyzer . . . . . . . . . . . . .
4.6 Notch Filter . . . . . . . . . . . . . . . . .
4.7 Voice Scrambler with FFT . . . . . . . . .
4.8 Block Convolution . . . . . . . . . . . . .
4.9 Overlap-Add Method in the Time Domain
4.10 Overlap-Add Method with the FFT . . . .
4.11 References . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
45
45
45
46
47
50
50
51
51
56
57
59
5 Digital Audio Effects
5.1 Plain Reverb . . . . . . . . . . .
5.2 Allpass Reverb . . . . . . . . .
5.3 Lowpass Reverb . . . . . . . . .
5.4 Schroeders Reverb Algorithm
5.5 Stereo Reverb . . . . . . . . . .
5.6 Reverberating Delay . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
60
60
62
64
65
67
69
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
CONTENTS
5.7 Multi-Delay Effects . . . . . . . .
5.8 Multitap Delay Effects . . . . . .
5.9 Karplus-Strong String Algorithm
5.10 Flangers and Vibrato . . . . . . .
5.11 References . . . . . . . . . . . . .
6 IIR Filtering Experiments
6.1 Periodic Notch Filters . . . .
6.2 Single-Notch Filters . . . . . .
6.3 Double-Notch Filters . . . . .
6.4 Peaking Filters . . . . . . . .
6.5 Wah-Wah Filters and Phasers
6.6 Parametric Equalizer Filters .
6.7 References . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
70
71
72
74
75
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
77
77
80
83
84
85
87
89