3.3.3 FPGA端設(shè)計
FPGA的設(shè)計比較復(fù)雜,也是數(shù)據(jù)處理部分的核心,這一部分主要完成基帶信號處理的關(guān)鍵工作,此外還負(fù)責(zé)射頻卡5791的配置、P2P傳輸、FPGA間同步設(shè)計。
(1)射頻卡5791配置
射頻卡的配置在FPGA中完成,主要完成將HOST傳遞過來的參數(shù)寫入射頻卡相應(yīng)寄存器里,尤其是關(guān)于速率的小數(shù)變換。
系統(tǒng)基帶數(shù)據(jù)帶寬為20MHz,而AD/DA端采樣速率為130MHz,為了完成速率的匹配,必須對基帶數(shù)據(jù)作相應(yīng)處理。對于發(fā)送端,通過插值處理將20MHz升至130MHz,實現(xiàn)方式為每隔130/20=6.5個時鐘周期從基帶數(shù)據(jù)FIFO中讀出數(shù)據(jù),并進(jìn)行擴展,形成130MHz的發(fā)送信號;類似的,接收端通過抽取方式實現(xiàn)130MHz降至20MHz,實現(xiàn)方式為每隔6.5個時鐘將接收到的數(shù)據(jù)寫入基帶處理FIFO中。
(2)P2P傳輸
P2P將兩塊FPGA的數(shù)據(jù)合并到一塊FPGA中,并在一塊FPGA中完成后續(xù)的MIMO基帶處理,因此在本系統(tǒng)中,P2P是實現(xiàn)MIMO的重要紐帶。
P2P的配置主要包含兩方面,在主機(HOST)端將一塊FPGA的寫入數(shù)據(jù)流和另一塊FPGA的讀取連接起來,在FPGA端,P2P數(shù)據(jù)讀取和寫入節(jié)點為數(shù)據(jù)交換提供FIFO的接口,這樣的接口類似于DMA和本地FPGA 的FIFO,如圖4所示。
(3)FPGA間同步設(shè)計
出于硬件平臺的局限性,兩根發(fā)射天線由兩塊FPGA分別連接,這樣的硬件架構(gòu)帶來的問題就是如何保證兩根天線發(fā)出數(shù)據(jù)的同步性。這是任何一個設(shè)備平臺都需要考慮的問題,各個廠家也提供了不同的方案,NI利用其獨特的模塊化設(shè)計,F(xiàn)PGA之間存在trigger總線連接,利用trigger觸發(fā)實現(xiàn)同步。
當(dāng)不同的設(shè)備之間共享triggers時,信號路徑的傳播延時會造成trigger到達(dá)設(shè)備的時間不同步。NI自帶的同步庫可以利用CPTR(同周期時間相關(guān))減緩trigger的評估速率。關(guān)鍵是所有的設(shè)備都必須構(gòu)建一個CPTR信號,這些CPTR信號之間同頻同相。
FPGA端的同步程序構(gòu)建和關(guān)聯(lián)CPTR信號,這些CPTR信號在不同的FPGA間是同時產(chǎn)生的。CPTR信號是周期性的,采樣周期可以控制CPTR的周期。
(4)基帶信號處理設(shè)計
在基于IEEE802.11ac協(xié)議的系統(tǒng)中,發(fā)送端包括前導(dǎo)碼生成、信道編碼、流解析、比特交織、星座映射、插入導(dǎo)頻、添加CP、引入CSD以及IFFT轉(zhuǎn)換等過程;接收端包括時間同步、FFT轉(zhuǎn)換、去除CP、信道估計、信號均衡、去除導(dǎo)頻、解映射、比特解交織、逆流解析、信道解碼等過程。一些主要模塊的具體細(xì)節(jié)如下:
BCC編碼
采用IP核實現(xiàn)802.11ac標(biāo)準(zhǔn)規(guī)定的BCC編碼器,其生成多項是g0=133(8)和g1=171(8),分別對應(yīng)于生成多項式S0(x) = x6 + x5 + x3 + x2 + 1和S1(x) = x6 + x3 + x2 + x1 + 1,可以使用移位寄存器來實現(xiàn)。卷積編碼后的兩路輸出相互合并再進(jìn)行后續(xù)傳輸。根據(jù)不同的規(guī)則進(jìn)行刪余打孔,BCC信道編碼器支持1/2、2/3、3/4、5/6四種編碼速率,以滿足更高的傳輸效率。
流解析與逆流解析
在經(jīng)過信道編碼后,流解析將編碼比特被重新排成一組新的、等于空間流數(shù)(NSS)的比特串。其輸出為NSS路并行比特序列,每個串的長度為NCBPSS (每空間流編碼比特)。
逆流解析時流解析的逆過程,主要完成兩個數(shù)據(jù)流合并成一個流的過程。
調(diào)制與解調(diào)
星座映射過程是把比特序列以一定的方式映射到星座圖中的一個復(fù)數(shù)星座點。IEEE802.11ac支持的映射(調(diào)制)方式包括BPSK、QPSK、16QAM、64QAM和256QAM,各調(diào)制方式下每個子載波的復(fù)數(shù)星座點分別承載1、2、4、8和16個比特的信息,也即調(diào)制階數(shù)NBPSCS。前導(dǎo)碼字段中的信令字段均采用BPSK調(diào)制。生成數(shù)據(jù)字段時,根據(jù)信令字段中的MCS信息,子載波選擇相應(yīng)的映射(調(diào)制)方式。在20MHz帶寬下,每個OFDM碼元是由52個有效的復(fù)數(shù)星座值組成;4MHz帶寬時這個有效值為108個。
解調(diào)是星座映射調(diào)制的逆過程,以恢復(fù)傳輸傳輸。
IFFT與FFT
實現(xiàn)發(fā)射端頻域數(shù)據(jù)到時域數(shù)據(jù)的轉(zhuǎn)換,同理,F(xiàn)FT則實現(xiàn)了接收端時域數(shù)據(jù)到頻域數(shù)據(jù)的轉(zhuǎn)換,以用于后續(xù)處理。
同步
在基于IEEE802.11ac協(xié)議的接收機中,同步過程主要包括時間同步,載波頻率同步和采樣時鐘同步。由于NI-PXI平臺具有優(yōu)良的集成工藝和精密性,收發(fā)機的本振頻率幾乎一致,采樣時鐘也幾乎保持完全相同,因此在原型機系統(tǒng)設(shè)計中可以暫時忽略系統(tǒng)的載波頻率偏差和采樣時鐘偏差帶來的影響。因此本文原型機的接收端采用基于前導(dǎo)碼訓(xùn)練序列的MIMO-OFDM系統(tǒng)時間同步方案。
時間同步的處理主要分為捕獲和跟蹤兩個階段,具體分為幀同步過程和符號同步過程。幀同步又稱作粗時間同步,用于檢測數(shù)據(jù)分組的到來,這是時間同步的捕獲階段;符號同步又稱作精時間同步,用于精確定位OFDM符號數(shù)據(jù)的起始位置,這是時間同步的跟蹤階段。
信道估計與均衡
信道估計是獲取信道信息的重要模塊,利用估計出的信道響應(yīng)可以對接收端數(shù)據(jù)進(jìn)行信道均衡操作從而恢復(fù)數(shù)據(jù)。IEEE802.11ac協(xié)議的信道估計采用定期發(fā)送訓(xùn)練序列的方法,即利用前導(dǎo)碼中VHT-LTF的若干字段在頻域內(nèi)進(jìn)行信道估計。信道均衡則是對接收信號進(jìn)行一定的補償操作,即對信號進(jìn)行恢復(fù)與提取,為后續(xù)的解調(diào)和信道解碼過程打下基礎(chǔ)。利用之前得到的估計信道進(jìn)行信道均衡過程,可以減輕或消除碼間干擾,使得系統(tǒng)能夠?qū)篃o線信道衰落,從而提高無線系統(tǒng)的數(shù)據(jù)傳輸速率和頻譜效率。本原型機采用基于LS算法的信道估計和基于ZF算法的信道均衡。
維特比譯碼
本系統(tǒng)中采用Xilinx的IP Core實現(xiàn)Viterbi譯碼,其輸入采用基于幀形式的傳輸方式,需要重點考慮的是咬尾問題。因此需要在每一幀的最后添加6個零,使譯碼器回到初始狀態(tài)。
3.3.4 PC端設(shè)計
PC端主要完成視頻流的編碼打包,并加上CRC校驗碼,同時根據(jù)不同調(diào)制方式改變發(fā)送數(shù)據(jù)包的大小。之所以選擇用兩臺PC分別處理視頻流的收發(fā),是因為考慮到LabVIEW對視頻流處理能力的薄弱,如果采用HOST端作視頻流的編解碼,這會耗用大量的CPU資源。因此NI儀器完全用來處理數(shù)據(jù)比特部分,而視頻流的一系列處理則用C#編寫的代碼進(jìn)行。
視頻數(shù)據(jù)發(fā)送用戶和接收用戶的用戶界面如圖5、圖6所示。發(fā)送用戶界面中可以顯示發(fā)送的視頻,當(dāng)前采取的調(diào)制方式MCS,包長的大小,每次請求包的數(shù)目(不同調(diào)制方式請求的包數(shù)不同),HOST中斷請求次數(shù)等參數(shù)。而接收用戶界面中可以顯示接收到的視頻,傳輸速率、接收到包的總數(shù),誤包率等參數(shù)。最主要的參數(shù)是Received Data Rate和Processed Data Rate。Processed Data Rate為傳輸?shù)挠行?shù)據(jù),也即實際視頻流傳輸數(shù)據(jù)速率。由于視頻流的包比較小,在其中添加了冗余信息來形成完整的包,Received Data Rate表示這種完整包的傳輸速率,也即物理層傳輸?shù)臄?shù)據(jù)速率。
圖5 PC端發(fā)送用戶界面
?
圖6 PC端接收用戶界面
4.基于NI-PXI的11ac原型機系統(tǒng)演示
關(guān)于原型系統(tǒng)的演示,分別從接收星座圖演示以及視頻流傳輸兩個角度進(jìn)行分析,以便更好地測試系統(tǒng)的性能。
評論