復數相位近似估計


作者:桂。

時間: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的基本性質:

從而將x的求解縮小至abs(x)<=1的范圍,這樣做LUT需要的內存則更少。

  對於多項式逼近(注意:逼近分最佳一致逼近、最佳有理逼近,不在展開)的思想,多項式逼近的知識屬於:數值分析的范疇,可系統學習該學科知識來掌握,推薦較多的教材為:

利用pade近似,可得到arctan的逼近公式:

該逼近的效果:whose maximum error is on the order of 0.003 degrees when | θ | ≤ π /4 radians ,當然也可以更低/高階次。

syms x
func = (x + 0.372003*x^3)/(1+0.703384*x^2+0.043562*x^4);
taylor(func,'order',5)
taylor(atan(x),'order',5)

  

關於常用公式的工程快速計算,可參考劍橋出版社的:

 

 二、幾種常用算法

  A-文獻: Another Contender in the Arctangent Race

 主要思想仍然是pade逼近:

進一步化簡:

其中I、Q是復數的實、虛部,對於4個象限,利用arctan的特性均分8個區域:

 

不同區域的求解思路:

 該算法僅需要3個實數乘法和一次除法即可完成求解,缺點是估計誤差較大:

  B-文獻:Efficient Approximations for the Arctangent Function

本文仍然是多項式逼近的思想,借助朗格朗日插值、minmax優化(感覺它這里的優化就是在暴力搜索),得到逼近函數。一階近似:

最大誤差為0.22°。考慮提高精度,可增加逼近的階次,三次為例: 

三階需要1次除法、3次乘法。該結果相比A文獻的方法,誤差更小。A文獻對應(10),B文獻對應(9):

  C-文獻:Fast Computation of arctangent Functions for Embedded Applications: A Comparative Analysis

 四個象限的計算:

首先造1個表,文中給出的size = 100,主要算法框圖:

LUT基礎上,借助線性插值,完成相位估計:

該算法需要1次除法、1次乘法,考慮到時序,若不對I、Q的大小做判斷,可同時計算Q/I 、I/Q除法器為2個,上面的其他算法也是如此。

  D-文獻:Fast- and Low-Complexity atan2(a,b) Approximation

 令c = b + ja,從正弦函數切入:

通過定位極值點即可估計theta:

 

前提是T已知,作者假設均勻采樣的采樣周期T = 4(即每個周期內采樣4個點,b a -b -a):

利用梯度為零,定位極值點,經過推導,作者得出(fr為極值點位置的近似):

p(1)、p(0)對應函數的離散采樣:

不同象限的對應關系:

atan的近似公式為:

其中,offset = 2*not(b0)+not(xor(b1,b0)),用該方法估計相位,最大角度誤差為±4.07°,因此作者在這一步的基礎上,添加查表修正(second-stage),整個的算法框圖為:

測試code:

表格尺寸與估值精度:

該算法提供了相位粗估計 + 精估計的實現思路,除了第一步的粗估計,作者給出了理論解釋,個人覺得該算法工程實現意義不大。b/a or a/b之后直接查表,在精度0.001°的情況下,直接查表的LUT也就4kb左右(視有效位數而定)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM