式中:是OFDM第i個數(shù)據(jù)幀的輸出數(shù)據(jù)矢量;為N點快速傅里葉逆變換矩陣;,n(i)為信道噪聲矢量,定義方差是σ2的高斯白噪聲(AWGN);H(i)是一個N×N的時域轉(zhuǎn)移矩陣,其元素為,其中h(i)(k,n)是描述信道特性的沖擊響應(yīng)。在接收端,對r(i)進(jìn)行N點快速傅里葉變換,其輸出為:
式中:
由于在高速移動的環(huán)境下,接收信號會受到ICI的影響,故在整個系統(tǒng)中添加均衡模塊,假設(shè)均衡器用E(i)來表示,則均衡后的信號可以表示為:
1.2 MMSE均衡器算法
把上面式中的i去掉,根據(jù)最小均方誤差的規(guī)則,可以簡寫得到均衡矩陣為:
在時變信道中,G不是對角矩陣,則矩陣求逆的直接算法的運算量為o(N3),利用文獻(xiàn)給出的結(jié)論:ICI主要來自相鄰的幾個子載波,并且每個子載波的符號能量主要泄漏至鄰近的少數(shù)子載波上,也就是說,G中的很大一部分元素是可以忽略的。然后再采用迭代的方法對矩陣求逆,把運算量降為o(N2),但是在實際應(yīng)用中,N是一個較大的數(shù)值,這個方法計算量仍然很大,所以很多算法在考慮均衡效果的同時也盡量減少運算量,以增強(qiáng)算法的可實現(xiàn)性和最終均衡的實時性。
根據(jù)Chen等驗證得到G可以被進(jìn)一步簡化成如下Ak來描述:
式中:pn是一個由構(gòu)成的1×(2Q+1)的矩陣,i=O,1,…,2Q。MMSE均衡器可以描述為;γ為該信道的信噪比,且。Ak是一個(2Q+1)×(4Q+1)的矩陣,再利用文獻(xiàn)中迭代的方法來計算矩陣的逆。對于一個OFDM模塊來說,該算法的總計算量是o((2Q+1)2N),由于Q<<N,所以整個計算的復(fù)雜度就降低了很多。
2 均衡器算法的FPGA實現(xiàn)
當(dāng)載波數(shù)比較大時,OFDM均衡算法所要計算的矩陣比較龐大,計算量大,很難保證實時性的要求。于是人們很自然地會想到用實時性很強(qiáng)的FPGA來實現(xiàn)均衡器的設(shè)計,但是均衡本身所需要處理的數(shù)據(jù)量和運算量都非常大,即使使用FPGA實現(xiàn)也很困難。
若采用文獻(xiàn)中的算法運算量是o(N2),假如當(dāng)載波數(shù)N=128時,運算量還是很大的,無法保證實時性。從均衡效果和運算量兩方面考慮,采用了文獻(xiàn)中的算法。這是一種典型的迭代算法,效果與文獻(xiàn)算法相接近,但是在計算中避免了求一個很大的矩陣的逆運算,而是從頻域轉(zhuǎn)移矩陣G中提取出了不大的有效矩陣,這樣就減少了大量運算。
2.1 硬件設(shè)計思想
在對均衡器算法進(jìn)行FPGA設(shè)計之前,先用Matlab仿真該均衡器浮點算法,通過分析程序可以發(fā)現(xiàn),該算法的核心部分是迭代求逆矩陣的過程。該算法的瓶頸主要是求解由復(fù)數(shù)元素組成的矩陣的逆的計算量巨大,而且是浮點數(shù)會占用很大的存儲空間。為盡量減少需要使用的邏輯資源,在進(jìn)行ISE設(shè)計時,數(shù)據(jù)用16位定點數(shù)表示,其中高8位是整數(shù)部分,低8位是小數(shù)部分。
2.1.1 硬件設(shè)計框圖
實現(xiàn)該均衡器的硬件設(shè)計框圖如圖2所示,其中G為從Matlab中產(chǎn)生的頻域轉(zhuǎn)移矩陣,控制模塊完成從G中取出對應(yīng)的有效值得到Ak,并且控制當(dāng)一組運算完成后運用上一組產(chǎn)生的。進(jìn)行下一組運算,CIR是該算法的核心,即矩陣迭代求逆的運算,CPE模塊是一個簡單的矩陣運算模塊完成的運算。
2.1.2 CIR模塊介紹
CIR模塊完成矩陣迭代運算過程,它從輸入端口讀入Ak以及對應(yīng)的,采用迭代的方法計算出,用FPGA實現(xiàn)這個模塊的端口如圖3所示。
其中,CLK為時鐘;γ是模擬信道的信噪比;Ak是頻域轉(zhuǎn)移矩陣G中取出的有效矩陣;trag是控制信號,當(dāng)一次運算結(jié)束產(chǎn)生一個有效的后,只有trag被置為高電平才會進(jìn)行下一次運算。取Q=2時,是一個5×5的矩陣。整個求逆矩陣的迭代過程就是從前一個5×5的逆矩陣(即)和從頻域轉(zhuǎn)移矩陣G中對應(yīng)區(qū)域取得的5×9的矩陣Ak運算出下一個5×5逆矩陣(即)的過程。
分析其矩陣求逆的迭代算法可以發(fā)現(xiàn),其中大部分完成的是復(fù)數(shù)矩陣的乘加運算,所有數(shù)據(jù)是復(fù)數(shù),雖然復(fù)雜很多,但是實際運算中有許多是多余的。Rk是共軛對稱矩陣,上三角部分和下三角部分的實部相同,虛部也只是正負(fù)相反,所以只需要算出上三角矩陣的數(shù)據(jù),下三角的部分直接對虛部取反就可以了。
Xilinx的FPGA芯片中集成了硬核的乘加器DSP48,可以方便、高速地進(jìn)行乘加運算。但是本算法中涉及到的復(fù)數(shù)運算比較靈活,還包括一些減法運算,直接使用DSP48不是很方便的控制。故設(shè)計了一種乘加器,使用了乘法器的IP Core,按照要求設(shè)置輸入輸出數(shù)據(jù)位數(shù),其中的一個乘加運算中設(shè)置乘法器的兩路輸入為8位,輸出為16位,調(diào)用IP Core如下所示,算法中其他的矩陣運算也都與此類似。
a,b作為兩個寄存器儲存參與運算的數(shù)據(jù),outl是乘法器計算的結(jié)果,用fcl進(jìn)行存放,相累加得到f1,再按照共軛復(fù)數(shù)運算的規(guī)律得到nfl。實現(xiàn)一個8位×8位的乘加器共消耗了56個Slice,32個LUT和49個IOB。該乘加器綜合后的RTL結(jié)構(gòu)圖如圖4所示。
為了能最大限度地提高運算速度,所有數(shù)據(jù)都用可編程邏輯單元構(gòu)成的分布式存儲器存儲并列存儲,并且根據(jù)算法的要求實現(xiàn)的是多個乘加器同時運算,這樣雖然使用了很多邏輯資源,但任何數(shù)據(jù)都可以即取即用,便于進(jìn)行大量的并行運算,以提高運算速度。
2.2 系統(tǒng)驗證仿真
本系統(tǒng)采用Xilinx公司Virtex-2實驗板進(jìn)行仿真驗證,該實驗板采用的是XC2VP30芯片,它有30 816個邏輯單元,136個18位乘法器,2 448 KbRAM,資源豐富。開發(fā)軟件為該公司的集成開發(fā)軟件平臺ISE 9.2,HDL語言采用Verilog,使用Matlab輔助ISE完成FPGA設(shè)計的方法。通過實驗板上的RS 232串口與PC機(jī)進(jìn)行通信,用Matlab從計算機(jī)中傳輸數(shù)據(jù)到FPGA芯片中,運算后再通過串口回傳均衡后的信號數(shù)據(jù)到Matlab中仿真驗證星座圖,以判斷該均衡器的效果。
2.2.1 均衡過程
CIR中使用迭代算法避免了并行大向量和大矩陣的運算,而是分步運算。所以對輸入信號進(jìn)行均衡,首先要進(jìn)行并串變換,但是不需要變成真正的串行信號。當(dāng)Q=2時,實際上對需要均衡的輸入信號Y(i)每次取出5個數(shù)據(jù),用yk表示,暫且將這樣的變換叫作分組并串變換(P/GS),然后均衡矩陣ek與yk分組完成乘法運算得到一個zk,zk是一個數(shù)據(jù)不是向量,最后進(jìn)行串并變換就得到均衡后的信號向量Z(i)。整個均衡的過程如圖5所示。
2.2.2 仿真結(jié)果
實現(xiàn)該算法的重要一步是所設(shè)計的乘加器可以正常使用,并且實時性好。對其進(jìn)行仿真如圖6所示,可以發(fā)現(xiàn)當(dāng)clk發(fā)生上升沿跳變時進(jìn)行計算,圖中信號(a,b)表示輸入的數(shù)據(jù)信號;fcl表示相乘的結(jié)果;c表示進(jìn)行乘加以后的運算結(jié)果,其計算準(zhǔn)確,基本上沒有延遲。
ISE中設(shè)計的傳輸模塊實現(xiàn)波特率為19 200 b/s的串口通信控制器,把數(shù)據(jù)通過RS 232完成FPGA與PC機(jī)的雙向通信。把均衡后的信號Z(i)傳回Matlab中,采用QPSK的星座圖進(jìn)行分析,選擇子載波的數(shù)目N=128,循環(huán)前綴CP的長度為8,并且在認(rèn)為信噪比被準(zhǔn)確估計的情況下均衡的結(jié)果,如圖7所示。
由此星座圖可以看出,在均衡前接收到的信號因為多普勒頻移和噪聲的影響,偏離星座點向周圍發(fā)散,使用FPGA中均衡以后傳回的數(shù)據(jù)基本沒有發(fā)散現(xiàn)象。
3 結(jié)語
在ISE軟件平臺上使用Verilog語言實現(xiàn)了一種基于時變OFDM系統(tǒng)的低復(fù)雜度MMSE均衡器算法。在Xilinx公司Virtex-2實驗板(XC2V930芯片)上對其進(jìn)行驗證,基本達(dá)到該算法在Matlab上仿真的均衡效果。但是由于浮點數(shù)計算量太大,選用定點數(shù)對其進(jìn)行截取,還是有一定的局限性,在進(jìn)行大量數(shù)據(jù)的運算中還是會有些數(shù)據(jù)不太準(zhǔn)確,造成整體的誤碼率效果不是太好,故還需要進(jìn)一步改進(jìn)算法和FPGA的實現(xiàn)方法,以期達(dá)到更好的均衡效果。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運國際物流有限公司(Nipp...
關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP