一款用DSP+FPGA實現(xiàn)的數字相關器
引 言
數字相關器作為軟件無線電的典型應用,在擴頻通信中成為必不可少的技術。在傳統(tǒng)的擴頻通信中,采用模擬器件(如:聲表面波器) 來實現(xiàn)解擴單元,而用數字相關器可以增加系統(tǒng)的靈活性和穩(wěn)定性,因此,對數字相關器的研究具有較大的意義。本文采用DSP+FPGA 的結構,一方面使設計更加靈活,同時也降低了生產的代價。從通用性上考慮,本文采用零中頻的采樣系統(tǒng)。提出接收端如何正確地把信道中的模擬信號通過正確的零中頻采樣及數字相關器后恢復成數字信號。本文給出了數字相關的算法及仿真結果,用DSP+FPGA 實現(xiàn)的算法流程圖,最后給出了系統(tǒng)的實測結果。
解擴算法簡介
發(fā)端的信號模型
對于數字信號,將其分別投影到I ,Q 兩路正交信號,其特征相同,因此這里僅對I 路信號進行分析,同理可得出Q 路信號。
I 路基帶信息經信道編碼后,速率為3.103 kb/s ,碼元間隔為323 μs , 然后進行PN 碼擴頻, PN 碼的長度為1 023 ,速率為3.174 Mcps ,因此,擴頻后I 路基帶碼片的速上升為3.174 Mcps ,擴頻增益為30 dB。信號可表示為:
其中an=±1 ,n ∈(0 ,∞) 為信息碼, ck 為擴頻碼, gTb (t) 為矩形脈沖, Tb = 310 ns (此處未考慮脈沖成型,通常應采用升余弦脈沖) 。
相關峰捕獲及同步判決算法分析及數學推導
在收端,先對收到的QPSK 信號進行解調,解調采用相干解調的方式,首先對模擬基帶波形采樣,對得到的數據流進行滑動相關,得到一個相關值。由于PN 碼的固有特性,當本地PN 碼與數據流中的相關碼對齊時(同步) ,便可得到很高的相關峰,而沒有對齊時(未同步) ,得到的相關值很小,這種特性一方面降低了系統(tǒng)誤判的可能性,另一方面也提高了系統(tǒng)的抗干擾性能。解調解擴的相應框圖如圖1 所示。
圖1 收端解擴解調模型
假設信道是高斯白噪聲信道,只存在時延,高斯白噪聲,沒有多徑擴展,則收到的信號r( t) 與發(fā)端的信號s( t)存在以下的關系:
此處,τ為信道傳播時延, n( t) 為信道噪聲。經過本地載波相乘后,可得r′I ( t) 表達式如下:
由于本地載波是接收到的信號經過鎖相環(huán)提取的,故信道時延帶來的載波時延也能被捕獲,故用cos ωc( t - τ)來表示本地載波。
r′I ( t) 經過一低通濾波器, 得到r I ( t) , 為討論方便,假設低通濾波器能濾除二倍頻分量,同時通帶內的相應為常數2 。
由此可見,在理想情況下,可將發(fā)端I 路的信號得到恢復,事實上已經完成了解調任務。接下來就是AD 采樣,在這里把AD 采樣的速率設定為切普碼率的4 倍,相當于在做相關時,有4 路信號可供計算,這樣做的好處是每次優(yōu)選最好的一路,提高接收性能。事實上,采樣率越高對于性能的提高越有好處,但是不能無限度地提高,因為后端的數字器件有一個處理能力的限制。由于4 路采樣信號在數字解擴模塊的處理是相互獨立的,所以這里只對一路采樣信號進行研究。由于只對一路信號進行研究,所以采樣率Ts 可等效為切普速率, 本系統(tǒng)中Ts =1/3.1M。
[!--empirenews.page--]
特點,互相關值很小。由上式可見,第二項是影響誤判的主要因素,此處對于誤碼率的討論不同于一般意義的QPSK+擴頻方式,因此將采用仿真的方式對誤碼率進行討論。
利用計算機仿真,可得到高斯噪聲下的誤碼率曲線如圖2 所示。從仿真結果看,當SNR ≥- 20 dB 時,滿足語音通信(BER ≤10-3 ) 的要求;當SNR ≥- 14 dB 時,滿足數據通信(BER ≤10-6 ) 的要求。
圖2 高斯信道的誤碼性能
算法在DSP+FPGA 系統(tǒng)中的實現(xiàn)
由于數字相關模塊主要由FPGA 和DSP 來完成,因此主要的算法將嵌入進這兩個芯片中。
DSP+FPGA 系統(tǒng)的最大優(yōu)點是結構靈活,有較強的通用性,適合于模塊化設計,從而能夠提高算法效率;同時其開發(fā)周期較短,系統(tǒng)容易維護和擴展,適合實時信號處理。
實時信號處理系統(tǒng)中,低層的信號預處理的數據量大,對處理速度的要求高,但運算結構相對比較簡單,適用于FPGA 執(zhí)行硬件實現(xiàn),這樣能同時兼顧速度和靈活性。高層處理算法的特點是所處理的數據量較低層算法少,但算法的控制結構復雜,適用于運算速度高、尋址方式靈活、選用通信機制強大的DSP 芯片來實現(xiàn)。
DSP+FPGA 系統(tǒng)的核心由DSP 芯片和可重構器件FPGA 組成。另外還包括一些外圍的輔助電路,如存儲器、先進先出( FIFO) 器件及FLASH ROM 等。FPGA 電路與DSP 相連,利用DSP 處理器強大的I/O 功能實現(xiàn)系統(tǒng)內部的通信。從DSP 角度看,F(xiàn)PGA 相當于他的宏功能協(xié)處理器。外圍電路輔助核心電路進行工作。DSP 和FPGA 各自帶有RAM ,用于存放處理過程所需要的數據及中間結果。FLASH ROM 中存儲了DSP 執(zhí)行程序和FPGA 的配置數據。先進先出( FIFO) 器件則用于實現(xiàn)信號處理中常用到的一些操作,如延遲線、順序存儲等。
在本系統(tǒng)的設計中,DSP 采用TI 公司的C5409A ,同時采用SPANSION 公司的AM29LV200BT 作為DSP 的外掛FLASH ,存放相應的程序; FPGA 采用的是Xilinx 公司的XCV600E ,同時采用Xilinx 公司的XC18V00 作為專用配置芯片,存放FPGA 程序;在FPGA 中將進行FIFO 的設計,DSP 通過對FIFO 的讀取來實現(xiàn)兩塊芯片間的通信。
總體的算法分為FPGA 和DSP 部分: FPGA 的算法主要包含的功能是,產生AD 采樣時鐘,接收AD 數據,滑動相關,F(xiàn)IFO 構成及DSP 中斷產生;DSP 含有:同步算法,判決算法。
以下是算法在各芯片中的嵌入分配示意圖,如圖3所示。
圖3 算法在各芯片中的嵌入示意圖
FPGA 和DSP 兩部分的算法必須協(xié)同運行,他們之間的關系是:FPGA 的算法由時鐘來驅動,每個時鐘到來時,他都要進行相應的數據接收,滑動相關,將相關值推入FIFO 的操作,當他將FIFO 置到一定程度時,則向DSP 發(fā)中斷信號;DSP 的程序在大部分時間處于一種循環(huán)等待的狀態(tài),而他一收到FPGA 的中斷,則進行響應,先將FIFO 里面的若干數據讀出,然后進行相應的中斷處理,由DSP 完成同步處理,相關判決并實現(xiàn)基帶通信。總的流程圖如圖4 所示。
系統(tǒng)的運行的實測性能
正常通信時,誤碼率穩(wěn)定在1*10-5 。高斯噪聲干擾(未解擴解調前加干擾) ,語音信號正常通信(誤碼率≤1×10-3 ) 的信干比:-17dB。在抗干擾方面,對于非瞄準式單頻干擾語音信號的正常通信(誤碼率≤1×10-3 ) 的信干比:-14~-2dB(隨頻點有差異) ;而對于瞄準式單頻干擾當達到- 12 dB 時,仍能繼續(xù)保持語音通信。
圖4 FPGA 及DSP 流程圖