高速移動下OFDM均衡器的FPGA實現(xiàn)
2.2.1 均衡過程
CIR中使用迭代算法避免了并行大向量和大矩陣的運算,而是分步運算。所以對輸入信號進行均衡,首先要進行并串變換,但是不需要變成真正的串行信號。當(dāng)Q=2時,實際上對需要均衡的輸入信號Y(i)每次取出5個數(shù)據(jù),用yk表示,暫且將這樣的變換叫作分組并串變換(P/GS),然后均衡矩陣ek與yk分組完成乘法運算得到一個zk,zk是一個數(shù)據(jù)不是向量,最后進行串并變換就得到均衡后的信號向量Z(i)。整個均衡的過程如圖5所示。本文引用地址:http://www.ex-cimer.com/article/191638.htm
2.2.2 仿真結(jié)果
實現(xiàn)該算法的重要一步是所設(shè)計的乘加器可以正常使用,并且實時性好。對其進行仿真如圖6所示,可以發(fā)現(xiàn)當(dāng)clk發(fā)生上升沿跳變時進行計算,圖中信號(a,b)表示輸入的數(shù)據(jù)信號;fcl表示相乘的結(jié)果;c表示進行乘加以后的運算結(jié)果,其計算準(zhǔn)確,基本上沒有延遲。
ISE中設(shè)計的傳輸模塊實現(xiàn)波特率為19 200 b/s的串口通信控制器,把數(shù)據(jù)通過RS 232完成FPGA與PC機的雙向通信。把均衡后的信號Z(i)傳回Matlab中,采用QPSK的星座圖進行分析,選擇子載波的數(shù)目N=128,循環(huán)前綴CP的長度為8,并且在認為信噪比被準(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芯片)上對其進行驗證,基本達到該算法在Matlab上仿真的均衡效果。但是由于浮點數(shù)計算量太大,選用定點數(shù)對其進行截取,還是有一定的局限性,在進行大量數(shù)據(jù)的運算中還是會有些數(shù)據(jù)不太準(zhǔn)確,造成整體的誤碼率效果不是太好,故還需要進一步改進算法和FPGA的實現(xiàn)方法,以期達到更好的均衡效果。
評論