2014/08/23

CORDICアルゴリズム

CORDIC - Wikipedia, the free encyclopedia
とても組み込みマイコン向けな三角関数・平方根その他もろもろの実装ができます。
除算を必要とせず、加減とビットシフトのみでも実現できる、という・・・。 (条件分岐は必要ですが)
こういうアルゴリズムがあることを知りませんでした。
割り算がいらないというのがいいです。テーラー展開もシンプルですが、atanとか収束が遅いところがありますし。

CORDIC - You / がらくた箱
級数展開と比べると乗算の回数は圧倒的に減りますが、必要な精度を得るための演算回数はそんなに減りません。 したがって、乗算器がないシステムでは圧倒的に有利ですが、乗算も加算も1クロック、といったシステムではかえって遅くなることもあります。 条件分岐も必要なので、条件分岐のコストが高いシステムも不利です。 また、実行時に計算の打ち切り位置を変えられる級数展開と違って、分解能はテーブルによって決まってしまいますから、0近くの有効桁が減ってしまいます。 このため、浮動小数には向きません。 乗算器のない8ビットCPUで、固定小数で値を求めればいい場合などに向きます。 

日本語でそれぞれの関数の求め方が書いてありました。
 をぉ・・・

0 件のコメント:

コメントを投稿