06
三种坐标系下的CORDIC
然而, 我们将会看到,通过考虑其它坐标系中的旋转, 我们可以直接计算更多的函数, 如乘法和除法, 进而间接计算更多的其它函数。
使用其它坐标系的 CORDIC 算法的优点是可以计算更多的函数, 而缺点则是系统将变得更加复杂。当把CORDIC 算法用于线性或双曲坐标系时, 在圆周坐标系中的旋转角度集将不再有效。所以, 这些系统应使用其它的两种旋转角度集。
我们会发现,可以推导出可在 3 个坐标系中表示 CORDIC 方程的通用公式。这意味着在方程式中引入两个新变量。其中一个新变量 (e(i)) 代表了适当的坐标系中用于表示旋转的角度集。
当把CORDIC算法用于双曲线旋转时,伸缩因子K与圆周旋转的因子有所不同。
我们通过引入一个新变量μ,得到CORDIC的通用方程:
至此,三个坐标系下的CORDIC方程得到大一统。
在使用FPGA进行CORDIC算法实现时,理想CORDIC 架构取决于具体应用中速率与面积的权衡。
可以将 CORDIC 方程直接翻译成迭代型的位并行设计,然而:
位并行变量移位器不能很好地映射到 FPGA 中
需要若干个 FPGA 单元。导致设计规模变大而设计时间变长
参考文献
关于 CORDIC 算法的基础以及细节问题,可参见下面的材料 :