6
FPGAでsqrt(x)の小さい値の近似を実行する方法
私はの値の計算を含む固定小数点ルーチンを実装しようとしています バツ−−√x \sqrt{x} 小さい バツxx 近づく 000。ターゲットアーキテクチャはFPGAです。1つの問題は、この関数がテイラーの展開の使用に向いていないことです。xの値が小さい場合、バツ−−√x\sqrt{x} 無限に行くとき バツxx アプローチ 000、したがって、べき級数を使用して関数を評価するには、巨大な係数に小さな係数を乗算する必要があります バツxx。したがって、この方法は数値的に不安定です。 Newton-Raphsonは、反復アプローチを使用して、次の反復方程式を生成します。 バツn + 1=バツん2−α2バツんxn+1=xn2−α2xnx_{n+1} = \frac {x_{n}}{2}- \frac{\alpha} {2x_{n}}、近似しようとしているところ α−−√α\sqrt {\alpha}。しかし、もう一度、αα\alpha 小さいです、 バツんxnx_{n}同様に、解が収束するためには小さくなければなりません。方程式には小さな数値を別の小さな数値で除算することが含まれるため、固定小数点演算が失敗する可能性があります。 それで、小さな値の近似を実装する方法を知りたいです バツ−−√x\sqrt{x} 事前計算された係数または反復法を使用して、固定小数点演算を使用します。
8
fpga