<< Chapter < Page | Chapter >> Page > |
In this lab you are to implement and optimize the frequency shift keying ( FSK ) digital transmitter and pseudo-noise ( PN ) sequence generator shown in this figure . For the lab grade, you will be judged on the execution time of your system (memory usageneed not be minimized).
You will implement and optimize the complete system shown in this figure . over the next two weeks. You may write in C, assembly, or anycombination of the two; choose whatever will allow you to write the fastest code. The optimization process willprobably be much easier if you plan for optimization before you begin any programming.
We provide for you in Appendix A a complete C implementation of this lab. It consists of the main C file fsk.c and a C-callable SINE function in SINE.asm. Compile and link this usingthe batch file C_ASM.bat by typing "C_ASM fsk SINE" on the command prompt. Load FSK.out onto the DSP, and run the code. Observe the output (Channel 1) on the scope.
After taking a look at the source code of this implementation, you'll realize that this is a rather inefficient implementation. It's there to show you what output is expected of your code, andthe computational efficiency of your code will be judged against it. While the given code might serve as a starting point, you should do whatever you need to do to make your code as efficientas possible, while producing the same output as the given code.
Once you have planned your program strategy, implement the PN generator from Figure 2 and verify that it is working. If you are programming in assembly, you may wishto refer to the description of assembly instructions for logical operations in Section 2-2 of the C54x Mnemonic Instruction Set reference. Initialize the shift register to one.
In testing the PN generator, you may find the file
v:
\ece320\54x\dspclib\pn_output.mat
helpful. To use it, type
load
v:\ece320\54x\dspclib\pn_output
at the Matlab command
prompt. This will load a vector
pn_output
into
memory. The vector contains 500 elements, which are thefirst 500 output bits of the PN generator. Be prepared to
prove to a TA that your PN generator works properly as partof your quiz.
For your transmitter implementation you are to use the data-block-to-carrier-frequency mapping in this table and a digital symbol period of samples.
Viewing the transmitted signal on the oscilloscope may help
you determine whether your code works properly, but youshould check it more carefully by setting breakpoints in
Code Composer and using the
Memory
option from
the
View
menu to view the contents of memory.
The vector signal analyzer (VSA) provides another method oftesting.
Notification Switch
Would you like to follow the 'Ece 320 spring 2004' conversation and receive update notifications?