專利名稱:一種基于fpga的軟件接收機系統(tǒng)及實現(xiàn)方法
一種基于FPGA的軟件接收機系統(tǒng)及實現(xiàn)方法技術(shù)領(lǐng)域
本發(fā)明主要涉及FPGA開發(fā)軟件System Generator在軟件接收機實現(xiàn)中的應(yīng)用, 適用于實際軟件接收機具體的開發(fā)調(diào)試,具體為一種基于FPGA的軟件接收機系統(tǒng)及實現(xiàn) 方法。
背景技術(shù):
軟件接收機通過軟件實現(xiàn)其信號捕獲和跟蹤處理,改變了傳統(tǒng)接收機結(jié)構(gòu)射頻 前端、用于信號處理的專用集成電路(ASIC)和進行位置解算的CPU。用軟件替代了中間的 信號處理ASIC電路,與傳統(tǒng)的ASIC硬件接收機相比,軟件接收機具有開放性、全面可編程 性、和靈活性等特點,在不需要更改硬件的前提下,通過對軟件模塊的調(diào)整和升級就可以滿 足不同用戶的需要,極大地減少了系統(tǒng)升級所需成本。
FPGA可以通過編寫代碼來實現(xiàn)復(fù)雜邏輯電路,另一方面其內(nèi)部是由規(guī)則的邏輯陣 列所組成,這樣就可以開發(fā)出適應(yīng)的專用芯片。最近幾年里,F(xiàn)PGA已近成為數(shù)字信號處理 系統(tǒng)的核心器件,尤其在數(shù)字通信、網(wǎng)絡(luò)、視頻和圖像應(yīng)用領(lǐng)域。如今的FPGA不僅包含查表 法、寄存器、多路復(fù)用器、分布式塊存儲器,而且嵌入了專用的快速加法器、乘法器和輸入/ 輸出設(shè)備。更重要的一點是FPGA具有實現(xiàn)高速并行運算的能力,這就使得FPGA成為高性 能的數(shù)字信號處理方面的理想器件,如在數(shù)字濾波、快速傅立葉變換等方面,F(xiàn)PGA具有可重 新編程的優(yōu)點,比ASIC更實用。
System Generator是一款理想的FPGA開發(fā)軟件,傳統(tǒng)C語言等軟件開發(fā)工程師 對硬件描述語言VHDL或Verilog并不熟悉,而且在硬件描述語言最終要轉(zhuǎn)換成硬件實現(xiàn)的 過程中,這就要求工程師對硬件有一定的了解,System Generator軟件的應(yīng)用可以使上述 問題迎刃而解,為傳統(tǒng)C語言等軟件工程師提供了一個良好的開發(fā)平臺。發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是大大減少了在信號捕獲、跟蹤模塊中傳統(tǒng)FPGA開發(fā)難 度,加強了模塊參數(shù)測試的靈活性,降低了模塊升級或修改成本。最后用System Generator 構(gòu)造固定功能的PVT計算模塊,完全替代了傳統(tǒng)的DSP計算模塊。
本發(fā)明的技術(shù)解決方案為一種基于FPGA的軟件接收機系統(tǒng),由信號捕獲模塊、 信號跟蹤模塊、PVT解算模塊組成,其中信號捕獲模塊包括3個FFT模塊和一個復(fù)數(shù)共軛模 塊,信號跟蹤模塊包括PLL模塊和DLL模塊;第一 FFT模塊的輸入端接前端輸入信號,第二 FFT模塊的輸入端接本地碼輸入信號,第二 FFT模塊的輸出端串接復(fù)數(shù)共軛模塊后與第一 FFT模塊的輸出端分別接第三FFT模塊的輸入端,第三FFT模塊的輸出端分別串接PLL模塊 和DLL模塊后接PVT解算模塊的輸入端。
—種基于FPGA的軟件接收機系統(tǒng)的實現(xiàn)方法包括以下步驟(1)信號捕獲模塊,完成輸入信號的數(shù)據(jù)捕獲測試;(2)信號跟蹤模塊,完成對步驟(1)捕獲數(shù)據(jù)的跟蹤測試;3(3)PVT解算模塊,完成對步驟(2)跟蹤測試后的數(shù)據(jù)的解算測試;(4)利用時鐘信號完成信號捕獲模塊、信號跟蹤模塊、PVT解算模塊的融合。
所述步驟(1)中信號捕獲模塊采用了 System Generator中庫中的FFT模塊,設(shè) 置的采樣點數(shù)為102Γ16384,相對應(yīng)的時鐘頻率為采樣點數(shù)倒數(shù)的整數(shù)倍;復(fù)數(shù)模塊由 System Generator基本模塊搭建而成;本地碼生成主要采用了 LUT查表法方式。
所述步驟(2)信號跟蹤模塊中PLL鑒相器采用了 I路 與Q路乘積,在在-30^30°范圍內(nèi)呈線性化;DLL鑒相器主要采用了^(K2-Ly),E和L分別代表早碼的相關(guān)運算之后積分累加值和遲碼相關(guān)運算之后的積分累λ 加值;NCO模塊主要采用了 LUT查表法來完成,用NCO輸入作為偏移地址來進行查表得到對 應(yīng)的輸出;濾波器階數(shù)選擇為2 3。
所有步驟(1)至(3)中的數(shù)據(jù)測試都采用了 Simulink平臺中的FromWorkspace模 塊,將具體的數(shù)組模擬成具體信號來進行測試。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于(1)大大降低了 FPGA開發(fā)難度,傳統(tǒng)現(xiàn)有的技術(shù)基本基于底層語言HDL來實現(xiàn)開發(fā)的, 但是在信號處理上,難度非常大。System Generator的應(yīng)用大大減少了開發(fā)難度,特別在數(shù) 字濾波、快速傅立葉變換、NCO等方面。提高了系統(tǒng)開發(fā)效率。
(2)引進了 LUT (查表法)技術(shù),利用地址查詢存儲空間技術(shù)取代傳統(tǒng)的數(shù)學(xué)運算, 大大提高了系統(tǒng)速度,為系統(tǒng)實時性打下了良好基礎(chǔ)。
(3)系統(tǒng)開發(fā)接近具體的理論模型,System Generator開發(fā)搭建的程序模型都是 基于對應(yīng)的理論模型,而且?guī)缀跻粯樱@樣可以很直白地進行系統(tǒng)測試等。
(4)用System Generator構(gòu)建的PVT計算模塊取代了 DSP,實現(xiàn)了計算的并行操 作,提高了運算速度。而且同時可以進行數(shù)據(jù)存儲字節(jié)位數(shù)設(shè)置,大大提高了該計算模塊的 靈活性與空間利用率。
圖1為本發(fā)明系統(tǒng)結(jié)構(gòu)圖。
圖2為系統(tǒng)的捕獲模塊結(jié)構(gòu)示意圖。
圖3為系統(tǒng)PLL模塊結(jié)構(gòu)示意圖。
圖4為系統(tǒng)DLL模塊結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的核心思想是采用FPGA開發(fā)軟件System Generator,按照從簡單到復(fù)雜, 從底層到上層思路按照理論架構(gòu)進行系統(tǒng)編程,具體實施方法如下1首先熟悉開發(fā)軟件System Generator各個自帶模塊的參數(shù)與性能指標(biāo),如FFT模 塊,延遲模塊,輸入輸出模塊等。
2按照理論捕獲算法結(jié)構(gòu)用System Generator進行算法實現(xiàn),用具體的數(shù)據(jù)進行 測試,采用Simulink平臺中的FromWorkspace模塊用具體的數(shù)組來模擬實際信號,把模塊 比作C語言等軟件開發(fā)中的一個函數(shù)來進行數(shù)據(jù)測試。這樣可以對完成模塊的對比驗證。
3按照理論跟蹤算法結(jié)構(gòu)用System Generator進行算法實現(xiàn),分別完成PLL和DLL 的單獨編程,測試主要分為NCO測試,PLL鑒相器測試,DLL鑒相器測試,濾波器測試,測試的 方法也是利用Simulink平臺中的FromWorkspace模塊將平臺中的某一具體數(shù)組模擬成實 際信號來測試,類似于C語言中的函數(shù)測試。
4用System Generator進行構(gòu)造具體PVT計算CPU,根據(jù)具體的理論公式,來完成 系統(tǒng)的構(gòu)建,主要完成數(shù)學(xué)運算功能,可以擬作成簡單固定計算功能CPU來測試,也類似與 C語言中的函數(shù)測試。同樣采用Simulink平臺中的FromWorkspace模塊來模擬測試。
5最后主要對系統(tǒng)的3個獨立模塊進行融合處理,包括利用時鐘信號協(xié)調(diào)各個模 塊的一致性。最后用實際信號完成最后的測試與分析。
具體方案如下參見圖1,本發(fā)明一種基于FPGA的軟件接收機系統(tǒng),由信號捕獲模塊、信號跟蹤模塊、 PVT解算模塊組成,其中信號捕獲模塊包括3個FFT模塊和一個復(fù)數(shù)共軛模塊,信號跟蹤模 塊包括PLL模塊和DLL模塊;第一 FFT模塊的輸入端接前端輸入信號,第二 FFT模塊的輸入 端接本地碼輸入信號,第二 FFT模塊的輸出端串接復(fù)數(shù)共軛模塊后與第一 FFT模塊的輸出 端分別接第三FFT模塊的輸入端,第三FFT模塊的輸出端分別串接PLL模塊和DLL模塊后 接PVT解算模塊的輸入端。
本發(fā)明方法包括如下步驟(1)用System Generator構(gòu)建捕獲算法模塊參見圖2,輸入為前端輸出的數(shù)字中頻信號,本地信號源主要分為本地載波和本地偽隨 機碼,模塊主要由3個FFT模塊組成,其中2個完成FFT功能,最后一個完成IFFT功能,F(xiàn)FT 模塊是采用Xilinx Blockset中的DSP中的FFT模塊,具體采樣點數(shù)可以設(shè)置為8 65536, 根據(jù)具體精度需要(同時也取決于前端數(shù)據(jù)格式)來進行設(shè)置,最后用System Generator中 的加減乘基本模塊搭建復(fù)數(shù)乘法模塊,具體位數(shù)可以自由設(shè)置。
(2)用System Generator構(gòu)建捕獲跟蹤模塊,該方法的具體步驟為(a) PLL (Phase lock loop)設(shè)計,參見圖3,主要由PLL鑒相器,濾波器,NCO (數(shù)控振 蕩器)組成。其中PLL鑒相器沒有采用精確的Costas鑒相器,采用了 I路與Q路乘積,雖然 鑒相器只有在-30^30°線性化,但是可以在FPGA上容易實現(xiàn)。濾波器可以選擇2階或者3 階,結(jié)果產(chǎn)生對應(yīng)的相位誤差。作為NCO模塊的輸入。NCO模塊主要采用了 LUT (查表法) 來完成。用NCO輸入作為偏移地址來進行查表得到對應(yīng)的輸出。
(b)DLL (Delay lock loop)設(shè)計,參見圖4,該環(huán)路分為3路,主要由DLL鑒相器,濾波器,NCO (數(shù)控振蕩器)組成,其中DLL鑒相器主要采用了,E和L分別代表早2碼的相關(guān)運算之后積分累加值和遲碼相關(guān)運算之后的積分累加值,這樣有利于FPGA實現(xiàn), 濾波器與NCO構(gòu)造與PLL環(huán)路設(shè)計中類似。其中該環(huán)節(jié)中3路C/A生成也是通過LUT (查 表法)實現(xiàn)的。
(3)用System Generator構(gòu)建PVT計算模塊,現(xiàn)多數(shù)采用DSP來進行PVT計算, 在本發(fā)明中,采用了 System Generator自制CPU來完成最后的PVT計算,相應(yīng)的時鐘頻率 可以在允許范圍內(nèi)調(diào)節(jié),利用FPGA自帶的現(xiàn)成乘法器和豐富的存儲空間,其中有些乘法環(huán) 節(jié)采用了并行處理,這樣大大減少了運算時間。同時,在計算的整個過程中,數(shù)據(jù)的字節(jié)位數(shù)都可以進行調(diào)整,大大節(jié)省了空間。
本發(fā)明原理是通過開發(fā)軟件System Generator自帶的基本模塊,來組成信號 捕獲模塊、跟蹤模塊和PVT計算模塊,將軟件接收機工程化,通過各個模塊的單獨組建、測 試來完成整個系統(tǒng)實際構(gòu)建。同時通過系統(tǒng)的時鐘資源來進行各個模塊之間協(xié)調(diào)工作。 System Generator自帶的基本模塊可以更新,也可以用底層語言自己生成,這為整個接收 機系統(tǒng)升級優(yōu)化提供了方便。
權(quán)利要求
1.一種基于FPGA的軟件接收機系統(tǒng),其特征在于由信號捕獲模塊、信號跟蹤模塊、 PVT解算模塊組成,其中信號捕獲模塊包括3個FFT模塊和一個復(fù)數(shù)共軛模塊,信號跟蹤模 塊包括PLL模塊和DLL模塊;第一 FFT模塊的輸入端接前端輸入信號,第二 FFT模塊的輸入 端接本地碼輸入信號,第二 FFT模塊的輸出端串接復(fù)數(shù)共軛模塊后與第一 FFT模塊的輸出 端分別接第三FFT模塊的輸入端,第三FFT模塊的輸出端分別串接PLL模塊和DLL模塊后 接PVT解算模塊的輸入端。
2.一種基于FPGA的軟件接收機系統(tǒng)的實現(xiàn)方法,其特征在于包括以下步驟(1)信號捕獲模塊,完成輸入信號的數(shù)據(jù)捕獲測試;(2)信號跟蹤模塊,完成對步驟(1)捕獲數(shù)據(jù)的跟蹤測試;(3)PVT解算模塊,完成對步驟(2)跟蹤測試后的數(shù)據(jù)的解算測試;(4)利用時鐘信號完成信號捕獲模塊、信號跟蹤模塊、PVT解算模塊的融合。
3.根據(jù)權(quán)利要求2所述的一種基于FPGA的軟件接收機系統(tǒng)的實現(xiàn)方法,其特征在 于所述步驟(1)中信號捕獲模塊采用了 System Generator中庫中的FFT模塊,設(shè)置的采 樣點數(shù)為102Γ16384,相對應(yīng)的時鐘頻率為采樣點數(shù)倒數(shù)的整數(shù)倍;復(fù)數(shù)模塊由System Generator基本模塊搭建而成;本地碼生成主要采用了 LUT查表法方式。
4.根據(jù)權(quán)利要求2所述的一種基于FPGA的軟件接收機系統(tǒng)的實現(xiàn)方法,其特征在于所 述步驟(2)信號跟蹤模塊中PLL鑒相器采用了 I路與Q路乘積,在-30^30°范圍內(nèi)呈線性化;DLL鑒相器主要采用了
5.根據(jù)權(quán)利要求2所述的一種基于FPGA的軟件接收機系統(tǒng)的實現(xiàn)方法,其特征在于所 有步驟(1)至(3)中的數(shù)據(jù)測試都采用了 Simulink平臺中的FromWorkspace模塊,將具體 的數(shù)組模擬成具體信號來進行測試。
全文摘要
本發(fā)明公布了一種基于FPGA的軟件接收機系統(tǒng)及實現(xiàn)方法,所述系統(tǒng)由信號捕獲模塊、信號跟蹤模塊、PVT解算模塊組成,其中信號捕獲模塊包括3個FFT模塊和一個復(fù)數(shù)共軛模塊,信號跟蹤模塊包括PLL模塊和DLL模塊。所述方法采用信號捕獲模塊完成輸入信號的數(shù)據(jù)捕獲測試;采用信號跟蹤模塊完成捕獲數(shù)據(jù)的跟蹤測試;采用PVT解算模塊完成跟蹤測試后的數(shù)據(jù)的解算測試;采用利用時鐘信號完成信號捕獲模塊、信號跟蹤模塊、PVT解算模塊的融合。本發(fā)明提高了系統(tǒng)的可靠性,可以在允許范圍內(nèi)改變CPU的時鐘頻率以及數(shù)據(jù)處理的字節(jié)位數(shù),大大提高了系統(tǒng)的靈活性。
文檔編號H04B1/16GK102045078SQ20101056799
公開日2011年5月4日 申請日期2010年12月1日 優(yōu)先權(quán)日2010年12月1日
發(fā)明者方琳, 湯新華, 王熙贏, 祝雪芬, 陳熙源, 黃濤 申請人:東南大學(xué)