高速移动下OFDM均衡器的FPGA实现
来源:电子工程世界 作者:—— 时间:2010-08-13 09:50
2.1 硬件设计思想
在对均衡器算法进行FPGA设计之前,先用Matlab仿真该均衡器浮点算法,通过分析程序可以发现,该算法的核心部分是迭代求逆矩阵的过程。该算法的瓶颈主要是求解由复数元素组成的矩阵的逆的计算量巨大,而且是浮点数会占用很大的存储空间。为尽量减少需要使用的逻辑资源,在进行ISE设计时,数据用16位定点数表示,其中高8位是整数部分,低8位是小数部分。
2.1.1 硬件设计框图
实现该均衡器的硬件设计框图如图2所示,其中G为从Matlab中产生的频域转移矩阵,控制模块完成从G中取出对应的有效值得到Ak,并且控制当一组运算完成后运用上一组产生的。进行下一组运算,CIR是该算法的核心,即矩阵迭代求逆的运算,CPE模块是一个简单的矩阵运算模块完成
的运算。
2.1.2 CIR模块介绍
CIR模块完成矩阵迭代运算过程,它从输入端口读入Ak以及对应的,采用迭代的方法计算出
,用FPGA实现这个模块的端口如图3所示。
其中,CLK为时钟;γ是模拟信道的信噪比;Ak是频域转移矩阵G中取出的有效矩阵;trag是控制信号,当一次运算结束产生一个有效的后,只有trag被置为高电平才会进行下一次运算。取Q=2时,
是一个5×5的矩阵。整个求逆矩阵的迭代过程就是从前一个5×5的逆矩阵(即
)和从频域转移矩阵G中对应区域取得的5×9的矩阵Ak运算出下一个5×5逆矩阵(即
)的过程。
分析其矩阵求逆的迭代算法可以发现,其中大部分完成的是复数矩阵的乘加运算,所有数据是复数,虽然复杂很多,但是实际运算中有许多是多余的。Rk是共轭对称矩阵,上三角部分和下三角部分的实部相同,虚部也只是正负相反,所以只需要算出上三角矩阵的数据,下三角的部分直接对虚部取反就可以了。