CORDIC算法详解(五)- 统一的 CORDIC 算法形式


文章目录

  • CORDIC算法详解(五)- 统一的 CORDIC 算法形式
  • 5 统一的 CORDIC 算法形式
  • 相关参考资料及源码



  网上有很多类似的介绍,但是本文会结合实例进行介绍,尽量以最简单的语言进行解析。


  CORDIC ( Coordinate Rotation Digital Computer ) 是坐标旋转数字计算机算法的简称,由 Vloder• 于 1959 年在设计美国航空导航控制系统的过程中首先提出[1], 主要用于解决导航系统中三角函数、 反三角函数和开方等运算的实时计算问题。 1971 年, Walther 将圆周系统、 线性系统和双曲系统统一到一个 CORDIC 迭代方程里 , 从而提出了一种统一的CORDIC 算法形式[2]。


  CORDIC 算法应用广泛, 如离散傅里叶变换 、 离散余弦变换、 离散 Hartley 变换、Chirp-Z 变换、 各种滤波以及矩阵的奇异值分解中都可应用 CORDIC 算法。 从广义上讲,CORDIC 算法提供了一种数学计算的逼近方法。 由于它最终可分解为一系列的加减和移位操作, 故非常适合硬件实现。 例如, 在工程领域可采用 CORDIC 算法实现直接数字频率合成器。 本节在阐述 CORDIC 算法三种旋转模式的基础上, 介绍了利用 CORDIC 算法计算三角函数、 反三角函数和复数求模等相关理论。 以此为依据, 阐述了基于 FPGA 的 CORDIC 算法的设计与实现及其工程应用。


整个系列分别从圆周系统、 线性系统和双曲系统及硬件实现进行分析,如下:

CORDIC算法详解(一)- CORDIC 算法之圆周系统之旋转模式( Rotation Mode )CORDIC算法详解(二)- CORDIC 算法之圆周系统之向量模式(Vectoring Mode)CORDIC算法详解(三)- CORDIC 算法之线性系统及其数学应用CORDIC算法详解(四)- CORDIC 算法之双曲系统及其数学应用CORDIC算法详解(五)- 统一的 CORDIC 算法形式CORDIC算法详解(六)- CORDIC 算法的硬件实现 其中第五篇及第六篇后会放出相关参考资料及源码。


5 统一的 CORDIC 算法形式

  圆周系统、线性系统和双曲线系统可以用统一的一个迭代方程来表示,如式(3.124)所示,相应的操作指令如表3.21所示。表3.22和表3.23对三种系统进行了比较。

cordic算法 除法_线性系统


cordic算法 除法_三角函数_02


cordic算法 除法_线性系统_03