针对流水线型坐标旋转数字计算机(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算法具有输出精度高、输出时延短等特点
其综合性能具有较大的提升.
Abstract
To solve the problems that pipelined coordinate rotation digital computer (CORDIC) algorithm has low output precision
long output time
and large hardware resource consumption
this paper proposes a bi-directional prediction scaling-free CORDIC algorithm. First
the algorithm decomposes the input angle in [0
π/4) into the smaller angle of 2-i according to the bit value i after binary encoding of the angle. Then it uses the set-up lookup table to perform two-way scaling-free factor rotation based on the initial angle. It is not necessary to judge the next rotation direction according to the intermediate iteration result
which avoids the uncertainty of the iteration direction
reduces the number of iteration units and iterations
and improves the calculation accuracy. Finally
the algorithm transforms [π/4
2π) to [0
π/4) through the angle interval folding technique
so that the calculation interval is extended to the entire circumference [0
2π)
which guarantees the calculation range. In addition
the algorithm can be achieved by only using shift and addition and subtraction operations
avoiding multiplication operations. Simulation and verification were carried out on MATLAB and Vivado. Results show that compared with the pipelined and unidirectional scaling-free CORDIC algorithms
when the output bit width was 14 bits
the output accuracy was increased by 47.5% and 18.8% respectively
the maximum output delay was reduced by 53.8% and 40.0% respectively
and the hardware resource consumption was improved to some extent. The algorithm has the characteristics of high output accuracy and short output delay
and its comprehensive performance has been greatly improved.