版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> DSP綜合課程設(shè)計(jì)</b></p><p> 2FSK調(diào)制/解調(diào)的實(shí)現(xiàn)</p><p> 系 別: 電 計(jì) 系</p><p><b> 組 號(hào):</b></p><p> 姓 名: </p&g
2、t;<p> 學(xué) 號(hào): </p><p> 指導(dǎo)老師: </p><p> 日 期: 2011 年11 月18 日</p><p><b> 一、目的和意義</b></p><p><b> 1、地位和作用:</b&g
3、t;</p><p> DSP在當(dāng)今信息化時(shí)代的作用越來越顯著,掌握DSP軟,硬件的使用及注意事項(xiàng),對(duì)當(dāng)代信息相關(guān)專業(yè)的大學(xué)生非常必要,同時(shí)對(duì)DSP的進(jìn)一步掌握與發(fā)展也有利于我國(guó)經(jīng)濟(jì)及國(guó)防的發(fā)展。</p><p><b> 2、目的和任務(wù):</b></p><p> 在對(duì)DSP硬件結(jié)構(gòu)的初步了解的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)2FSK調(diào)制的電路原理圖及
4、PCB板圖。</p><p><b> 二、內(nèi)容與要求</b></p><p> 繪制具備AD功能的DSP最小系統(tǒng)電路圖,設(shè)計(jì)基于DSP的2FSK調(diào)制解調(diào)程序。設(shè)計(jì)2FSK調(diào)制解調(diào)的DSP程序,并給出相應(yīng)的仿真結(jié)果。</p><p> 1.了解和熟悉DSP綜合試驗(yàn)箱的結(jié)構(gòu)原理和設(shè)置;存儲(chǔ)器、邏輯控制等模塊的原 理和配置。 </p&g
5、t;<p><b> 2.開發(fā)工具 </b></p><p> 熟悉DSP開發(fā)系統(tǒng)的連接;進(jìn)一步熟悉CCS2.2開發(fā)環(huán)境的使用方法。 </p><p><b> 3.DSP結(jié)構(gòu) </b></p><p> 進(jìn)一步熟悉DSP的硬件構(gòu)造,特別是DSP外圍存儲(chǔ)單元及接口電路的設(shè)計(jì)。 </p>
6、<p> 4.DSP最小系統(tǒng)設(shè)計(jì)</p><p> 繪制DSP最小系統(tǒng)電路圖:外圍存儲(chǔ)器及ADC電路的設(shè)計(jì)。 </p><p> 5.2FSK調(diào)制及解調(diào) </p><p> 理解2FSK調(diào)制及解調(diào)的原理,設(shè)計(jì)2FSK調(diào)制及解調(diào)的方案,給出具體的實(shí)現(xiàn)思路。 </p><p><b> 6.FIR濾波器</b&
7、gt;</p><p> 計(jì)算FIR實(shí)現(xiàn)所需的參數(shù)。 </p><p> 7.FIR濾波器實(shí)現(xiàn) </p><p> 編寫FIR濾波器實(shí)現(xiàn)的DSP程序。 </p><p> 8.2FSK調(diào)制及解調(diào)實(shí)現(xiàn)</p><p> 給出2FSK調(diào)制及解調(diào)實(shí)現(xiàn)流程圖,編寫相關(guān)DSP實(shí)現(xiàn)程序。 </p><
8、p><b> 9.仿真</b></p><p> 驗(yàn)證2FSK調(diào)制及解調(diào)的DSP程序,給出相應(yīng)的仿真結(jié)果。</p><p><b> 三、原 理</b></p><p> ?。ㄒ唬?FSK調(diào)制算法原理:</p><p> 2FSK調(diào)制采用查表法,可以實(shí)現(xiàn)較好的實(shí)時(shí)性,特別適用于
9、通信載波的生成。在DSP 的程序存儲(chǔ)空間,使用Q15 定點(diǎn)數(shù)格式在[0,2π]上以2π/N的相位間隔固化N 點(diǎn)正弦值,以供查表,在此取N=12。這樣對(duì)于F0和F1的取樣間隔分別為:</p><p><b> (1)</b></p><p> 使用DSP定時(shí)器T0,用來實(shí)現(xiàn)對(duì)數(shù)據(jù)解調(diào)DAC輸出速率的控制。這樣,如要實(shí)現(xiàn)12Kbps的數(shù)據(jù)傳輸速率,需要將DSP定時(shí)器T
10、0的溢出率設(shè)置為192KHz。</p><p> ?。ǘ?,2FSK解調(diào)算法原理:</p><p> FSK解調(diào)有相干解調(diào)和非相干解調(diào)[3,4],相干解調(diào)對(duì)通信設(shè)備要求較高,一般數(shù)字調(diào)頻系統(tǒng)都采用非相干解調(diào)[5]。在此,采用實(shí)時(shí)性較高的2FSK信號(hào)差分檢波解調(diào)算法[6]。算法的基本思想是已調(diào)信號(hào)和它的π/2的延時(shí)信號(hào)相乘,然后經(jīng)過低通濾波,根據(jù)濾波結(jié)果的符號(hào)判斷發(fā)送信號(hào)的值,從而實(shí)現(xiàn)信號(hào)
11、的解調(diào)。算法原理圖如下圖所示。</p><p><b> 圖1</b></p><p> 信號(hào)采樣值S(n)經(jīng)延時(shí)器延遲k個(gè)采樣點(diǎn)得到S(n?k)。k要小于每個(gè)二進(jìn)制碼元周期內(nèi)的采樣點(diǎn)數(shù),使得S(n)和S(n?k)是屬于同一個(gè)二進(jìn)制碼元的采樣值。S(n)和S(n?k)相乘后的輸出樣值:</p><p><b> (2)</
12、b></p><p> 前面一部分是僅與k有關(guān)的常數(shù)。后面一部分是與n有關(guān)的高頻分量,可通過對(duì)稱系數(shù)低通濾波器h(n)來濾除。低通濾波器h(n)的截止頻率設(shè)為12KHz,對(duì)稱系數(shù)經(jīng)Matlab計(jì)算求得:h0=0.00018497,h1=0.26316,h2=0.19272,h3=0.22079,通過該低通濾波器后得到:</p><p><b> (3)</b&g
13、t;</p><p> k的選擇是設(shè)計(jì)解調(diào)器的關(guān)鍵,應(yīng)使差值: </p><p><b> ?。?)</b></p><p> 最大,以利于正確區(qū)分兩種頻率,降低判決的誤碼率。根據(jù)實(shí)際的測(cè)試得到,當(dāng)k=2時(shí),可以得到較好的區(qū)分度。經(jīng)過低通濾波后的數(shù)據(jù)U(n)經(jīng)過判決算法后,可以得到最終所要的解調(diào)數(shù)據(jù)Y(n)。</p><
14、p> 系統(tǒng)12個(gè)采樣數(shù)據(jù)表示一個(gè)碼元,當(dāng)判決算法連續(xù)判決12個(gè)采樣數(shù)據(jù)(一個(gè)碼元包含的采樣點(diǎn))滿足預(yù)設(shè)閾值之后,確定一個(gè)碼元的狀態(tài)。假設(shè)如下判決算法中用都得變量:LPFOUT→濾波器輸出,DATA_THD→幅度判決的閾值,DEC_DATA_CURR→當(dāng)前采樣點(diǎn)判決值,DEC_DATA_BE→前一次采樣點(diǎn)判決值,DEC_NUM→判決用計(jì)數(shù)器,DEC_NUM_X→周期計(jì)數(shù)器。判決算法流程圖如下圖所示:</p><
15、p><b> 圖2</b></p><p><b> 四、系統(tǒng)實(shí)現(xiàn)</b></p><p><b> 1、系統(tǒng)結(jié)構(gòu)</b></p><p><b> 2、電路圖設(shè)計(jì)</b></p><p><b> 原理圖一:</b>
16、</p><p><b> 原理圖二:</b></p><p><b> 原理圖三:</b></p><p><b> 原理圖四:</b></p><p><b> 原理圖五:</b></p><p><b>
17、原理圖六:</b></p><p> 原理圖七(模塊鏈接):</p><p> PCB板圖(toplalyer圖):</p><p> PCB板圖(Buttomlayer圖):</p><p> PCB板圖(整體效果圖)</p><p><b> 3、程序設(shè)計(jì)</b><
18、/p><p> (a),2FSK調(diào)制主程序:</p><p> ;MSP320VC5402 </p><p> ;xue_sheng:200820101234</p><p> ;2011.6 課程設(shè)計(jì)</p><p> ;2FSK 通信調(diào)制程序</p><p> ;=========
19、=============== main.asm ========================= </p><p><b> .mmregs</b></p><p> .def _c_int00</p><p> .def TINT0_ISR</p><p> .include c54.inc&l
20、t;/p><p> .ref c54init</p><p> ********************D/A TLC7524地址*************************</p><p> DA_AD_CON .set 0x0000</p><p> DA_ADDR .set 0x0001</p>&l
21、t;p> AD_ADDR .set 0x0002</p><p><b> .data</b></p><p> **********2FSK調(diào)制不同頻率波形樣值及序列查詢表8*************</p><p> sin0_table:</p><p> .WORD32767,2850
22、8,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508</p><p> sin1_table:</p><p> .WORD28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508,0,28508</p><p><b> FSK_DA
23、TA:</b></p><p> .WORD0x5a36 </p><p> **************************設(shè)置D/A輸出緩沖區(qū)*****************</p><p> .bss sin0,12</p><p> .bss
24、 sin1,12 </p><p> .bss sin,12 </p><p> .bss DA_DATA,1</p><p> .bss AD_DATA,1 </p><p> .bss Dis_buff,1 </p><p> .bss F
25、skData,1 </p><p> .bss a,1 </p><p> **************************設(shè)置D/A輸出計(jì)數(shù)器*****************</p><p> .bss DA_NUM0,1 </p><p> .bss
26、 DA_NUM,1 </p><p> .bss Flag,1 </p><p> .bss RET_ADDR,1 </p><p> .sect "progsys"</p><p> .align 0x10 ;該指令的作用是使十六進(jìn)制儲(chǔ)存對(duì)齊</p>&l
27、t;p> _c_int00: STM #0x0100,SP ;主程序段入口</p><p> CALL c54init ;調(diào)用初始化程序</p><p> LD #sin0,DP</p><p> STM #sin0,AR1</p><p><b> RPT #23</b><
28、;/p><p> MVPD sin0_table,*AR1+ </p><p> ************************DAC/ADC片段的設(shè)置(在硬件平臺(tái)中用到)********************** </p><p> ****;======================== 設(shè)置DAC片選 ===========
29、==============****</p><p> *ST #0x0,*(DA_DATA) *</p><p> *PORTW *(DA_DATA),0x0000 ;將寄存器中的數(shù)據(jù)寫到端口 *</p><p> *;===========
30、=================================================== *</p><p> *;======================== 設(shè)置ADC片選 ========================= *</p><p> *ST #0x2,*(DA_DATA)
31、 *</p><p> *PORTW *(DA_DATA),0x0000 ;將寄存器中的數(shù)據(jù)寫到端口 *</p><p> * *</p><p> ****;========
32、======================================================****</p><p> *************************裝載編碼序列**************************</p><p> CODE_STRING: STM #FskData,AR3</p><p> MVPD F
33、SK_DATA,*AR3</p><p><b> LD *AR3,A</b></p><p> ST #0,DA_NUM0</p><p> ;==============================================================</p><p> ;STM
34、#0x0020,TCR1;啟動(dòng)定時(shí)器</p><p> STM #0x0020,TCR;啟動(dòng)定時(shí)器</p><p> ;==============================================================</p><p> ;======================================
35、========================</p><p> LOOP: ADDM #1,DA_NUM0 </p><p> CMPMDA_NUM0,#16 ;共16位計(jì)滿TC=1否則TC=0 </p><p> BC LOOP_end0,TC ;當(dāng)
36、16位數(shù)據(jù)全部輸出后,停止發(fā)送,關(guān)閉中斷</p><p> AND #0x0001,A ;保留A中的最低位</p><p> BC SIN0_LOOP,AEQ ;當(dāng)發(fā)送的數(shù)據(jù)為"0"是發(fā)送SIN0的數(shù)據(jù)</p><p> B SIN1_LOOP
37、 ;當(dāng)發(fā)送的數(shù)據(jù)為"1"是發(fā)送SIN1的數(shù)據(jù)</p><p> SIN0_LOOP: </p><p> ST #0,DA_NUM </p><p> STM #sin0,AR1 ;發(fā)送"0"時(shí)查找表首地址 </p><p>
38、 B SIN_LOOP1</p><p> SIN1_LOOP: </p><p> ST #0,DA_NUM</p><p> STM #sin1,AR1 ;發(fā)送"1"時(shí)查找表首地址 </p><p> SIN_LOOP1: </p><p> MVDK
39、 *AR1+,Dis_buff ;輸出波形樣值</p><p> ADDM #1,DA_NUM</p><p> CMPM DA_NUM,#12 ;共有12個(gè)點(diǎn)(計(jì)滿12TC置1否則為0</p><p> BC LOOP_end,NTC ;當(dāng)輸出不到12點(diǎn)的時(shí)候,等待定時(shí)器的溢出</p>
40、;<p><b> LD *AR3,A</b></p><p> ROR A ;準(zhǔn)備進(jìn)行下一位數(shù)據(jù)的調(diào)制</p><p> STL A,*AR3</p><p><b> B LOOP</b></p><p> ;=========
41、=====================================================</p><p> LOOP_end0:</p><p> SSBX INTM ;禁止所有可屏蔽中斷</p><p><b> LOOP_end:</b></p><p
42、> B LOOP_end</p><p> ;================================================</p><p> ;Timer0中斷服務(wù)程序:TIN0_ISR</p><p> ;================================================</p>&l
43、t;p> TINT0_ISR:</p><p> STM #SIN_LOOP1 ,AR7</p><p> POPD RET_ADDR</p><p> PSHM AR7 ;堆棧中更新SIN_LOOP1的地址 </p><p><b> Next:</b>&l
44、t;/p><p> RETE </p><p><b> .end </b></p><p> (b),2FSK解調(diào)主程序:</p><p> *************************************************</p><p>
45、 *xue_hao:200820101234 *</p><p> *************************************************</p><p> *FSK延時(shí)相乘非相干解調(diào)測(cè)試程序 *</p><p> *Fc=24kHz,F0=16K
46、Hz,F1=32KHz,Fs=192Khz *</p><p> *************************************************</p><p> *系數(shù)對(duì)稱的FIR濾波器 *</p><p> *N=8,h(n)=h(N-1-n)
47、 *</p><p> *y(n)=h0*[x(n)+x(n-7)]+h1*[x(n-1)+x(n-6)] *</p><p> * +h2*[x(n-2)+x(n-5)]+h3*[x(n-3)+x(n-4)]*</p><p> *************************************************</
48、p><p> .title"FSK_Demoduler_X..asm"</p><p><b> .mmregs</b></p><p> .defstart</p><p> DataNum .set196 ;表中數(shù)據(jù)的個(gè)數(shù)</p><p> DATA_TH
49、D .set12000 ;——幅度判決的閾值</p><p> DEC_PASS_NUM .set3 ;判斷的采樣點(diǎn)數(shù)(此處通過三個(gè)點(diǎn)的判決比較來決定解調(diào)的有效點(diǎn)值 </p><p> DEC_BYPASS_NUM .set12-DEC_PASS_NUM ;判決后循環(huán)9次跳轉(zhuǎn)到下一個(gè)碼元</p><p> .bssy,1</p>
50、<p> .bssx_disp,1</p><p> .bssZ_disp,1</p><p> .bssLPFOUT,1;—濾波器輸出</p><p> .bssDEC_DATA_CURR,1;——當(dāng)前采樣點(diǎn)判決值</p><p> .bssDEC_DATA_BE,1;——前一次采樣點(diǎn)判決值<
51、;/p><p> .bssDEC_NUM,1;——判決用計(jì)數(shù)器</p><p> .bssDEC_NUM_X,1;——周期計(jì)數(shù)器</p><p> .bssDEC_DONE,1 ;判決結(jié)果標(biāo)記位</p><p> x_new.usect"DATA1",4</p><p>
52、 x_old.usect"DATA2",4</p><p> Y_OUT.usect"DATA3",32;給轉(zhuǎn)換結(jié)果開辟了一個(gè)存儲(chǔ)區(qū),實(shí)際做的時(shí)候需要進(jìn)行串轉(zhuǎn)并</p><p> ;outputdata.usect"DATA3",DataNum</p><p> filterdata
53、.usect "filter_vars",DataNum ;給FIR濾波器分配196個(gè)未初始化自定義單元</p><p> size.set4 ;系數(shù)的個(gè)數(shù)</p><p><b> .data</b></p><p> inputdata:</p><p>
54、 *************************************************</p><p><b> *噪音</b></p><p> *************************************************</p><p> .WORD 18295,-6420,19759,-293
55、06,6924,-10388,12834,12498</p><p> .WORD -7547,0,-18295,6420,6084,10388,0,-8530</p><p> .WORD -12834,6420,622,18918,-7547,-6420,-6084,-10388</p><p> .WORD 25843,-10388,1975
56、9,-25338,-622,0,622,25338</p><p> .WORD -19759,10388,-25843,10388,6084,6420,7547,-18918</p><p> .WORD -622,-6420,12834,8530,0,-10388,-6084,-6420</p><p> .WORD 18295,0,7547,
57、-12498,-12834,10388,-6924,29306</p><p> .WORD -19759,6420,-18295,0,18295,-6420,19759,-29306</p><p> *************************************************</p><p> *F0和F1的余弦表</p&g
58、t;<p> *F0:32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508,</p><p> *F1:28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508,</p><p> *以下數(shù)據(jù)表示"0100101
59、1011"</p><p> *************************************************</p><p> .WORD32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508</p><p> .WORD28508,0,-28
60、508,-28508,0,28508,28508,0,-28508,-28508, 0,28508</p><p> .WORD32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508</p><p> .WORD32767,28508,16384,0,-16384,-28508,-32767,-28
61、508,-16384, 0,16384,28508</p><p> .WORD28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508</p><p> .WORD32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508</p&g
62、t;<p> .WORD28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508</p><p> .WORD28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508</p><p> .WORD32767,28508,16384,0,-
63、16384,-28508,-32767,-28508,-16384, 0,16384,28508</p><p> .WORD28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508</p><p> .WORD28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0
64、,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508</p><
65、p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508</p><p> ;.WORD28508,0,-28508,-2
66、8508,0,28508,28508,0,-28508,-28508, 0,28508</p><p> *************************************************</p><p> *F0和F1的正弦表</p><p> *F0:0,16384,28508,32767,28508,16384,0,-16384,-285
67、08,-32767,-28508,-16384,</p><p> *F1:0,28508,28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508,</p><p> *以下數(shù)據(jù)表示"001100110011"</p><p> ********************************
68、*****************</p><p> ;.WORD0,16384,28508,32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384 </p><p> ;.WORD0,16384,28508,32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384</p
69、><p> ;.WORD0,28508,28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508,28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508</p><p> ;.WORD0,16384,28508,32767,28508,16384,0,-16384,-2850
70、8,-32767,-28508,-16384, 0,16384,28508,32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384</p><p> ;.WORD0,28508,28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508,28508,0,-28508,-28508,0,28508
71、,28508,0,-28508,-28508</p><p> ;.WORD0,16384,28508,32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384, 0,16384,28508,32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384</p><p> ;.WORD
72、0,28508,28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508,28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508</p><p> ;.WORD0,16384,28508,32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384,
73、0,16384,28508,32767,28508,16384,0,-16384,-28508,-32767,-28508,-16384</p><p> ;.WORD0,28508,28508,0,-28508,-28508,0,28508,28508,0,-28508,-28508, 0,28508,28508,0,-28508,-28508,0,28508,285</p><p>
74、; *************************************************</p><p> *F0和F1的余弦表(截8個(gè)點(diǎn))</p><p> *F0:32767,28508,16384,0,-16384,-28508,-32767,-28508</p><p> *F1:28508,0,-28508,-28508,0,2850
75、8,28508,0</p><p> *以下數(shù)據(jù)表示"001100110011"</p><p> *************************************************</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508;,-16384
76、, 0,16384,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508;,-16384, 0,16384,28508</p><p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0;,-28508,-28508, 0,28508</p>&l
77、t;p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0;,-28508,-28508, 0,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508;,-16384, 0,16384,28508</p><p> ;.WORD32767,28508,1
78、6384,0,-16384,-28508,-32767,-28508;,-16384, 0,16384,28508</p><p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0;,-28508,-28508, 0,28508</p><p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0;,-28
79、508,-28508, 0,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508;,-16384, 0,16384,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508;,-16384, 0,16384,28508&
80、lt;/p><p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0;,-28508,-28508, 0,28508</p><p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0;,-28508,-28508, 0,28508</p><p> ;.WORD32767,285
81、08,16384,0,-16384,-28508,-32767,-28508;,-16384, 0,16384,28508</p><p> ;.WORD32767,28508,16384,0,-16384,-28508,-32767,-28508;,-16384, 0,16384,28508</p><p> ;.WORD28508,0,-28508,-28508,0,28508
82、,28508,0;,-28508,-28508, 0,28508</p><p> ;.WORD28508,0,-28508,-28508,0,28508,28508,0;,-28508,-28508, 0,28508</p><p> ;COEF.word1*32768/10,2*32768/10</p><p> ;.word3*32768/10
83、,4*32768/10</p><p> COEF.word18*32768/100000,26316*32768/100000</p><p> .word19272*32768/100000,22079*32768/100000 ;系數(shù)表</p><p> ;0.000184970.263160.192720.22079<
84、;/p><p><b> .text</b></p><p> start:LD#x_new,DP ;設(shè)置數(shù)據(jù)存儲(chǔ)器頁指針的起始位置</p><p> SSBXFRCT ;小數(shù)乘法</p><p> *************************************
85、************</p><p> STM#DataNum,AR3 ;AR3賦196</p><p> STM#Z_disp,AR7</p><p> STM8765h,*AR6+ ;直接尋址</p><p> ST #0,DEC_NUM</p><p> ST
86、#0,DEC_NUM_X</p><p> ST #0,DEC_DONE ;初始化</p><p> ************************************************* </p><p> STM#inputdata,AR5</p><p> XXX: ;MVDK
87、*AR5+,x_disp;在此加斷點(diǎn)通過圖形窗口可以觀察調(diào)制后的數(shù)據(jù)波形</p><p> BANZ XXX,*AR3- ;循環(huán)196次</p><p> *************************************************</p><p> STM#Y_OUT,AR1 </p>
88、<p> ************************************************* </p><p> STM#x_new,AR2 ;AR2指向新緩沖區(qū)第1個(gè)單元</p><p> STM#x_old+(size-1),AR3 ;AR3指向老緩沖區(qū)最后1個(gè)單元</p><p> STM
89、#size,BK ;設(shè)置循環(huán)緩沖區(qū)長(zhǎng)度BK =size</p><p> STM#-1,AR0 ;循環(huán)控制增量AR0=-1</p><p> *************************************************</p><p> ;STM#inputdata,AR5<
90、/p><p> STM#(inputdata+6),AR4;調(diào)制后數(shù)據(jù)首地址延時(shí)Pi/2</p><p> *************************************************</p><p> STOR:STM#filterdata,AR6</p><p> ********************
91、*****************************</p><p> ;STM#inputdata,AR5</p><p> ;RPT#(DataNum-1)</p><p> ;MVKDoutputdata,*AR5+</p><p> ****************************************
92、*********</p><p> STM#inputdata,AR5</p><p> ;MVDD*AR5+,*AR2</p><p> STM#(DataNum-1),BRC ;塊循環(huán)196次</p><p> RPTBHHend-1</p><p><b>
93、 FIR:</b></p><p> *************************************************</p><p> MPY *AR5+,*AR4+,A;調(diào)制后的數(shù)據(jù)與移位后的數(shù)據(jù)相乘</p><p> STHA,*AR2 </p><p> ;MVDK *AR2,
94、x_disp;在此加斷點(diǎn)通過圖形窗口可以觀察延時(shí)相乘后的數(shù)據(jù)波形 </p><p> *************************************************</p><p> ADD*AR2+0%,*AR3+0%,A;AH=x(n)+ x(n-7)(第一次)</p><p> RPTZB,#(size-1);B=0,下條指令
95、執(zhí)行size次</p><p> FIRS*AR2+0%,*AR3+0%,COEF;B+=AH*h0,AH=x(n-1)+x(n-6)…</p><p> STHB,*AR6+;保存結(jié)果到y(tǒng)</p><p> *************************************************</p><p>
96、;MVDK *AR6,x_disp</p><p> MVDK *AR6,x_disp;在此加斷點(diǎn)通過圖形窗口可以觀察延時(shí)相乘及濾波后的數(shù)據(jù)波形</p><p><b> ;需要在上面加斷點(diǎn)</b></p><p> *************************************************</p>
97、<p> *在此開始對(duì)LPF輸出數(shù)據(jù)進(jìn)行判決</p><p> *************************************************</p><p> LD DEC_DONE,A </p><p> SUB #1,A
98、 </p><p> BC DEC_BYPASS,AEQ</p><p> *************************************************</p><p> *DEC_NUM_DONE=0,表示一次新的數(shù)據(jù)判決開始</p><p> LD *AR6,B
99、 </p><p> ABS B,A; 對(duì)LPFOUT輸出數(shù)據(jù)取絕對(duì)值</p><p> SUB #DATA_THD,A;將結(jié)果與設(shè)定的閾值進(jìn)行比較</p><p> BC DEC_END,ALT;如果采樣數(shù)據(jù)小于設(shè)定的閾值,則直接返回</p><p> AN
100、D #8000H,B;測(cè)試LPUOUT的極性</p><p> BC DEC_POS,BEQ;相與的結(jié)果=0,說明LPFOUT為正 </p><p> ST #0,DEC_DATA_CURR;存儲(chǔ)測(cè)定的結(jié)果</p><p> B DEC_NUM_ADD</p><p><b> DEC_POS:</b></
101、p><p> ST #1,DEC_DATA_CURR;存儲(chǔ)測(cè)定的結(jié)果</p><p> DEC_NUM_ADD:</p><p> ADDM #1,DEC_NUM </p><p> LD DEC_NUM,A</p><p> SUB #DEC_PASS_NUM,A</p><p>
102、 BC DEC_BE_CURR,ALT;判斷DEC_NUM>=2,小于2則跳轉(zhuǎn)到DEC_BE_CURR</p><p> ;BC DEC_CMP,AEQ;判斷DEC_NUM = 2</p><p><b> ;DEC_CMP:</b></p><p> DEC_COM: LD DEC_DATA_CURR,A;DEC_NUM =
103、2,判斷DATA_CURR==DEC_DATA_BE?</p><p> SUB DEC_DATA_BE,A</p><p> BC DEC_NOPASS,ANEQ</p><p> LD #4,A &l
104、t;/p><p> SUB DEC_NUM,A</p><p> BC P_OUT,AEQ </p><p> ADDM #1,DEC_NUM </p><p> B DEC_BE_CURR </p><p> ;BC P,AEQ
105、 </p><p> ************************************************* </p><p> P_OUT: MVKD DEC_DATA_CURR,*AR1+;存儲(chǔ)判決后的數(shù)據(jù) </p><p> **********
106、***************************************</p><p> ST #0,DEC_NUM_X</p><p> ST #1,DEC_DONE</p><p> B DEC_END </p><p> *************************************************&
107、lt;/p><p> *DEC_NUM_DONE=1,表示一次判決已結(jié)束,開始計(jì)數(shù)10次(2+10,表示一個(gè)碼元的寬度) </p><p> DEC_BYPASS: </p><p> ADDM #1,DEC_NUM_X;DEC_NUM_DONE==1</p><p> LD DEC_NUM_X,A</p>&l
108、t;p> SUB #DEC_BYPASS_NUM,A</p><p> BC DEC_END,ANEQ</p><p> ST #0,DEC_NUM</p><p> ;ST #0,DEC_NUM_X</p><p> ST #0,DEC_DONE</p><p> B DEC_END
109、</p><p> ************************************************* </p><p> DEC_NOPASS:</p><p> ST #1,DEC_NUM;DEC_NUM=1</p><p> *************************************
110、************</p><p> DEC_BE_CURR:</p><p> LD #2,A </p><p> SUB DEC_NUM,A </p>
111、<p> BC DEC_COM,AEQ </p><p> LD DEC_DATA_CURR,A</p><p> STL A,DEC_DATA_BE</p><p><b> B DEC_END</b></p><p> *************************************
112、************</p><p><b> DEC_END:</b></p><p> *************************************************</p><p> MAR*+AR2(2)%;修正AR2,指向新緩沖區(qū)最老的數(shù)據(jù)</p><p> MAR*AR3
113、+%;修正AR3,指向老緩沖區(qū)最老的數(shù)據(jù)</p><p> MVDD*AR2,*AR3+0%;新緩沖區(qū)向老緩沖區(qū)傳送一個(gè)數(shù)</p><p> ;MVDD*AR5+,*AR2</p><p> HHend:BHHend</p><p> .end </p><
114、p><b> 4、調(diào)試結(jié)果</b></p><p> 1),解調(diào)調(diào)試波形:</p><p> 調(diào)制后的波形 延時(shí)相乘后的波形 濾波后的波形</p><p> 2),調(diào)制調(diào)試波形:(100100111010010)</p><p> 3),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2fsk調(diào)制與解調(diào)電路課程設(shè)計(jì)
- 2fsk調(diào)制與解調(diào)電路課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)--2fsk調(diào)制解調(diào)系統(tǒng)設(shè)計(jì)與仿真
- protel應(yīng)用課程設(shè)計(jì)—2fsk調(diào)制與解調(diào)電路
- 2fsk調(diào)制課程設(shè)計(jì)報(bào)告
- 2fsk課程設(shè)計(jì)--2fsk 系統(tǒng)仿真設(shè)計(jì)
- 2fsk數(shù)字頻率調(diào)制解調(diào)仿真通信原理課程設(shè)計(jì)
- 2fsk的模擬調(diào)制相干解調(diào)
- 通信2fsk課程設(shè)計(jì)
- 2fsk的模擬調(diào)制相干解調(diào)
- 2fsk調(diào)制解調(diào)電路的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 高頻電子線路課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告--2fsk調(diào)制解調(diào)電路的設(shè)計(jì)
- 通信原理課程設(shè)計(jì)----基于matlab的2fsk調(diào)制及仿真
- dsp課程設(shè)計(jì)---fsk信號(hào)調(diào)制
- 開題報(bào)告--2fsk調(diào)制解調(diào)系統(tǒng)的分析與設(shè)計(jì)
- 通信原理課程設(shè)計(jì)-基于matlab的2fsk調(diào)制及仿真
- 開題報(bào)告基于matlab的2fsk調(diào)制解調(diào)及其仿真
- 通信原理matlab課程設(shè)計(jì)--2ask、2fsk、2psk、2dpsk調(diào)制解調(diào)matlab仿真
- 基于vhdl的2fsk調(diào)制與解調(diào)—畢業(yè)論文
- 開題報(bào)告基于matlab的2fsk調(diào)制解調(diào)及其仿真
評(píng)論
0/150
提交評(píng)論