cordic的FPGA实现(一)简介与算法推导

最近经常看到群里有人在说cordic,觉得用处还蛮大的,所以私下学习了一下,果然很强大!本系列打算更新CORDIC的原理、乘法器、触发器、sin与cos函数、tan函数等系列。

一、CORDIC简介

CORDIC是Coordinate Rotation Digital Computer的简称,即坐标旋转数字运算,主要用于解决导航系统中三角函数、反三角函数和开放运算的实时运算问题,CORDIC算法提供了一种数字计算的逼近方法,最终将运算分解为一系列的加减和移位操作,故非常适合硬件实现。

CORDIC算法有旋转和向量两个模式,分别可以在圆坐标系、线性坐标系,双曲线坐标系中使用。

二、旋转模式算法推导

cordic的FPGA实现(一)简介与算法推导

好像希腊字母插入不了?那我就把笔记截图吧请大家理解一下噻~~~~~~~~~

cordic的FPGA实现(一)简介与算法推导

cordic的FPGA实现(一)简介与算法推导

cordic的FPGA实现(一)简介与算法推导

cordic的FPGA实现(一)简介与算法推导

cordic的FPGA实现(一)简介与算法推导

cordic的FPGA实现(一)简介与算法推导

由于每次伪旋转都导致向量模长发生了变化,以Ki表示第i次伪旋转模长补偿因子,所以第i次伪旋转真实旋转的结果应该为:

cordic的FPGA实现(一)简介与算法推导

cordic的FPGA实现(一)简介与算法推导

当n趋近于无穷大时,An逼近1.646760258,令xo=1/An且yo=0即可得到目标旋转角度的正弦、余弦值。

                                                                                                 bye~^~