李翔
DOI:10.16660/j.cnki.1674-098X.2017.14.034
摘 要:CORDIC算法廣泛用于三角、反三角函數(shù)計(jì)算。對(duì)該算法的研究主要集中于減少硬件資源消耗、提升處理效率,但對(duì)其計(jì)算誤差的深入分析較少。指出了CORDIC算法在矢量模式和旋轉(zhuǎn)模式下的誤差來源,并據(jù)此對(duì)CORDIC算法計(jì)算正弦、余弦和反正切函數(shù)的不確定度進(jìn)行了定量分析。數(shù)值仿真表明理論推導(dǎo)與實(shí)際計(jì)算結(jié)果相吻合。
關(guān)鍵詞:CORDIC 誤差分析 不確定度
中圖分類號(hào):TM38;TP301.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2017)05(b)-0034-02
CORDIC算法全稱為“坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī)(coordinates rotation digital computer)”,該算法最初旨在僅依靠移位和加減操作計(jì)算二維坐標(biāo)的旋轉(zhuǎn)變換,稍加改進(jìn)后可用于實(shí)現(xiàn)多種超越函數(shù),尤其多用于計(jì)算三角與反三角函數(shù)[1-3]。
目前對(duì)CORDIC算法的研究集中在降低硬件消耗、提高計(jì)算速度上[4-5],而對(duì)該算法的計(jì)算誤差則關(guān)注甚少。早期文獻(xiàn)中關(guān)于CORDIC算法的誤差分析也往往限于討論誤差的上限[6-7],且對(duì)誤差來源的分析尚不夠深入。
該文對(duì)CORDIC算法的兩種常用模式——矢量模式和旋轉(zhuǎn)模式下的誤差來源進(jìn)行了討論,采用不確定度評(píng)定的方法估計(jì)計(jì)算誤差,并通過數(shù)值仿真驗(yàn)證了推導(dǎo)結(jié)果的正確性。
2 仿真驗(yàn)證
假定角度分辨率弧度,迭代16次。對(duì)于矢量模式,隨機(jī)產(chǎn)生10 000個(gè)幅角在區(qū)間內(nèi)的矢量,并使矢量模長從逐步增大到224,用矢量模式計(jì)算反正切并統(tǒng)計(jì)其均方誤差(RMSE),并與式(8)給出的不確定度理論值進(jìn)行對(duì)比,結(jié)果見圖1。
對(duì)于旋轉(zhuǎn)模式,隨機(jī)產(chǎn)生10000個(gè)區(qū)間內(nèi)的角度,用旋轉(zhuǎn)模式計(jì)算它們的正弦和余弦,且矢量模長亦從逐步增大到224,統(tǒng)計(jì)均方誤差并與不確定度理論值對(duì)比,結(jié)果見圖2。
由圖1與圖2可見,無論矢量模式或旋轉(zhuǎn)模式,按式(8)得到的不確定度理論值均與實(shí)際的均方誤差相吻合。
3 結(jié)語
該文對(duì)CORDIC算法計(jì)算反正切、正弦和余弦函數(shù)的誤差進(jìn)行了分析并給出了不確定度表達(dá)式。數(shù)值仿真結(jié)果表明,該文給出的CORDIC算法不確定度表達(dá)式能準(zhǔn)確地估計(jì)實(shí)際計(jì)算誤差的大小,可為CORDIC算法在實(shí)際應(yīng)用中的精度評(píng)估提供參考。
參考文獻(xiàn)
[1] 馮英翹,萬秋華,宋超,等.基于坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算算法的小型光電編碼器細(xì)分[J].光學(xué)學(xué)報(bào),2014,34(2):34-39.
[2] 薛凌云,孫世榮.基于CORDIC算法的磁編碼器角度誤差修正仿真研究[J].杭州電子科技大學(xué)學(xué)報(bào):自然科學(xué)版,2016,36(1):75-79.
[3] 葉樹亮,張潛,朱維斌.光柵莫爾信號(hào)正交誤差實(shí)時(shí)補(bǔ)償研究[J].儀器儀表學(xué)報(bào),2017,38(1):57-64.
[4] 劉小寧,謝宜壯,陳禾,等.CORDIC算法的優(yōu)化及實(shí)現(xiàn)[J].北京理工大學(xué)學(xué)報(bào),2015,35(11):1164-1170.
[5] 張朝柱,韓吉南,燕慧智.高速高精度固定角度旋轉(zhuǎn)CORDIC算法的設(shè)計(jì)與實(shí)現(xiàn)[J].電子學(xué)報(bào),2016,44(2):485-490.
[6] Antelo E,Bruguera J D,Lang T,et al. Error analysis and reduction for angle calculation using the CORDIC algorithm[J].IEEE Transactions on Computers,1997,46(11):1264-1271.
[7] Sang Yoon Park, Nam Ik Cho.Fixed-point error analysis of CORDIC processor based on the variance propagation[J].IEEE Transactions on Circuits and Systems-I,2004,51(3):573-584.