DSP課程設(shè)計(jì)調(diào)制解調(diào)實(shí)驗(yàn)報(bào)告_第1頁
DSP課程設(shè)計(jì)調(diào)制解調(diào)實(shí)驗(yàn)報(bào)告_第2頁
DSP課程設(shè)計(jì)調(diào)制解調(diào)實(shí)驗(yàn)報(bào)告_第3頁
DSP課程設(shè)計(jì)調(diào)制解調(diào)實(shí)驗(yàn)報(bào)告_第4頁
DSP課程設(shè)計(jì)調(diào)制解調(diào)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上DSP課程設(shè)計(jì)實(shí) 驗(yàn) 報(bào) 告信號的調(diào)制與解調(diào)院(系):電子信息工程學(xué)院 設(shè)計(jì)人員:朱煒瑋 學(xué)號: 張斯奇 目 錄一、設(shè)計(jì)任務(wù)書1二、設(shè)計(jì)內(nèi)容5三、設(shè)計(jì)方案、算法原理說明10四、程序設(shè)計(jì)、調(diào)試與結(jié)果分析15 五、設(shè)計(jì)(安裝)與調(diào)試的體會25 六、參考文獻(xiàn)26一、設(shè)計(jì)任務(wù)書信號的調(diào)制和解調(diào)廣泛應(yīng)用于通訊及信息處理領(lǐng)域。調(diào)制就是用低頻的調(diào)制信號去控制高頻載波的某一個參數(shù),使載波信號的參數(shù)按照調(diào)制信號的規(guī)律變化,可分為調(diào)幅、調(diào)頻和調(diào)相信號調(diào)制;信號的解調(diào)是調(diào)制的逆過程,是從已調(diào)高頻信號中取出調(diào)制信號,對應(yīng)的分為調(diào)幅、調(diào)頻和調(diào)相信號的解調(diào)。本設(shè)計(jì)要求采用DSP及其A/D、D/A

2、轉(zhuǎn)換器實(shí)現(xiàn)信號的調(diào)制和解調(diào)功能。1.設(shè)計(jì)要求及目標(biāo)基本部分:使用DSP產(chǎn)生調(diào)幅波和調(diào)頻波。調(diào)制信號從MIC音頻輸入接口輸入,頻率小于1000HZ;載頻由DSP程序內(nèi)部產(chǎn)生,頻率在40008000HZ之間,調(diào)幅信號的調(diào)制度為50%。發(fā)揮部分:使用DSP對所產(chǎn)生的調(diào)幅及調(diào)頻信號進(jìn)行解調(diào),并通過SPEAKER音頻輸接口輸出解調(diào)后的信號。2.設(shè)計(jì)思路 模擬模擬幅度調(diào)制(AM)的實(shí)質(zhì)是頻譜搬移,其模型如下: 輸出已調(diào)調(diào)幅信號的時域一般表示式為:如果載波的瞬時頻率偏移隨調(diào)制信號f(t)成線性變化,則為頻率調(diào)制。調(diào)頻信號表示式: 其瞬時頻率為,其中c是未調(diào)載波的標(biāo)稱角頻率,f (t)是調(diào)制信號,系數(shù)KFM稱

3、為頻偏常數(shù)。由數(shù)字振蕩器遞歸的差分方程:yn=A*yn-1-yn-2其中:A=2cos(x),x=FM/FS, FS為采樣頻率。就可以迭代計(jì)算出調(diào)頻信號的每一個輸出樣點(diǎn)的值,經(jīng)過D/A變換和濾波便可以得到模擬的調(diào)頻信號。3要求完成的任務(wù)(1)編寫C語言程序,并在CCS集成開發(fā)環(huán)境下調(diào)試通過。(2)實(shí)現(xiàn)設(shè)計(jì)所要求的各項(xiàng)功能。(3)按要求撰寫設(shè)計(jì)報(bào)告。二、設(shè)計(jì)內(nèi)容1.基本部分:使用DSP產(chǎn)生調(diào)幅波(AM)和調(diào)頻波(FM)。調(diào)制信號m(t)從MIC音頻輸入接口(J5)輸入,頻率f小于1000HZ;載頻c(t)由DSP程序內(nèi)部產(chǎn)生,頻率在40008000HZ之間,調(diào)幅信號的調(diào)制度(modulation

4、 degree)為50%。2.發(fā)揮部分:使用DSP對所產(chǎn)生的調(diào)幅(AM)及調(diào)頻(FM)信號進(jìn)行解調(diào),并通過SPEAKER音頻輸出(J6)接口輸出解調(diào)后的信號。三、設(shè)計(jì)方案、算法原理說明1.整體構(gòu)思:由J5輸入fmax=1000Hz的音頻信號,經(jīng)A/D轉(zhuǎn)換后變?yōu)?5bit的二進(jìn)制數(shù)據(jù),再經(jīng)FIR濾波器濾出噪聲及高頻分量(避免因高頻分量的存在而影響系統(tǒng)的處理效果),后對經(jīng)FIR濾波器輸出的信號進(jìn)行調(diào)制,選用載波為Fc=6250Hz。信號流圖如圖5.1所示:2.具體實(shí)現(xiàn): c(t)的產(chǎn)生: 有兩種實(shí)現(xiàn)方法:查表法和計(jì)算法。其中,查表法速度快,可以產(chǎn)生頻率較高的波形,并且不占用DSP的計(jì)算時間,但由于

5、它占用DSP的內(nèi)部存儲空間,尤其對采樣頻率比較大的輸出波形,而DSP的內(nèi)部存儲空間畢竟是有限的,所以其應(yīng)用受到一定程度的限制;相反,計(jì)算法不占用DSP的內(nèi)部存儲空間,因而它多用于查表法不太適用的場合,但由于它要占用DSP的計(jì)算時間,因而使得執(zhí)行程序的時間開銷變大,不適用于高速處理場合。由于調(diào)制系統(tǒng)的載波頻率較高,所以本實(shí)驗(yàn)采用的實(shí)現(xiàn)方法是查表法。 m(t)實(shí)時采集由于系統(tǒng)設(shè)計(jì)的是調(diào)制解調(diào),而非一般的信號處理程序,因此需要對信號進(jìn)行實(shí)時采集和處理??紤]到dsk板的硬件資源,最終決定采用先經(jīng)過A/D對模擬信號進(jìn)行離散量化,再經(jīng)mcbsp進(jìn)行信號處理的整體方案。而在數(shù)據(jù)經(jīng)mcbsp后,對其進(jìn)行相關(guān)的

6、處理??紤]到dsk板上的codec(TLC320AD50C)內(nèi)含抗混疊濾波器和重構(gòu)濾波器,因此可以省略輸入端低通濾波器和輸出端的濾波器。 AM調(diào)制的實(shí)現(xiàn)由AM調(diào)制的原理框圖可知,其基本的過程是先對輸入的信號加入一直流分量,其中所加直流分量要大于輸入信號以保證后續(xù)調(diào)制不會出現(xiàn)過調(diào)幅現(xiàn)象。而信號的調(diào)制則采用的是對抽樣后的信號直接與對應(yīng)的調(diào)制信號相乘。由于dsp產(chǎn)生周期信號的方法是通過查表產(chǎn)生的,所以本方案采用的是將抽樣得到的離散信號直接與調(diào)制信號表里的對應(yīng)項(xiàng)相乘得到。再經(jīng)codec輸出。四、程序設(shè)計(jì)、調(diào)試與結(jié)果分析程序清單:調(diào)幅:程序1:/*頭文件定義*/#include <type.h&g

7、t;#include <board.h>#include <codec.h>#include <mcbsp54.h>#include <tms320.h>#include <dsplib.h>#include <math.h> /*延遲子程序定義*/void delay(s16 period);#pragma DATA_SECTION(delaybuff,"delay");short delaybuff16=0; short *delayptr = &(delaybuff0); short in

8、p_buffer1;short out_buffer1;short *inp_ptr=inp_buffer;short *out_ptr=out_buffer;HANDLE hHandset;s16 data;s16 temp_buffer256;/*利用查表法產(chǎn)生載波信號定義*/s16 SINE_TABLE= 0x00324,0x00647 ,0x0096A,0x00C8B ,0x00FAB,0x012C7 ,0x015E1,0x018F8 ,0x01C0B,0x01F19 ,0x02223,0x02527 ,0x02826,0x02B1E ,0x02E10,0x030FB ,0x033DE

9、,0x036B9 ,0x0398C,0x03C56 ,0x03F16,0x041CD ,0x0447A,0x0471C ,0x049B3,0x04C3F ,0x04EBF,0x05133 ,0x0539A,0x055F4 ,0x05842,0x05A81 ,0x05CB3,0x05ED6 ,0x060EB,0x062F1 ,0x064E7,0x066CE ,0x068A5,0x06A6C ,0x06C23,0x06DC9 ,0x06F5E,0x070E1 ,0x07254,0x073B5 ,0x07503,0x07640 ,0x0776B,0x07883 ,0x07989,0x07A7C ,0

10、x07B5C,0x07C29 ,0x07CE2,0x07D89 ,0x07E1C,0x07E9C ,0x07F08,0x07F61 ,0x07FA6,0x07FD7 ,0x07FF5,0x07FFE ,0x07FF5,0x07FD7 ,0x07FA6,0x07F61 ,0x07F08,0x07E9C ,0x07E1C,0x07D89 ,0x07CE2,0x07C29 ,0x07B5C,0x07A7C ,0x07989,0x07883 ,0x0776B,0x07640 ,0x07503,0x073B5 ,0x07254,0x070E1 ,0x06F5E,0x06DC9 ,0x06C23,0x06

11、A6C ,0x068A5,0x066CE ,0x064E7,0x062F1 ,0x060EB,0x05ED6 ,0x05CB3,0x05A81 ,0x05842,0x055F5 ,0x0539A,0x05133 ,0x04EBF,0x04C3F ,0x049B3,0x0471C ,0x0447A,0x041CD ,0x03F16,0x03C56 ,0x0398C,0x036B9 ,0x033DE,0x030FB ,0x02E10,0x02B1E ,0x02826,0x02527 ,0x02223,0x01F19 ,0x01C0B,0x018F8 ,0x015E1,0x012C7 ,0x00FA

12、B,0x00C8B ,0x0096A,0x00647 ,0x00324,0x00000 ,0x0FCDC,0x0F9B9 ,0x0F696,0x0F375 ,0x0F056,0x0ED39 ,0x0EA1F,0x0E708 ,0x0E3F5,0x0E0E7 ,0x0DDDD,0x0DAD9 ,0x0D7DA,0x0D4E2 ,0x0D1F0,0x0CF05 ,0x0CC22,0x0C947 ,0x0C674,0x0C3AA ,0x0C0EA,0x0BE33 ,0x0BB86,0x0B8E4 ,0x0B64D,0x0B3C1 ,0x0B141,0x0AECD ,0x0AC66,0x0AA0C ,

13、0x0A7BE,0x0A57F ,0x0A34D,0x0A12A ,0x09F15,0x09D0F ,0x09B19,0x09932 ,0x0975B,0x09594 ,0x093DD,0x09237 ,0x090A2,0x08F1F ,0x08DAC,0x08C4C ,0x08AFD,0x089C0 ,0x08895,0x0877D ,0x08677,0x08584 ,0x084A4,0x083D8 ,0x0831E,0x08277 ,0x081E4,0x08164 ,0x080F8,0x0809F ,0x0805A,0x08029 ,0x0800B,0x08002 ,0x0800B,0x0

14、8029 ,0x0805A,0x0809F ,0x080F8,0x08164 ,0x081E4,0x08277 ,0x0831E,0x083D7 ,0x084A4,0x08584 ,0x08677,0x0877D ,0x08895,0x089C0 ,0x08AFD,0x08C4B ,0x08DAC,0x08F1F ,0x090A2,0x09237 ,0x093DD,0x09594 ,0x0975B,0x09932 ,0x09B19,0x09D0F ,0x09F15,0x0A12A ,0x0A34D,0x0A57F ,0x0A7BE,0x0AA0B ,0x0AC66,0x0AECD ,0x0B1

15、41,0x0B3C1 ,0x0B64D,0x0B8E4 ,0x0BB86,0x0BE33 ,0x0C0EA,0x0C3AA ,0x0C674,0x0C947 ,0x0CC22,0x0CF05 ,0x0D1F0,0x0D4E1 ,0x0D7DA,0x0DAD9 ,0x0DDDD,0x0E0E7 ,0x0E3F5,0x0E708 ,0x0EA1E,0x0ED38 ,0x0F055,0x0F375 ,0x0F696,0x0F9B9 ,0x0FCDC,0x00000 ; /*主程序*/void main() s16 cnt=2;int i=0,j=0;s32 dat32;/*初始化5402DSK扳*/

16、 if (brd_init(100) return;/*閃燈程序定義*/while ( cnt- )brd_led_toggle(BRD_LED0);/* brd_delay_msec(1000); */delay(1000);brd_led_toggle(BRD_LED1);/* brd_delay_msec(1000); */delay(1000);brd_led_toggle(BRD_LED2);/* brd_delay_msec(1000); */delay(1000); hHandset = codec_open(HANDSET_CODEC); /* 獲取Codec的句柄 */ /*

17、 Set codec parameters */ codec_dac_mode(hHandset, CODEC_DAC_15BIT); /* DAC in 15-bit mode */ codec_adc_mode(hHandset, CODEC_ADC_15BIT); /* ADC in 15-bit mode */ codec_ain_gain(hHandset, CODEC_AIN_6dB); /* 輸入信號增益為6dB */ codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB); /* 輸出信號增益為-6 dB */ codec_sample_

18、rate(hHandset,SR_16000); /* 取樣頻率為16KHz*/ /* Polling and digital loopback */ while (1) /* Wait for sample from handset */ while (!MCBSP_RRDY(HANDSET_CODEC) ; /*數(shù)據(jù)處理開始*/ data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC); i=i+100;/產(chǎn)生一個頻率為6250HZ的載波 i=i&0xff;/修正樣點(diǎn)指針 temp_bufferj=data; j+; j=j&0xff;

19、 dat32 =(data+10)* SINE_TABLEi; *(volatile u32*)DXR1_ADDR(HANDSET_CODEC) = dat32; return;/*延遲子程序*/void delay(s16 period) int i, j; for(i=0; i<period; i+) for(j=0; j<period>>1; j+); Cmd文件:MEMORY PAGE 0: VECS: origin = 0080h, length = 0080h /* Internal Program RAM */ PRAM: origin = 7600h,

20、length = 8000h /* Internal Program RAM */ PAGE 1: SCRATCH: origin = 0060h, length = 0020h /* Scratch Pad Data RAM */ DMARAM: origin = 0C00h, length = 0300h /* DMA buffer */ DATA: origin = 1100h, length = 0080h /* Internal Data RAM */ STACK: origin = 1180h, length = 0560h /* Stack Memory Space */ INR

21、AM: origin = 1900h, length = 0100h /* Internal Data RAM */ HPRAM0: origin = 1A00h, length = 0002h /* HPI memory accessible by Host and DSP */ HPRAM1: origin = 1A02h, length = 0280h /* HPI memory accessible by Host and DSP */ HPRAM2: origin = 1C82h, length = 0280h /* HPI memory accessible by Host and

22、 DSP */ EXRAM: origin = 1F10h, length = 4000h /* External Data RAM */*/* DSP Memory Allocation */*/SECTIONS .cinit > PRAM PAGE 0 .text > PRAM PAGE 0 .vectors > VECS PAGE 0 init_var > PRAM PAGE 0 detect > PRAM PAGE 0 vrcprg > PRAM PAGE 0 matprg > PRAM PAGE 0 .stack > STACK PAG

23、E 1 .trap > SCRATCH PAGE 1 .const > EXRAM PAGE 1 .data > EXRAM PAGE 1 .bss > EXRAM PAGE 1 .cio > EXRAM PAGE 1 .switch > EXRAM PAGE 1 coefficients > EXRAM PAGE 1,align 1024 delay > EXRAM PAGE 1,align 1024 tables > EXRAM PAGE 1 var > EXRAM PAGE 1 svctab > EXRAM PAGE 1

