- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
用矢量旋转求解平方根的算法及其FPGA实现
录入:edatop.com 点击:
波形图中的被开方数范围在[0,1]之间,由于以16位二进制数表示,需要对其进行归一化。如图中输入数值65000,归一化后为0.9918,实验中输出开平方值65345,归一化后为0.9971,通过计算,0.9918的理论开平方值约为0.9959,实验值和理论值之间的误差约为0.1195%。
由于迭代计算中没有复杂的乘法运算,每次迭代都只需要一次加法运算和一次移位操作。因此本文提出的算法只需要一个时钟周期就可以计算出结果,在理论上没有时延。图3所示的仿真图中有时延是因为为了仿真时间考虑,将循环过程以牺牲时间来实现的,因此该算法具有处理速度快的特点。
试验分析
在输入数据为16位宽,的条件下进行仿真,得到实验数据。
图4是实验值与理论值的比较,由此可见,笔者提出的算法可以很好地逼近理论值,计算误差非常小。
在相同器件和相同精度的条件下,对不同的开平方算法的性能进行比较。在输入均为16位的被开方数时,对本算法、参考文献[8]采用的牛顿迭代算法和文献[9]采用的不恢复余数的开平方算法进行比较,结果见表1。
来源:电子产品世界
上一篇:节能智能型3G基站的设计
下一篇:无线接入网中关于WCDMA的全面介绍