固定小数点定数の桁落ちの検出
以下の例では、固定小数点定数の桁落ちを検出する方法を示します。
モデルを開く
open_system('ex_fixed_point_constant_precision_loss');
固定小数点定数の桁落ちの検出
このモデルの Data Type Conversion ブロックでは次のようになります。
入力勾配: SU = 1
出力勾配: SY = 1.000001
正味勾配: SU/SY = 1/1.000001
モデルを設定してシミュレーションを実行するには、以下の手順に従います。
Inport ブロックに対して、[データ型] を
int16
に設定します。Data Type Conversion ブロックに対して、[出力データ型] を
fixdt(1,16,1.000001,0)
に設定します。[コンフィギュレーション パラメーター] ダイアログ ボックスで、[診断] 、 [型変換] 、 [桁落ちの検出] コンフィギュレーション パラメーターを
[エラー]
に設定します。Simulink® モデル ウィンドウの [シミュレーション] タブで、[実行] をクリックします。
モデルのシミュレーションを実行すると、正味勾配の量子化誤差が発生します。
Fixed-Point Designer™ ソフトウェアによって、正味量子化スケーリングにより桁落ちが発生したことを示すエラーが表示されます。このメッセージは次の情報を提供します。
誤差が発生したブロック
正味勾配の元の値
正味勾配の量子化値
正味勾配の値の誤差