24、/* SS_V LSP table */ vctab > EXRAM PAGE 1 /* V LSP table */ uvctab > EXRAM PAGE 1 /* UV LSP table */ cuvtab > EXRAM PAGE 1 /* Stochastic codebook */ cdbktab > EXRAM PAGE 1 /* various codebook tables*/ logtab > EXRAM PAGE 1 /* table for log2 */ powtab > EXRAM PAGE 1 /* table for pow

25、2 */ hamtab > EXRAM PAGE 1 /* table for hamming */ lgwtab > EXRAM PAGE 1 /* table for lag window */ acostab > EXRAM PAGE 1 /* table for arccos */ sqrtab > EXRAM PAGE 1 /* table for square root */ acbtab > EXRAM PAGE 1 /* table for thresholds in acb */ pm03tab > EXRAM PAGE 1 /* tabl

26、e for x(-0.3) computation */ costab > EXRAM PAGE 1 /* table for cosine */ V23 > INRAM PAGE 1 FSK > INRAM PAGE 1 hpibuff0 > HPRAM0 PAGE 1 hpibuff1 > HPRAM1 PAGE 1 hpibuff2 > HPRAM2 PAGE 1 dma_buff > DMARAM PAGE 1以上就是我們調(diào)幅波的產(chǎn)生程序,這個程序基本上是按照任務(wù)書的要求設(shè)計(jì)的,但因?yàn)樽詈笠惶鞗]借到板子,所以只用仿真器產(chǎn)生了載波的波形如圖:因?yàn)?/p>

