<< Chapter < Page Chapter >> Page >
Students are to implement and optimize a frequency shift keying (FSK) digital transmitter and pseudo-noise (PN) sequence generator.

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).

Implementation

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.

Reference implementation

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.

Pn generator

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.

Transmitter

For your transmitter implementation you are to use the data-block-to-carrier-frequency mapping in this table and a digital symbol period of T symb 32 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.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ece 320 spring 2004. OpenStax CNX. Aug 24, 2004 Download for free at http://cnx.org/content/col10225/1.12
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ece 320 spring 2004' conversation and receive update notifications?

Ask