作者:桂。
时间:2018-01-27 19:58:10
链接:http://www.cnblogs.com/xingshansi/p/8367519.html
前言
主要记录几种复数相位计算的方法,暂未做进一步的比较分析。
一、逼近简述
复数相位估计的问题可表述为:
已知z = x+iy,arctan(y/x) = ?
复数相位估计,指标主要有三个:1)运算量;2)处理时间;3)估值精度。
相位估计算法大致可分为三类:
- 级数展开:如taylor展开
- 迭代求解:如CORDIC
- 有理函数逼近:如pade逼近
常用的CORDIC算法特点是消耗资源少,但当精度要求较高时需要多个迭代周期,典型的以时间换空间,消耗的内存少。taylor级数展开:
或者euler展开:
但利用级数无穷项展开,需要的乘法器资源巨大,即使舍去高阶项也需要较多阶数,工程应用不理想,且展开式可能仅局部收敛。取而代之的思路是:做一个LUT,将计算得到的x/y做插值处理,以相位误差小于1e-4rad为例,需要内存(数据取18bit)约为:31415*18/8/1024 = 69kb。更常用的一个思路是,利用arctan的基本性质: