<< Chapter < Page | Chapter >> Page > |
MATLAB scripts will be made available to you to aid in code development. For example, one of these scriptsallows you to save filter coefficients created in MATLAB in a form that can be included as part of the assemblyprocess without having to type them in by hand (a very useful tool for long filters). These scripts may alreadybe installed on your computer; otherwise, download the files from the links as they are introduced.
First, have MATLAB generate a "random" eight-tap filter by
typing
h = gen_filt;
at a MATLAB prompt.
Then save this vector of filter coefficients by typing
save_coef('coef.asm',flipud(h));
. Make sure
you save the file in your own directory. (The scriptsthat perform these functions are available as
gen_filt.m and
save_coef.m .)
The MATLAB script will save the coefficients of the vector
into the named file, which in this case is
coef.asm
. Note that the coefficient vector
is "flipped" prior to being saved; this is to make thecoefficients in
fill DSP memory-locations
0x1000
through
0x1007
in reverse order, as before.
You may now re-assemble and re-run your new filter code as you did in Step 5 .
Notice when you load your new filter that the contents of
memory locations
0x1000
through
0x1007
update accordingly.
Not only can you view the contents of memory on the DSP using the debugger, you can change the contents at anymemory location simply by double-clicking on the location and making the desired change in the pop-up window.
Change the contents of memory locations
0x1000
through
0x1007
such that
the coefficients implement a filter
After you have made the changes to all eight coefficients, run your new filter and use the oscilloscope to measurethe delay between the raw (input) and filtered (delayed) waveforms.
What happens to the output if you change either the scaling factor or the delay value? How many seconds longis a six-sample delay?
As a final exercise, you will find the output of the DSP for an input specified by a test vector. Then you willcompare that output with the output of a MATLAB simulation of the same filter processing the same input; if the DSPimplementation is correct, the two outputs should be almost identical. To do this, you will generate awaveform in MATLAB and save it as a test vector. You will then run your DSP filter using the test vector as inputand import the results back into MATLAB for comparison with a MATLAB simulation of the filter.
Notification Switch
Would you like to follow the 'Dsp laboratory with ti tms320c54x' conversation and receive update notifications?