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