论文部分内容阅读
DOI:10.16660/j.cnki.1674-098X.2017.14.034
摘 要:CORDIC算法广泛用于三角、反三角函数计算。对该算法的研究主要集中于减少硬件资源消耗、提升处理效率,但对其计算误差的深入分析较少。指出了CORDIC算法在矢量模式和旋转模式下的误差来源,并据此对CORDIC算法计算正弦、余弦和反正切函数的不确定度进行了定量分析。数值仿真表明理论推导与实际计算结果相吻合。
关键词:CORDIC 誤差分析 不确定度
中图分类号:TM38;TP301.6 文献标识码:A 文章编号:1674-098X(2017)05(b)-0034-02
CORDIC算法全称为“坐标旋转数字计算机(coordinates rotation digital computer)”,该算法最初旨在仅依靠移位和加减操作计算二维坐标的旋转变换,稍加改进后可用于实现多种超越函数,尤其多用于计算三角与反三角函数[1-3]。
目前对CORDIC算法的研究集中在降低硬件消耗、提高计算速度上[4-5],而对该算法的计算误差则关注甚少。早期文献中关于CORDIC算法的误差分析也往往限于讨论误差的上限[6-7],且对误差来源的分析尚不够深入。
该文对CORDIC算法的两种常用模式——矢量模式和旋转模式下的误差来源进行了讨论,采用不确定度评定的方法估计计算误差,并通过数值仿真验证了推导结果的正确性。
2 仿真验证
假定角度分辨率弧度,迭代16次。对于矢量模式,随机产生10 000个幅角在区间内的矢量,并使矢量模长从逐步增大到224,用矢量模式计算反正切并统计其均方误差(RMSE),并与式(8)给出的不确定度理论值进行对比,结果见图1。
对于旋转模式,随机产生10000个区间内的角度,用旋转模式计算它们的正弦和余弦,且矢量模长亦从逐步增大到224,统计均方误差并与不确定度理论值对比,结果见图2。
由图1与图2可见,无论矢量模式或旋转模式,按式(8)得到的不确定度理论值均与实际的均方误差相吻合。
3 结语
该文对CORDIC算法计算反正切、正弦和余弦函数的误差进行了分析并给出了不确定度表达式。数值仿真结果表明,该文给出的CORDIC算法不确定度表达式能准确地估计实际计算误差的大小,可为CORDIC算法在实际应用中的精度评估提供参考。
参考文献
[1] 冯英翘,万秋华,宋超,等.基于坐标旋转数字计算算法的小型光电编码器细分[J].光学学报,2014,34(2):34-39.
[2] 薛凌云,孙世荣.基于CORDIC算法的磁编码器角度误差修正仿真研究[J].杭州电子科技大学学报:自然科学版,2016,36(1):75-79.
[3] 叶树亮,张潜,朱维斌.光栅莫尔信号正交误差实时补偿研究[J].仪器仪表学报,2017,38(1):57-64.
[4] 刘小宁,谢宜壮,陈禾,等.CORDIC算法的优化及实现[J].北京理工大学学报,2015,35(11):1164-1170.
[5] 张朝柱,韩吉南,燕慧智.高速高精度固定角度旋转CORDIC算法的设计与实现[J].电子学报,2016,44(2):485-490.
[6] Antelo E,Bruguera J D,Lang T,et al. Error analysis and reduction for angle calculation using the CORDIC algorithm[J].IEEE Transactions on Computers,1997,46(11):1264-1271.
[7] Sang Yoon Park, Nam Ik Cho.Fixed-point error analysis of CORDIC processor based on the variance propagation[J].IEEE Transactions on Circuits and Systems-I,2004,51(3):573-584.
摘 要:CORDIC算法广泛用于三角、反三角函数计算。对该算法的研究主要集中于减少硬件资源消耗、提升处理效率,但对其计算误差的深入分析较少。指出了CORDIC算法在矢量模式和旋转模式下的误差来源,并据此对CORDIC算法计算正弦、余弦和反正切函数的不确定度进行了定量分析。数值仿真表明理论推导与实际计算结果相吻合。
关键词:CORDIC 誤差分析 不确定度
中图分类号:TM38;TP301.6 文献标识码:A 文章编号:1674-098X(2017)05(b)-0034-02
CORDIC算法全称为“坐标旋转数字计算机(coordinates rotation digital computer)”,该算法最初旨在仅依靠移位和加减操作计算二维坐标的旋转变换,稍加改进后可用于实现多种超越函数,尤其多用于计算三角与反三角函数[1-3]。
目前对CORDIC算法的研究集中在降低硬件消耗、提高计算速度上[4-5],而对该算法的计算误差则关注甚少。早期文献中关于CORDIC算法的误差分析也往往限于讨论误差的上限[6-7],且对误差来源的分析尚不够深入。
该文对CORDIC算法的两种常用模式——矢量模式和旋转模式下的误差来源进行了讨论,采用不确定度评定的方法估计计算误差,并通过数值仿真验证了推导结果的正确性。
2 仿真验证
假定角度分辨率弧度,迭代16次。对于矢量模式,随机产生10 000个幅角在区间内的矢量,并使矢量模长从逐步增大到224,用矢量模式计算反正切并统计其均方误差(RMSE),并与式(8)给出的不确定度理论值进行对比,结果见图1。
对于旋转模式,随机产生10000个区间内的角度,用旋转模式计算它们的正弦和余弦,且矢量模长亦从逐步增大到224,统计均方误差并与不确定度理论值对比,结果见图2。
由图1与图2可见,无论矢量模式或旋转模式,按式(8)得到的不确定度理论值均与实际的均方误差相吻合。
3 结语
该文对CORDIC算法计算反正切、正弦和余弦函数的误差进行了分析并给出了不确定度表达式。数值仿真结果表明,该文给出的CORDIC算法不确定度表达式能准确地估计实际计算误差的大小,可为CORDIC算法在实际应用中的精度评估提供参考。
参考文献
[1] 冯英翘,万秋华,宋超,等.基于坐标旋转数字计算算法的小型光电编码器细分[J].光学学报,2014,34(2):34-39.
[2] 薛凌云,孙世荣.基于CORDIC算法的磁编码器角度误差修正仿真研究[J].杭州电子科技大学学报:自然科学版,2016,36(1):75-79.
[3] 叶树亮,张潜,朱维斌.光栅莫尔信号正交误差实时补偿研究[J].仪器仪表学报,2017,38(1):57-64.
[4] 刘小宁,谢宜壮,陈禾,等.CORDIC算法的优化及实现[J].北京理工大学学报,2015,35(11):1164-1170.
[5] 张朝柱,韩吉南,燕慧智.高速高精度固定角度旋转CORDIC算法的设计与实现[J].电子学报,2016,44(2):485-490.
[6] Antelo E,Bruguera J D,Lang T,et al. Error analysis and reduction for angle calculation using the CORDIC algorithm[J].IEEE Transactions on Computers,1997,46(11):1264-1271.
[7] Sang Yoon Park, Nam Ik Cho.Fixed-point error analysis of CORDIC processor based on the variance propagation[J].IEEE Transactions on Circuits and Systems-I,2004,51(3):573-584.