陳薇
[摘要]進行高精度的數(shù)字基帶信號相位控制方法的研究在實際應用中有著重要的意義。本文介紹了兩種不同的相位控制方法,分別是基于存儲的相位控制方法和基于正交運算的相位控制方法。本文在建模與仿真的基礎上對兩種不同相位控制方法的優(yōu)缺點進行了分析,并針對其算法性能和資源消耗進行了比較。本文在以FPGA為核心的軟件無線電開發(fā)平臺上對基于正交運算的相位控制方法進行了實現(xiàn)。
[關鍵詞]數(shù)字基帶 相位控制 FPGA
一、引言
隨著軟件無線電(Software Defined Radio,SDR)技術的不斷發(fā)展,很多以往在射頻或中頻范圍內(nèi)需要通過硬件模塊來實現(xiàn)的功能逐漸被基帶的數(shù)字信號處理技術所取代。這不僅可以有效地減小系統(tǒng)的復雜度,還可以極大地提高系統(tǒng)精度和可靠性。相位控制技術被廣泛地運用于信號合成、無線信道模擬、多輸入多輸出(Muhiple-input Multiple-output,MIMO)通信等領域。對高精度的數(shù)字基帶信號相位控制方法的研究在實際應用中有著重要的意義。在硬件設備的開發(fā)過程中,幾乎所有算法性能的提高都是以硬件資源的消耗為代價。因此,最大的困難就是在算法性能和資源消耗之間尋求平衡。對于數(shù)字信號的相位控制來說,一方面要盡可能地提高相位控制的精度和靈活性,另一方面則要努力將硬件資源的消耗控制在合理的范圍之內(nèi)。
二、相位控制方法的建模與仿真
2.1基于存儲的相位控制
最簡單的改變數(shù)字信號相位的方法是對信號進行存儲后輸出。基于存儲的相位控制系統(tǒng)框圖如圖1所示。存儲的作用是增加信號輸出的時延,由于時延和相位的相關性,改變了信號的時延既改變了信號的相位。在這種方案中,只要改變存儲深度就能夠控制相位變化的范圍。
這種方法雖然簡單,但是在實際運用中存在兩個問題。首先,由于時延只能為正,不能為負,所以相位只能單方向改變。其次,相位變化的最小值由系統(tǒng)采樣率決定。設基帶信號頻率f0為3MHz,系統(tǒng)采樣頻率fs2為125MHz,則相位變化的最小值θ△可以表示為:(1)
由此可見,在信號頻率f0固定的情況下,通過提高采樣頻率fs可以減小相位變化的最小值θ△,提高相位變化精度。但提高采樣頻率fs會大大增加系統(tǒng)的運算量,消耗大量硬件資源。事實上,在實際運用中,由于硬件資源的限制,很難將相位變化的最小值降到5°以下。因此,基于存儲的相位控制方法無法被運用于對精度要求較高的環(huán)境。
2.2基于正交運算的相位控制
在基帶處理過程中,一般先對單路數(shù)字信號進行數(shù)字下變頻(DigitalDownConversion,DDC),轉(zhuǎn)變?yōu)镮、Q兩路信號。如果把I、Q兩路信號分別看作復信號的實部和虛部,那么改變信號的相位只需要乘上一個幅度為1、相位可變的單位相變因子。
設輸入信號為SIF,則SIF可以表示為:(2)
由此可知相位變化值為θ△。
因為θ△可正可負,所以該算法可以實現(xiàn)相位的雙向變化。且θ△的取值越小,相位變化的最小值也就越小,精度越高。由于θ△的取值幾乎不受硬件條件限制,所以其精度可以輕松地達到1。以內(nèi)。
使用Matlab軟件對以上算法進行建模仿真。基帶信號頻率f0為3MHz,系統(tǒng)采樣頻率fs為125MHz。仿真結果如-圖2所示,圖a設置相位變化值θ△分別為-90°、0°、90°,可以看到仿真結果與設置一致。圖b設定相位變化值θ△分別為-1°、0°、1°,并將局部放大,可以看到信號之間微小的相位變化,其結果與設置一致。
三、相位控制方案的設計與實現(xiàn)
本文采用SFF SDR小型軟件無線電開發(fā)平臺對基于正交運算的相位控制算法進行硬件實現(xiàn)。該開發(fā)平臺由恒潤科技有限公司代理進口。其數(shù)字基帶處理模塊的核心是一塊Xilinx公司的Virtex4系列FPGA芯片。數(shù)據(jù)轉(zhuǎn)換模塊采用TI公司的ADS5500型號AD芯片和DAC5687型號DA芯片。中頻輸入信號頻率30MHz,基帶采樣頻率125MHz。
3.1基于FPGA的相位控制方案設計
考慮到相位值的有限性,可以將一個周期(通常是-180°-180°)的正弦值和余弦值預先存儲在片上ROM中,其占用的存儲空間并不大。假設以1。為步進,則只需要360*2個存儲單元。通過改變相位控制字,可以選擇不同的正弦值和余弦值輸出。將正弦值和余弦值與數(shù)字下變頻之后的I、Q兩路信號進行復乘實現(xiàn)相變因子與信號的調(diào)制。最后通過數(shù)字上變頻合成一路輸出即可完成基于正交運算的相位控制。方案實現(xiàn)框圖如圖3所示。
本文開發(fā)工具使用Xilinx公司的ISE10.1軟件。復乘運算是本方案的核心,可以使用ISE自帶的Mult ComplexIPcore方便地實現(xiàn)。相比于代碼編寫,IPcore有著集成度高、設置簡單等優(yōu)點,熟練掌握各種IPcore已經(jīng)成為硬件開發(fā)的有效手段。
3.2基于FPGA的相位控制方案實現(xiàn)
本方案采樣頻率fs為125MHz,AD輸入信號頻移fθIT為30MHz,數(shù)字下變頻之后的基帶信號頻率f0為3MHz。方案設計完成之后,ISE軟件能夠自動生成RTL圖(寄存器傳輸級框圖),以方便查看。本方案的RTL圖如圖4所示。
本文使用ModelSim6.5SE軟件對方案進行行為級仿真,設定相位偏移值θ△為45°,仿真時序圖如圖5所示。圖中上方波形為相位偏移之前的信號,下方波形為相位偏移之后的信號,兩者相位差為45°,與設定一致。
把生成的方案下載至開發(fā)平臺,使用chipscope軟件(在線邏輯分析儀)對方案運行結果進行驗證。chipscope能夠抓取FPGA芯片內(nèi)部的數(shù)字信號,被廣泛用于程序調(diào)試。圖6為相位控制模塊的基帶實時波形圖,圖中兩個信號的相位差分別30°、90°和135°?;鶐?shù)字信號通過數(shù)模轉(zhuǎn)換和上變頻之后從開發(fā)平臺射頻輸出口輸出。將輸入和輸出信號同時接入示波器,可以對信號波形進行對比觀察,如圖7所示。圖(a)設定相位偏移值θ△為90°,圖(b)設定相位偏移值θ△為180°,顯示結果與設定一致。
四、結束語
基于存儲的相位控制方法有著結構簡單、易于實現(xiàn)的優(yōu)點,但其提高精度所帶來的硬件資源消耗很大。基于正交運算的相位控制方法則能夠以很小的硬件資源消耗達到很高的精度。以實現(xiàn)相同的相位控制精度為例,基于存儲的相位控制方法要比基于正交運算的相位控制方法多消耗將近50%的存儲資源和80%的運算資源。