システムでサイン/コサイン値を計算するルックアップ テーブルを実装しました。逆三角関数 (arcsin/arccos) が必要になりました。
私のアプリケーションは、プログラム メモリが限られているため、arcsin の 2 番目のルックアップ テーブルを追加できない組み込みデバイスで実行されています。したがって、私が考えていた解決策は、サイン ルックアップ テーブルを参照して、対応するインデックスを取得することでした。
このソリューションは、数学標準ライブラリからの標準実装を使用するよりも効率的かどうか疑問に思っています。
誰かがすでにこれを実験しましたか?
LUT の現在の実装は、0 から PI/2 までの正弦値の配列です。テーブルに格納された値は 4096 で乗算され、アプリケーションに十分な精度を持つ整数値のままになります。1/4096 の解像度のルックアップ テーブルで、6434 個の値の配列が得られます。次に、引数として4096を掛けたラジアンの角度をとる2つの関数正弦と余弦があります。これらの関数は、指定された角度を第 1 象限の対応する角度に変換し、表の対応する値を読み取ります。
私のアプリケーションは dsPIC33F で 40 MIPS で動作し、C30 コンパイル スイートを使用しています。