連載 高速 A−D/FPGA/DSP/DDS 搭載基板を 動かしながらしくみを学ぶ フルディジタル無線& 変復調 実験室 三角関数や対数の計算が得意なCORDICアルゴリズム 西村 芳一 1 K Y ≒0.60725 0 0.65 (初期値) cos0.65 ≒0.79608 sin0.65 ≒0.60518 x y z Yoshikazu Nishimura z 角度,− π π ≦z ≦ に対して,sin z とcos z を計算 2 2 1 0 p1 pn =(0.79608, i :ループ・ 0.60518) カウンタ CORDIC 1回目で求まる近似値 X cos z 0 Y sin z z Z 0 K m =1,z →0 半径1の円 定数 sin/cos計算 p3 yes p2 x =1/K y =0 i =0 K =1.6467602 no z ≧0 u = x − y 2− i y = y + x 2− i z = z −tan−12−i u = x + y 2− i y = y − x 2− i z = z +tan−12−i x =u x =u 2回目で求まる 近似値 0 x θn = z 0=0.65 z yes z は角度誤差 z 0=0.65 z2 i = i +1 p 0=(0.60725,0) i<n no 回数を増やすほど誤差が減る z3 0 zn =0 n ビットまで処理 cos z=x sin z=y 回数 i z1 終わり (a)sin/cosの解を求めていくようす (b)計算フロー 図 1 sin/cos を計算する CORDIC のアルゴリズム ● 無線の信号処理にピッタリな計算アルゴリズム 「CORDIC」 フルディジタル無線機では,次の四つの信号処理を 実行する際に関数を利用して計算を実行します. (1)ミキシング:sin と cos (2)FFT:sin と cos 190 (3)局座標変換:tan − 1 と平方根 (4)信号強度測定:対数 (5)AGC (Auto Gain Control) :対数と指数 なかでも三角関数や対数の計算を多用します.今回 紹介するのは,これらの計算にピッタリな計算アルゴ リズム「CORDIC (COrdinate Rotation DIgital Computer) 2015 年 2 月号
© Copyright 2024