ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

スケーリング

固定小数点数の動的範囲は、同等の語長の浮動小数点をはるかに下回ります。オーバーフロー状態を防ぎ、量子化誤差を最低限に抑えるには、固定小数点数をスケーリングしなければなりません。

Fixed-Point Designer™ ソフトウェアでは、2 進小数点でスケーリングが定義される固定小数点データ型を選択するか、ニーズに合った任意の線形スケーリングを選択することができます。この節では、固定小数点データ型で使用できるスケーリングの選択肢を示します。

固定小数点数は、一般的な勾配とバイアスのエンコード スキームにより表すことができます。

real-world value=(slope×integer)+bias

この場合、勾配は次のように表現できます。

slope=slope adjustment factor × 2fixed exponent

整数は「格納された整数」と呼ばれることがあります。これは生の 2 進数の数で、2 進小数点はワードの右端にあると想定されています。Fixed-Point Designer のドキュメンテーションでは、固定小数点の指数の負の数値を "小数部の長さ" と呼ぶことがあります。

勾配とバイアスは共に固定小数点数のスケーリングを表します。ゼロ バイアスの数では、勾配のみがスケーリングに影響します。2 進小数点位置でのみスケーリングされる固定小数点数は、バイアスがゼロで勾配調整係数が 1 となる勾配バイアス表現の数値に相当します。これは「2 進小数点専用スケーリング」または「2 のべき乗スケーリング」と呼ばれます。

real-world value=2fixed exponent×integer

または

real-world value=2-fraction length×integer

このエンコーディング スキーム内で使用できるスケーリング モードは、次の節で説明します。サポートされるスケーリング モードが固定小数点操作に及ぼす影響の詳細は、算術とスケーリングの推奨事項を参照してください。

2 進小数点のみのスケーリング

2 進小数点のみのスケーリングまたは 2 のべき乗のスケーリングでは、固定小数点のワード内で 2 進小数点を移動しなければなりません。このスケーリング モードの利点は、プロセッサ算術演算の数を最少にすることです。

2 進小数点のみのスケーリングでは、一般勾配とバイアス公式の要素は以下の値をもちます。

  • F = 1

  • S=F2E=2E

  • B=0

量子化された実際数値は勾配 S で定義されますが、これは 2 のべき乗に制限されています。負の 2 のべき乗の指数は小数部の長さと呼ばれます。小数部の長さは 2 進小数点の右側のビット数です。2 進小数点のみのスケーリングの場合、固定小数点データ型を以下のように指定します。

  • 符号付きタイプ — fixdt(1, WordLength, FractionLength)

  • 符号なしタイプ — fixdt(0, WordLength, FractionLength)

整数は、固定小数点データ型の特殊ケースです。整数は、勾配 1 およびバイアス 0、または小数部の長さ 0 と等価な自明のスケーリングをもちます。整数は以下のように指定します。

  • 符号付き整数 — fixdt(1, WordLength, 0)

  • 符号なしの整数 — fixdt(0, WordLength, 0)

勾配およびバイアス スケーリング

勾配とバイアスでスケールする場合、量子化された実際数値の勾配 S とバイアス B には任意の値を使用できます。勾配は正数でなければなりません。勾配とバイアスを使用して固定小数点データ型を以下のように指定します。

  • fixdt(Signed, WordLength, Slope, Bias)

指定なしのスケーリング

スケーリングが指定されていない固定小数点データ型は以下のように指定します。

  • fixdt(Signed, WordLength)

Simulink® 信号、パラメーター、状態には、スケーリングを必ず指定しなければなりません。スケーリングが指定されていない場合、自動最高精度スケーリングなどの他のメカニズムを使用して Simulink ソフトウェアで使用するスケーリングを決定しなければなりません。