草庐IT

FPGA实现Cordic算法求解arctan和sqr(x*2 + y* 2)

一.简介由于在项目中需要使用的MPU6050,进行姿态解算,计算中设计到**arctan和sqr(x2+y2),**这两部分的计算,在了解了一番之后,发现Cordic算法可以很方便的一次性求出这两个这两部分的计算。另外也可以一次性求出sin和cos的值。另外该算法还可以计算其他的一些公式(没做过多的了解)。二.Cordic算法该算法的核心实现就是旋转逼近,每次旋转一定的角度,无限的逼近所给定的角度值。1.理论基础首先有向量P0,现在要将其旋转θ角度,到Pm。那么Pm的坐标值如下xm=x0cosθ-y0sinθ=cosθ(x0–y0tanθ)ym=x0sinθ+y0cosθ=cosθ(y0+x0