基于DSP的OQPSK調(diào)制器設(shè)計與實現(xiàn)
3 OQPSK調(diào)制的軟件設(shè)計
主程序中首先對TLC32044芯片初始化(過程請查閱相應(yīng)的PDF資料),然后調(diào)用執(zhí)行OQPSK調(diào)制子程序。下面介紹本文設(shè)計的在DSP處理器上實現(xiàn)OQPSK調(diào)制的方法。
3.1 基于DSP的OQPSK調(diào)制算法
設(shè)信息流為…bkakbk-1ak-1,并假定已經(jīng)保存在DSP的數(shù)據(jù)存儲空間中(實際應(yīng)用中可以使用單片機通過HPI接口向DSP寫入要發(fā)送的信息流),其中bkakbk-1ak-1可以看成是一個字(16位)的最低4位。將輸入的信息流串并轉(zhuǎn)換成雙比特碼元,可以對信息碼字每次右移動2位實現(xiàn)。Q支路延遲和I支路的對應(yīng)關(guān)系可以采用測試ak、bk-1和bk這三位碼元來完成,若測試位為O,則對正弦或余弦值取負以完成單/雙極性變換的功能。因此,可以畫出基于DSP的OQPSK調(diào)制算法流程,如圖3所示。圖3中已經(jīng)假設(shè)I支路一個碼元包含2個周期的余弦波,一個周期的余弦波采樣32個點,變量Count用于控制信息流的長度,OQPSK_Buf緩沖區(qū)用于保存調(diào)制完成的采樣點數(shù)據(jù)。
3.2 正弦和余弦數(shù)據(jù)的獲取
上述算法中需要正弦或余弦各點的采樣值,幅度為1的正弦各點采樣值大多都是小數(shù),而16位定點DSP芯片的操作數(shù)是整數(shù),為此要設(shè)定小數(shù)點在16位二進制數(shù)中的位置,考慮到調(diào)制后波形的最大值是,因此對正弦或余弦的數(shù)值采用Q14表示法才能滿足調(diào)制后數(shù)據(jù)的范圍。顯然,在匯編程序中按“.word x”形式直接輸入正弦和余弦的各點采樣值(Q14)比較繁瑣,可以用下面的一段C語言程序生成正弦采樣點數(shù)據(jù)文件(程序中已將正弦載波的頻率歸一化),然后在TC2.0軟件的當前路徑下將生成的包含文件sindata.inc移動到由軟件cos2.O建立的工程文件夾內(nèi),用匯編偽指令.include將該文件包含進來即可省去繁瑣的數(shù)據(jù)輸入。用類似的程序也可生成需要的余弦數(shù)據(jù)文件。
評論