韋照川,盧洪榮,歐陽寧,孫希延
(桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
軟件無線電技術基于通用的可編程硬件平臺,把盡可能多的通信功能用軟件來實現,從而使系統的改進和升級都非常方便,容易實現不同通信系統之間的兼容。文獻[1-2]對軟件無線電的一些特點和具體應用做了介紹。本文以FPGA+DSP+ARM為核心,FPGA適用于并行處理,速度快,功耗低,但是不適合復雜算法。DSP可編程能力強,在數字信號處理方面具有較大優勢且程序設計相對于FPGA容易。基于對資源和運算速度等綜合考慮,采用FPGA完成數字變頻、位同步和符號同步,DSP完成載波同步、均衡和解調等處理。ARM實現人機界面和總體控制。圖1是軟件無線電臺的基帶信號處理板的系統框圖,由FPGA實現與A/D,D/A變換器的接口。

圖1 硬件系統框圖
ARM采用恩智浦公司基于ARM7TDMI-S的內核微處理器LPC2478;FPGA采用Altera公司的CycloneIII系列EP3C40Q240C8N;DSP采用TI公司的TMS320C6000系列TMS320C6713B浮點處理器。TMS320C6713B主頻最高達300 MHz,有8個并行處理單元,峰值指令速度(即浮點運算次數)為2.4×109,外接一個語音芯片AIC23B實現語音采集和回放的功能。ARM,FPGA,DSP相互之間通過EMIF接口連接,FPGA還連接DSP的GPIO6和GPIO7管腳,發送定時脈沖作為EDMA通道的同步事件,實現數據傳輸。
DSP基帶信號處理的流程如圖2所示,由3個中斷服務程序共同完成基帶信號處理。McBSP1的發送中斷(XINT1)服務程序完成音頻數據的采集和解調后數據的回放;EDMA通道6傳輸完成中斷服務程序發送端的基帶信號處理,包括調制和幀形成;EDMA通道7傳輸完成中斷服務程序接收端的基帶信號處理,包括頻偏估計、自適應均衡和解調。McBSP1發送中斷的優先級比另外2個EDMA傳輸完成中斷的優先級低。

圖2 DSP軟件流程圖
AIC23B采樣速率設置為8 kHz,碼元寬度為125 μs。不同的調制方式有不同的幀長度,BPSK調制方式幀長度為33.75 ms;QPSK調制方式幀長度為67.5 ms;16QAM調制方式幀長度為135 ms。幀數據的前14個是幀同步信號,用作信號到達檢測和頻偏估計。2個用作調制類型選擇,則I,Q兩路共有16種方式可選,用來通知接收端下一幀采用的調制類型;14個作為頻點和地址選擇,用來通知接收端下一幀的調制頻點,I,Q兩路共有28位;240個有效數據,但數據長度根據需要可擴展。圖3為BPSK調制方式幀結構。

發送端發送幀同步信號為(1,1,1,0,1,0,0,1,1,1,0,1,0,0),I,Q兩路相同。音頻數據的采集和回放在McBSP1發送中斷服務程序中完成。當XINT1到來時,AIC23B的A/D以8 kHz的采樣速率采集音頻數據。每次采集數據為32位,為了減輕接收端數據處理壓力,在發送端只發送左聲道的8位數據。將8位整形數據保存于一維數組,數組的大小由調制方式決定。BPSK調制時,數組大小為30;QPSK調制時,數組大小為60;16QAM調制時,數組大小為120。XINT1中斷一次,計數器加1,當計數器達到30,60或120時,計數器歸0,重新開始計數。與此同時,將接收端緩沖區解調好的數據通過McB?SP1的DXR寄存器傳輸到AIC23B的D/A轉換器進行聲音回放。
在EDMA通道6傳輸完成中斷服務程序實現調制和幀形成。將AIC23B采集的每幀信源數據先進行調制,然后按照圖3的幀結構保存在乒乓緩存數組中,再將所有發送數據進行滿量程映射。最后將數據通過EDMA通道6傳給FPGA,在FPGA中完成成型濾波、內插和上變頻,將信號傳送給D/A變換器。
接收端需要進行大量運算,比如頻偏估計、自適應均衡和解調,需要消耗比較多的運算資源,也采用EDMA通道傳輸數據。當外部中斷7同步事件觸發時,FPGA通過EDMA通道7將基帶數據傳輸給DSP,傳輸完一幀數據后產生一個CPU中斷,在中斷服務程序中完成基帶信號的頻偏估計、均衡和解調等處理。
因為頻偏估計與糾正在通信系統中起著關鍵作用,所以著重介紹頻偏估計原理與實現方法,文獻[3-5]介紹幾種頻偏糾正方法,本文中因為在FPGA中已經完成位同步,在DSP中要完成頻偏估計,相位同步這里不作介紹,可以由后端的均衡器實現。
本文采用發送導頻信息的數據輔助估算法并結合反正切算法來估算頻偏,并對頻偏進行糾正軟件無線電的各種通信信號采用正交調制的方法來完成,為了保證解調順利進行,在每一幀數據前插入導頻信息。導頻信息既可以用作信號到達檢測,也可以用作頻偏估計。在每一幀數據的幀頭插入間隔為Dist的導頻信息(Pn序列)

由于在傳輸過程中存在初始相位和固定頻偏,所以接收端接收到的信號為

式中:φ是載波相位,Δf為載波的頻偏,Ts為FPGA傳輸給DSP的基帶碼元速率。因此

式中:?表示復數取共軛。所以

式中:arg[·]表示取復數的輻角。由式(5)可知,要求解頻偏,關鍵是求解接收序列的互相關。假設復數序列為A={α1,α2,…,αN}和B={β1,β2,…,βN},則A和B的互相關(Corr)定義為

式中:αnr,αni,βnr和 βni分別為αn以及 βn的實部和虛部。一個復數的共軛乘法為

根據式(6)和式(7)可以求解出復數序列A和B的互相關。由偽隨機序列的特性可知

頻偏估計按照3.1節所示原理設計,由式(5)可知,頻偏估算范圍和Dist,Ts有關,在Ts確定的情況下,Dist與頻偏估算范圍成反比。實際仿真測試發現,Dist還與頻偏估計的精確度成正比,因此頻偏估算范圍和精確度是成反比的,那么可以采用2個步驟來解決這個問題。接收到第一幀數據時,將這一幀數據的前14個幀頭數據用作粗頻偏估計,得到的頻偏通過DSP發送給FPGA,讓FP?GA通過計算改變DDS的頻率控制字,使頻偏得到大致的糾正;在后續幀數據的頻偏估計中采用相鄰兩幀幀頭的前7個數據作為頻偏估計的數據,使頻偏得到精確估計,同時也將每次得到的頻偏送到FPGA的DDS,通過DDS的調整,消除剩余的頻偏。
以BPSK調制方式為例,接收到的碼元速率是72 kbit/s,在給定信噪比的情況下對頻偏進行估計,數據如表1所示。其中f1表示采用同一幀的14個幀頭作為頻偏估計的數據所得到的頻偏估計值,即Dist。Δf1為剩余頻偏。f2是對Δf1采用精細頻偏估計所得的估計值,即Dist=270。Δf2是最后的剩余頻偏。從表1中可以看出,采用同一幀的14個幀頭作為頻偏估計的估算數據,在頻偏較小時,估計相對誤差比較大,采用相鄰兩幀的前7個幀頭數據作為頻偏的估算數據,估計誤差比較小。

表1 頻偏估計值
最后整個系統包括DSP模塊、FPGA數字變頻模塊、A/D和D/A模塊進行閉環聯調,AIC23B通過線輸入采集音頻數據,調制后傳輸到FPGA完成上變頻,數字中頻為10 MHz;經過D/A,A/D變換然后進行下變頻到基帶,這里加入了適當頻偏,接著將基帶數據送到DSP解調并進行回放,通過耳機聽回放后的效果。在實驗室范圍內進行簡單的主觀評價測試,其語音質量平均MOS分可達優[6],證明系統設計正確。
[1] TUTTLEBEE W H W.Software-defined radio:facets of a developing technology[J].IEEETrans.PersonalCommunications,1999,6(2):38-44.
[2] 謝印慶.軟件無線電中GMSK與QPSK調制解調及其TMS320C6711 DSP實現的研究[D].太原:太原理工大學,2006.
[3] 鄭大春,項海格.一種全數字化載波頻偏估計器算法[J].電子學報,1999,27(1):78-80.
[4] 儲士平,張邦寧,郭道省,等.一種適合軟件無線電的載波相位和頻差估計算法[J].北京理工大學學報,2005,25(5):443-446.
[5] 方紹,謝顯中.基于DVB-T的OFDM頻偏估計算法及DSP實現[J].電視技術,2011,35(3):5-8.
[6]MOS語音質量評測指標的介紹[EB/OL].[2010-12-25].http://wenku.baidu.com/view/a4edc25f804d2b160b4ec0c3.html.