EE 345S Real-Time DSP Lab: C6713 Component


The laboratory exercises are based on the following book:

Steven A. Tretter, Communication system design using DSP algorithms with laboratory experiments for the TMS320C6713 DSK, Kluwer Academic Publishers, ISBN 978-0-387-74885-6, January 2008. Corrections and code are at

Individual Instructions for Each Laboratory Exercise

Lab 1. Overview of the Hardware and Software Tools

Lab 2. Learning to Use the Hardware and Software Tools by Generating a Sine Wave

Lab 3. Digital Filters

Lab 4. Pseudo-Random Binary Sequences and Data Scramblers

Lab 5. Digital Data Transmission by Baseband Pulse Amplitude Modulation (PAM)

Lab 6. Fundamentals of Quadrature Amplitude Modulation

Lab 7. QAM Receiver

Format of Lab

Each laboratory section meets three hours per week. Pre-laboratory quizzes are required for laboratories 2-6, and they are to be completed individually without help from anyone. For laboratory 1, the experiment and written report are to be completed individually. For laboratories 2-6, the experiment and report are to be completed in a team of two. For laboratory 7, which is optional, the experiment and oral report are to be completed individually. The format of the written lab report is described in the notes for laboratory 2.

Grading of Programs


Getting Started

Extract skeleton.exe to a directory on your network drive, such as H:\345S. It contains the following directories:
For most labs, we will run our programs in two environments: The shared_codec directory contains libraries, a linker command file, header files, and other source code for using the codec on the DSP board. Likewise, the shared_rtdx contains files for using the RTDX interface to communicate with LabVIEW. Both of these directories contain two generic functions, ReadSample and WriteSample for reading/writing samples in either environment.

The intent is to allow you to run your program in either/both environments without any modification.

The lab-skeleton directory contains Code Composer project files, rtdx.pjt and codec.pjt, and a empty source file labmain.c (which is used by both projects). You will write your program inside of labmain.c (the function labmain() is called when the program runs). You are free to create additional source files, but keep in mind that both rtdx.pjt and codec.pjt may need to be modified if you do so.

You should recompile the source code that comes with Tretter's lab manual to make sure that the object code is consistent with the version of the compiler and with the type of DSP board you are using. Project files are used by Code Composter Studio to compile and assemble files automatically by determining what object files are out of date based on the timestamps on source and object files. The project file cannot detect that an object file was generated with an older version of the compiler.

For each new lab you should copy the lab-skeleton directory to a new one (such as lab3, lab4, etc.). The shared_codec and shared_rtdx directories are intended to be used for all the labs (generally, files in these two directories shouldn't be modified). Thus, after a few labs, your directory structure will probably look like this:



If your lab has a LabVIEW component, the LabVIEW VI needs to be put in the SAME directory as the C source files. This is essential, as the provided LabVIEW VIs assume that they are stored in the same directory as rtdx.pjt. Also keep in mind that rtdx.pjt (and not codec.pjt) is used by the LabVIEW VIs.