高速移動下OFDM均衡器的FPGA實現
2.2.1 均衡過程
本文引用地址:http://www.104case.com/article/269685.htmCIR中使用迭代算法避免了并行大向量和大矩陣的運算,而是分步運算。所以對輸入信號進行均衡,首先要進行并串變換,但是不需要變成真正的串行信號。當Q=2時,實際上對需要均衡的輸入信號Y(i)每次取出5個數據,用yk表示,暫且將這樣的變換叫作分組并串變換(P/GS),然后均衡矩陣ek與yk分組完成乘法運算得到一個zk,zk是一個數據不是向量,最后進行串并變換就得到均衡后的信號向量Z(i)。整個均衡的過程如圖5所示。

2.2.2 仿真結果
實現該算法的重要一步是所設計的乘加器可以正常使用,并且實時性好。對其進行仿真如圖6所示,可以發現當clk發生上升沿跳變時進行計算,圖中信號(a,b)表示輸入的數據信號;fcl表示相乘的結果;c表示進行乘加以后的運算結果,其計算準確,基本上沒有延遲。

ISE中設計的傳輸模塊實現波特率為19 200 b/s的串口通信控制器,把數據通過RS 232完成FPGA與PC機的雙向通信。把均衡后的信號Z(i)傳回Matlab中,采用QPSK的星座圖進行分析,選擇子載波的數目N=128,循環前綴CP的長度為8,并且在認為信噪比被準確估計的情況下均衡的結果,如圖7所示。

由此星座圖可以看出,在均衡前接收到的信號因為多普勒頻移和噪聲的影響,偏離星座點向周圍發散,使用FPGA中均衡以后傳回的數據基本沒有發散現象。
3 結語
在ISE軟件平臺上使用Verilog語言實現了一種基于時變OFDM系統的低復雜度MMSE均衡器算法。在Xilinx公司Virtex-2實驗板(XC2V930芯片)上對其進行驗證,基本達到該算法在Matlab上仿真的均衡效果。但是由于浮點數計算量太大,選用定點數對其進行截取,還是有一定的局限性,在進行大量數據的運算中還是會有些數據不太準確,造成整體的誤碼率效果不是太好,故還需要進一步改進算法和FPGA的實現方法,以期達到更好的均衡效果。
fpga相關文章:fpga是什么
矢量控制相關文章:矢量控制原理
評論