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