摘要:基于dsp的軟件無線電技術(shù)在通信領(lǐng)域得到了廣泛的應(yīng)用。我們使用ti公司的tms320c5420dsp芯片成功設(shè)計了一種兼容2fsk,dpsk,qam等多種調(diào)制解調(diào)方式的jh5001通信原理實驗系統(tǒng),在系統(tǒng)硬件不變的情況下只要修改dsp的軟件處理部分就能實現(xiàn)無線參數(shù)的改變和增加新的功能。詳細介紹了用dsp實現(xiàn)2fsk調(diào)制解調(diào)的算法,并就解調(diào)中所應(yīng)用的數(shù)字濾波器做了具體分析。
關(guān)鍵詞:dsp;軟件無線電;fsk;調(diào)制與解調(diào);數(shù)字濾波器 軟件無線電是利用大規(guī)模集成電路技術(shù),把dsp芯片或通用cpu芯片作為無線通信的基本硬件平臺,將盡可能多的無線通信功能(如調(diào)制技術(shù)、跳頻、糾錯及加密等)用軟件實現(xiàn)。軟件無線電技術(shù)可以用軟件升級來改變無線功能參數(shù),可以按要求的條件編程實現(xiàn)無線通信功能,使系統(tǒng)升級基于軟件,其代價小,靈活性強。用ti公司的tms320c5420dsp芯片成功設(shè)計出一種兼容2fsk,dpsk,qam等多種調(diào)制解調(diào)方式的jh5001通信原理實驗系統(tǒng),下面以 2fsk為例,詳細介紹用dsp軟件實現(xiàn)他的原理。 2fsk調(diào)制的dsp軟件實現(xiàn) 2fsk調(diào)制的數(shù)字振蕩器設(shè)計
頻移鍵控fsk調(diào)制是用數(shù)字基帶信號來控制高頻載波頻率的變化,調(diào)制后的載波信號頻率代表了要傳送的數(shù)字信號。二進制fsk(2fsk)是用2個高頻載波f1和f2來表示2個數(shù)字信號“1”或“0”。2fsk調(diào)制的常用方法是將f1和f2的正弦值預先計算出來,制成一個表,dsp工作時僅做查表運算即可實現(xiàn)。在這里采用數(shù)字振蕩器方法,用迭代方法產(chǎn)生正弦信號。其原理如下:一個傳遞函數(shù)為正弦序列sinkωt的z變換為: 其中,a=2cosωt,b=-1,c=sinωt。設(shè)初始條件為0,求出式(1)的反z變換為: 這是一個二階差分方程,對其求單位沖擊響應(yīng)便可得到正弦信號sinkxt。利用單位沖擊函數(shù)x[k-1]的性質(zhì),僅當 k=1時,x[k-1]=1,得到下列遞推式:
k=0時 y[0]=ay[-1]+by[-2]+0=0
k=1時 y[1]=ay[0]+by[-1]+c=c
k=2時 y[2]=ay[1]+by[0]+0=ay[1]
k=3時 y[3]=ay[2]+by[1]
……
k=n時 y[n]=ay[n-1]+by[n-2] 在k>2以后,y[k]能用y[k-1]和y[k-2]計算出來,這樣通過迭代就能得到一系列的y[k]值。所設(shè)計的數(shù)字振蕩器產(chǎn)生16khz和 32khz的正弦信號,分別代表數(shù)據(jù)0和1,設(shè)置采樣頻率為96khz,通過確定上面遞歸差分方程系數(shù)就可求得16khz和32khz正弦信號的系數(shù)(下標為0的系數(shù)是16khz正弦信號的系數(shù),下標為1的系數(shù)是32khz正弦信號的系數(shù))。 a0=2cosω0t=2cos(2π×16000/96000)=1
b0=-1
c0=sinω0t=sin(2π×16000/96000)=0.86602540
a1=2cosω1t=2cos(2π×32000/96000)=-1
b1=-1
c1=sinω1t=sin(2π×32000ˆ96000)=0.86602540 dsp程序在初始化時先分別計算出產(chǎn)生16khz與32khz信號所需要的y[1]和y[2]值,然后開放定時器中斷,以后每次進入定時器中斷服務(wù)程序時,利用已計算出的y[1]和y[2]值重新計算出新的y[0]值,對其求單位沖擊響應(yīng)就可得到16khz和32khz的正弦信號。 2fsk調(diào)制的定時與中斷設(shè)計
為了保證96khz的采樣頻率,需要用到tms320c5420的中斷與定時器。定時器主要由3個寄存器組成,分別是定時器寄存器tim,每計數(shù)一次自動減1;定時器周期寄存器prd,當tim減為0后,cpu自動將prd的值裝入tim;定時器控制寄存器tcr。 定時器控制寄存器tcr各個比特位的具體定義如表1所示。
表1 定時器控制寄存器tcr的定義 tms320c5420的定時器工作原理是:當clkout信號時鐘沿到來時,觸發(fā)psc。psc是一個減1計數(shù)器,clkout信號時鐘沿使psc減 1,直到psc為0,然后用tddr重新裝入psc,同時將tim減1,直到tim減為0,這時cpu發(fā)出tint中斷,同時在tout引腳輸出一個脈沖信號,脈沖寬度與clkout一致,然后用prd重新裝入,重復下去直到系統(tǒng)或定時器復位?! ‘斚到y(tǒng)復位或定時器單獨復位時,tim和prd都置成最大值fffh,tddr位清0,定時器控制寄存器的停止狀態(tài)位tss被清零,定時器啟動,并將定時器擴展周期tddr中的值加載到定時器預置計數(shù)器psc中,而且將定時器周期寄存器prd中的值重新加載到定時器寄存器tim中?! 《〞r器中斷的頻率由式(3)決定: 其中,tc表示clkout的周期,即tint=95khz。由式(3)可確定定時時間常數(shù)tddr=0,prd=333?! ms320c5420的中斷是通過中斷屏蔽寄存器imr來