27、第一個程序的音頻接收部分我們借鑒的是語音壓縮的程序,但我們發(fā)現(xiàn)在調(diào)制過程中我們該程序?qū)φ{(diào)制信號的接收很差,在多次調(diào)試失敗的情況下,我們只能通過DSK板同時產(chǎn)生調(diào)制信號和載波,效果很好,程序如下:/*利用查表法取得調(diào)制信號,次程序只是利用查表法產(chǎn)生載波和輸入信號,沒有里利用語音輸入作為輸入信號*/#include <type.h>#include <board.h>#include <codec.h>#include <mcbsp54.h>void delay(s16 period);HANDLE hHandset;s16 data;u16 j=0

28、;u16 n=0;u16 a=0;s32 out_buffer256;s32 out_buffer1256;s32 out_buffer2256;/定義s16 SINE_TABLE= 0x00324,0x00647 ,0x0096A,0x00C8B ,0x00FAB,0x012C7 ,0x015E1,0x018F8 ,0x01C0B,0x01F19 ,0x02223,0x02527 ,0x02826,0x02B1E ,0x02E10,0x030FB ,0x033DE,0x036B9 ,0x0398C,0x03C56 ,0x03F16,0x041CD ,0x0447A,0x0471C ,0x04

29、9B3,0x04C3F ,0x04EBF,0x05133 ,0x0539A,0x055F4 ,0x05842,0x05A81 ,0x05CB3,0x05ED6 ,0x060EB,0x062F1 ,0x064E7,0x066CE ,0x068A5,0x06A6C ,0x06C23,0x06DC9 ,0x06F5E,0x070E1 ,0x07254,0x073B5 ,0x07503,0x07640 ,0x0776B,0x07883 ,0x07989,0x07A7C ,0x07B5C,0x07C29 ,0x07CE2,0x07D89 ,0x07E1C,0x07E9C ,0x07F08,0x07F61

30、 ,0x07FA6,0x07FD7 ,0x07FF5,0x07FFE ,0x07FF5,0x07FD7 ,0x07FA6,0x07F61 ,0x07F08,0x07E9C ,0x07E1C,0x07D89 ,0x07CE2,0x07C29 ,0x07B5C,0x07A7C ,0x07989,0x07883 ,0x0776B,0x07640 ,0x07503,0x073B5 ,0x07254,0x070E1 ,0x06F5E,0x06DC9 ,0x06C23,0x06A6C ,0x068A5,0x066CE ,0x064E7,0x062F1 ,0x060EB,0x05ED6 ,0x05CB3,0

31、x05A81 ,0x05842,0x055F5 ,0x0539A,0x05133 ,0x04EBF,0x04C3F ,0x049B3,0x0471C ,0x0447A,0x041CD ,0x03F16,0x03C56 ,0x0398C,0x036B9 ,0x033DE,0x030FB ,0x02E10,0x02B1E ,0x02826,0x02527 ,0x02223,0x01F19 ,0x01C0B,0x018F8 ,0x015E1,0x012C7 ,0x00FAB,0x00C8B ,0x0096A,0x00647 ,0x00324,0x00000 ,0x0FCDC,0x0F9B9 ,0x0

32、F696,0x0F375 ,0x0F056,0x0ED39 ,0x0EA1F,0x0E708 ,0x0E3F5,0x0E0E7 ,0x0DDDD,0x0DAD9 ,0x0D7DA,0x0D4E2 ,0x0D1F0,0x0CF05 ,0x0CC22,0x0C947 ,0x0C674,0x0C3AA ,0x0C0EA,0x0BE33 ,0x0BB86,0x0B8E4 ,0x0B64D,0x0B3C1 ,0x0B141,0x0AECD ,0x0AC66,0x0AA0C ,0x0A7BE,0x0A57F ,0x0A34D,0x0A12A ,0x09F15,0x09D0F ,0x09B19,0x0993

33、2 ,0x0975B,0x09594 ,0x093DD,0x09237 ,0x090A2,0x08F1F ,0x08DAC,0x08C4C ,0x08AFD,0x089C0 ,0x08895,0x0877D ,0x08677,0x08584 ,0x084A4,0x083D8 ,0x0831E,0x08277 ,0x081E4,0x08164 ,0x080F8,0x0809F ,0x0805A,0x08029 ,0x0800B,0x08002 ,0x0800B,0x08029 ,0x0805A,0x0809F ,0x080F8,0x08164 ,0x081E4,0x08277 ,0x0831E,

34、0x083D7 ,0x084A4,0x08584 ,0x08677,0x0877D ,0x08895,0x089C0 ,0x08AFD,0x08C4B ,0x08DAC,0x08F1F ,0x090A2,0x09237 ,0x093DD,0x09594 ,0x0975B,0x09932 ,0x09B19,0x09D0F ,0x09F15,0x0A12A ,0x0A34D,0x0A57F ,0x0A7BE,0x0AA0B ,0x0AC66,0x0AECD ,0x0B141,0x0B3C1 ,0x0B64D,0x0B8E4 ,0x0BB86,0x0BE33 ,0x0C0EA,0x0C3AA ,0x

35、0C674,0x0C947 ,0x0CC22,0x0CF05 ,0x0D1F0,0x0D4E1 ,0x0D7DA,0x0DAD9 ,0x0DDDD,0x0E0E7 ,0x0E3F5,0x0E708 ,0x0EA1E,0x0ED38 ,0x0F055,0x0F375 ,0x0F696,0x0F9B9 ,0x0FCDC,0x00000 ; /*主程序*/void main() s16 amp=1;/定義幅度 s16 cnt=2; u16 i=0;u16 m=0; if (brd_init(100) return;/* 定義閃燈程序*/while ( cnt- )brd_led_toggle(BRD

36、_LED0);/* brd_delay_msec(1000); */delay(1000);brd_led_toggle(BRD_LED1);/* brd_delay_msec(1000); */delay(1000);brd_led_toggle(BRD_LED2);/* brd_delay_msec(1000); */delay(1000); while (1) i=i+1;/62.5HZ / i=i+10;/625HZ / i=i+100;/6250HZ i&=0x00ff; / 修正樣點(diǎn)指針 out_buffer1j=amp*SINE_TABLEi;/利用查表法產(chǎn)生一個載波信號

37、,并存放在數(shù)組out_buffer1中 /m=m+1;/62.5HZ m=m+10;/625HZ / m=m+100;/6250HZ m&=0x00ff; / 修正樣點(diǎn)指針 out_buffer2j=amp*SINE_TABLEm;/利用查表法產(chǎn)生一個輸入信號,并存放在數(shù)組out_buffer2中 out_bufferj=(10+out_buffer1j)*out_buffer2j; j+; j&=0x00ff; /mod 255 /* 定義延遲程序*/ void delay(s16 period) int i, j; for(i=0; i<period; i+) for

38、(j=0; j<period>>1; j+); Cmd:MEMORY PAGE 0: VECS: origin = 0080h, length = 0080h /* Internal Program RAM */ PRAM: origin = 7600h, length = 8000h /* Internal Program RAM */ PAGE 1: SCRATCH: origin = 0060h, length = 0020h /* Scratch Pad Data RAM */ DMARAM: origin = 0C00h, length = 0300h /* DMA

39、 buffer */ DATA: origin = 1100h, length = 0080h /* Internal Data RAM */ STACK: origin = 1180h, length = 0560h /* Stack Memory Space */ INRAM: origin = 1900h, length = 0100h /* Internal Data RAM */ HPRAM0: origin = 1A00h, length = 0002h /* HPI memory accessible by Host and DSP */ HPRAM1: origin = 1A0

40、2h, length = 0280h /* HPI memory accessible by Host and DSP */ HPRAM2: origin = 1C82h, length = 0280h /* HPI memory accessible by Host and DSP */ EXRAM: origin = 1F10h, length = 4000h /* External Data RAM */*/* DSP Memory Allocation */*/SECTIONS .cinit > PRAM PAGE 0 .text > PRAM PAGE 0 .vector

41、s > VECS PAGE 0 init_var > PRAM PAGE 0 detect > PRAM PAGE 0 vrcprg > PRAM PAGE 0 matprg > PRAM PAGE 0 .stack > STACK PAGE 1 .trap > SCRATCH PAGE 1 .const > EXRAM PAGE 1 .data > EXRAM PAGE 1 .bss > EXRAM PAGE 1 .cio > EXRAM PAGE 1 .switch > EXRAM PAGE 1 tables >

42、 EXRAM PAGE 1 var > EXRAM PAGE 1 svctab > EXRAM PAGE 1 /* SS_V LSP table */ vctab > EXRAM PAGE 1 /* V LSP table */ uvctab > EXRAM PAGE 1 /* UV LSP table */ cuvtab > EXRAM PAGE 1 /* Stochastic codebook */ cdbktab > EXRAM PAGE 1 /* various codebook tables*/ logtab > EXRAM PAGE 1 /

43、* table for log2 */ powtab > EXRAM PAGE 1 /* table for pow2 */ hamtab > EXRAM PAGE 1 /* table for hamming */ lgwtab > EXRAM PAGE 1 /* table for lag window */ acostab > EXRAM PAGE 1 /* table for arccos */ sqrtab > EXRAM PAGE 1 /* table for square root */ acbtab > EXRAM PAGE 1 /* tab

44、le for thresholds in acb */ pm03tab > EXRAM PAGE 1 /* table for x(-0.3) computation */ costab > EXRAM PAGE 1 /* table for cosine */ V23 > INRAM PAGE 1 FSK > INRAM PAGE 1 hpibuff0 > HPRAM0 PAGE 1 hpibuff1 > HPRAM1 PAGE 1 hpibuff2 > HPRAM2 PAGE 1 dma_buff > DMARAM PAGE 1信號調(diào)制后的波

45、形如圖:最后我們又嘗試了用計(jì)算法產(chǎn)生載波和調(diào)制信號,程序如下:#include <stdio.h>#include <math.h>#define TURE 1int y500,i;float M;void main() puts("amplitude modulation sinewave example started.n"); M=50; for(i=0;i<500;i+) yi=0; while(TURE) for(i=0;i<500;i+) yi=(int)(1+M/100*sin(i*2*3.14159*20/4000)*si

46、n(i*2*3.14159*200/4000)*16384); puts("program end"); Cmd:MEMORYPAGE 0: EPROG: origin=0x1400,len=0x7c00 VECT: origin=0xff80,len=0x80PAGE 1: USERREGS: origin=0x60,len=0x1c IDATA: origin=0x80,len=0x3000SECTIONS.vectors:> VECT PAGE 0.text: > EPROG PAGE 0.cinit: > EPROG PAGE 0.bss: > I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論