ECEN4002/5002: Digital Signal Processing Lab
Announcements (updated 4/28/2002
Several students have not submitted lab papers recently. Are you still
enrolled in the course? If so, protect your grade (i.e., avoid getting an
F) by making sure you complete and submit Lab #7!
For the adaptive noise canceller in Lab #7, be sure you have the signal+noise
and noise channels going into your algorithm properly. Check to make sure
the channels are not swapped from what you expect.
The test wave (.wav) files for Lab #7 are posted on the
DSP System page.
We had a tour at Cirrus Logic's Boulder DSP development center
on Tuesday, April 23, during class time. Meet at 2465 Central, Suite 100,
by 3:15PM on 4/23. Take Arapahoe east to 55th, then north on 55th to
Central. Turn right on Central and proceed around 0.7 miles: facility
is 2 story red and gray building on the left.
In Exercise A of Lab #5, make sure you are doing an integer multiply.
Remember that the 56300 normally operates on fractional values, so the
contents of A0 may not be what you expect unless you do an appropriate
shift after the mpy or mac instruction.
We have a new TA for this course! I will introduce
Mr. David Reinhardt in class on 3/12/2002. He has taken this course
AND also subsequently been the TA for this
course in the past, so we are lucky to have an experienced assistant.
Dave will have scheduled office hours on Monday 3-6PM and Wednesday 2-4PM.
I posted some more example solutions on the
DSP System page.
There are a couple errors in the Lab#4 handout: the iirtable() Matlab
function takes the numerator and denominator polynomial coefficents
b and a as its input, not the poles and zeros. Also,
the K=0 and K=1 labels in Figure 4 should be K=1 and
If you find a computer in the lab that is not working properly, please notify
ece_help immediately. Identify which computer is malfunctioning, and
describe the problem.
- Comments on the Lab papers:
- WATCH OUT if you try to use register R6: the background interrupt
service routines use r6 as a stack pointer, so do not use it in your
- It is not necessary to re-print the pass1.asm code in your lab reports
unless you did something significant to modify it.
- Please make complete frequency response measurements: determine magnitude
and phase at enough points to produce a full characterization of your
DSP filter or system implementation.
- Make careful measurements and document your results. Simply writing
"it worked as expected" is not sufficient evidence that your code works
and that you understand how it works.
- Many of you apparently have the scopes set for AC coupling. This makes
the low frequency response appear to roll off starting at about 200Hz. Try
measuring again with DC coupling.
Be sure to look up the "inc" and "dec" commands in the 56300 instruction set.
These affect the entire accumulator starting at the LSB of a0 or b0.
- See the DSP Development System page for Lab software
- Make sure the check the PLL setting in your test code: if it is too fast
for the hardware, the processor may malfunction.
NOTE NOTE NOTE! The Lab room (1B79) is RESERVED for the
Control Systems Lab course on Wednesdays 4-6PM and Fridays
Instructors' contact information
Schedule page (updated frequently):
Assignments and lecture notes are posted here.
Lab policy and grading policy
Class meets Tuesdays, 3:00-4:30PM, Room 1B28. First class
meeting was on 1/15/2002.
This course is a one semester introduction to the design, implementation, and
debugging of real time DSP algorithms written in assembly language for an
industry-standard DSP microprocessor. The course consists of one lecture per
week and approximately 7 laboratory projects. Each student must complete
the laboratory projects individually using the lab stations located in room
1B79. The course has an open-lab policy: students may use the lab
whenever the building is open and the lab is not in use by another course.
The lab stations consist of the following:
DSP development board (Motorola DSP563xx microprocessor)
Host PC with development software tools
Stereo amp and speakers
For each of the laboratory projects the students individually prepare a
written report, and in most cases demonstrate the software to one of the
instructors. Students enrolled in this course for graduate credit (5002) will receive additional
The laboratory is expected to be open 24 hours a day, seven days a week,
EXCEPT Wednesdays 4-6PM AND Fridays 8-10AM when the room is used by the Controls Lab.
Because there are more students than lab stations, students will be required
to share equipment and coordinate individual schedules in a flexible, courteous,
and professional manner. No equipment is to be removed from the lab at any
Students in this course work individually, not with partners or
teams. Learning low-level DSP software development requires concentrated
individual effort. Despite the need to share lab stations, each student is expected to work
individually and to prepare a unique problem solution. Let there be no
misunderstanding: working collaboratively or copying the work of another student and submitting it
as your own is wholly sufficient grounds for dismissal from the course.
In no case will abuse of equipment, other students, or instructors
be tolerated. If such behavior occurs, an administrative drop will be issued
for the student involved.
It is the sole responsibility of the student to maintain backup copies of all
source code and other materials developed for each laboratory project, and to
prepare the project solution well in advance of the submission deadline.
Personal computer equipment is known to fail, and often at the most inopportune
moment. Don't let a sudden hardware failure blow hours of your effort!
Grading for the course will be based primarily on the results of the
laboratory projects and the quality of the lab reports (80%). Lecture
attendance--with active participation--will account for 10% of the course
grade, and the remaining 10% of the grade will be based on the student's lab skills as
observed during the semester by the instructors.