针对流水线型坐标旋转数字计算机(coordinate rotation digital computer,CORDIC)算法的输出精度低、输出时延长、硬件资源消耗大的问题,提出一种双向预判免缩放因子CORDIC算法.该算法首先将[0,π/4)内的输入角度通过角度二进制编码后...针对流水线型坐标旋转数字计算机(coordinate rotation digital computer,CORDIC)算法的输出精度低、输出时延长、硬件资源消耗大的问题,提出一种双向预判免缩放因子CORDIC算法.该算法首先将[0,π/4)内的输入角度通过角度二进制编码后按位值i分解为2-i的较小角度,然后使用设立的查找表在初始角度的基础上进行双向免缩放因子旋转,无需根据中间迭代结果判断下次的旋转方向,避免了迭代方向的不确定性,减少了迭代单元级数和迭代次数,同时提高了运算精度;最后将[π/4,2π)内的输入角度通过角度区间折叠技术变换到[0,π/4),使计算区间扩展到整个圆周[0,2π),保证了运算范围,且只需要使用移位和加减运算即可实现,避免了进行乘法运算.在MATLAB和Vivado软件平台上进行算法仿真与验证,结果表明:在输出位宽均为14位时,与流水线型和单向免缩放因子型CORDIC算法相比,输出精度分别提高了47.5%、18.8%,最大输出时延分别降低了53.8%、40.0%,硬件资源消耗也有一定的改善.本文提出的CORDIC算法具有输出精度高、输出时延短等特点,其综合性能具有较大的提升.展开更多
文摘针对流水线型坐标旋转数字计算机(coordinate rotation digital computer,CORDIC)算法的输出精度低、输出时延长、硬件资源消耗大的问题,提出一种双向预判免缩放因子CORDIC算法.该算法首先将[0,π/4)内的输入角度通过角度二进制编码后按位值i分解为2-i的较小角度,然后使用设立的查找表在初始角度的基础上进行双向免缩放因子旋转,无需根据中间迭代结果判断下次的旋转方向,避免了迭代方向的不确定性,减少了迭代单元级数和迭代次数,同时提高了运算精度;最后将[π/4,2π)内的输入角度通过角度区间折叠技术变换到[0,π/4),使计算区间扩展到整个圆周[0,2π),保证了运算范围,且只需要使用移位和加减运算即可实现,避免了进行乘法运算.在MATLAB和Vivado软件平台上进行算法仿真与验证,结果表明:在输出位宽均为14位时,与流水线型和单向免缩放因子型CORDIC算法相比,输出精度分别提高了47.5%、18.8%,最大输出时延分别降低了53.8%、40.0%,硬件资源消耗也有一定的改善.本文提出的CORDIC算法具有输出精度高、输出时延短等特点,其综合性能具有较大的提升.