DSP Signal Generator Implementation On C6713 DSK - ComLab
DSP Signal Generator Implementation On C6713 DSK - ComLab
DSP Signal Generator Implementation On C6713 DSK - ComLab
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Symbol Block Level (in hex)<br />
000 0x7FFF<br />
001 0x5B6D<br />
010 0x36DB<br />
011 0x1249<br />
100 -0x1249<br />
101 -0x36DB<br />
110 -0x5B6D<br />
111 -0x7FFF<br />
Figure 3.24: 4-level PAM lookup table for mapping<br />
Figure 3.25 shows source code for generating 8-level PAM.<br />
1 int i_8PAM_M, j_8PAM_M, masked_value, initial, output, assign, data_8PAM[8];<br />
2 short k=0;<br />
3 interrupt void c_int11() //interrupt service routine<br />
4 {<br />
5 if (i_8PAM_M==60) //new input is taken every 60 samples<br />
6 {sample_data = input_sample(); //inputs data<br />
7 sample_data = sample_data >> 1; //least significant bit discarded<br />
8 i_8PAM_M=0;<br />
9 j_8PAM_M=0;}<br />
10 masked_value = sample_data & 0x0007; //masks sample as 3-bit segments<br />
11 output = data_8PAM[masked_value]; //gets corresponding level<br />
12 output_sample(output); //outputs corresponding voltage level 12 times<br />
13 j_8PAM_M++; //repeated output counter<br />
14 if (j_8PAM_M==12) //checks if repetition is over<br />
15 {j_8PAM_M=0;<br />
16 sample_data = sample_data >> 3;} //shifts input to mask next segment<br />
17 i_8PAM_M++;<br />
18 return;<br />
19 } // end of interrpt routine<br />
20 void main()<br />
21 {initial=0x7FFF;<br />
22 for(k=0; k