Requantize - 2022.1 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語

ザイリンクス Requantize ブロックは、入力信号を再量子化およびスケーリングします。

ザイリンクス Requantize ブロックは、各入力サンプルをさまざまな固定小数点精度出力に再量子化します。たとえば、固定小数点符号付き (2 の補数) または符号なしの値を再量子化して、入力よりもビット数の多いまたは少ない出力を生成し、2 進小数点の精度を再調整します。

このブロックは、入力の 2 のべき乗でのスケーリングも実行します。べき数は、正または負のいずれかにできます。スケーリング演算は、コンテナー内のビットを変更することなく 2 進小数点を移動します。

Requantize ブロックは、入力信号を再量子化およびスケーリングするのに使用します。これらのいずれかのみを実行する場合は、HDL ブロックセットのその操作のみを実行するブロックを使用できます。

  • スケーリングせずに再量子化のみを実行する場合は、HDL ブロックセットの Convert ブロックを使用してください。
  • 再量子化せずにスケーリングのみを実行する場合は、HDL ブロックセットの Scale ブロックを使用してください。

量子化

量子化エラーは、小数部のビット数が値の小数部を表すのに十分でない場合に発生します。このブロックでは、不十分な入力データの量子化に対称丸めが使用されます。

[Round (unbiased: +/- inf)]: 「対称丸め (+/- 無限大の方向)」または「対称丸め (0 から遠い方向)」とも呼ばれます。これは、MATLAB round() 関数と似ています。このメソッドは、値を 0 から遠い方の最も近いビットに丸めます。値が 2 つの可能な丸め値の中間値である場合は、大きい方が選択されます。たとえば、01.0110 を Fix_4_2 に丸めると、01.0110 は 01.01 と 01.10 のちょうど中間であるので、0 から遠い方の 01.10 となります。

オーバーフロー

オーバーフロー エラーは、値が表現可能な範囲外である場合に発生します。オーバーフローが発生した場合、このブロックはデータを最大の正の値/最小の負の値に飽和させます。

ブロック パラメーター

Simulink モデルでブロックのアイコンをダブルクリックすると、Block Parameters ダイアログ ボックスが開きます。

このブロック特定のパラメーターは、次のとおりです。

Scale factor s (scale output by 2^s)
スケール係数には、正または負の値を使用できます。ブロックの出力は i*2^k です (i は入力値、k はスケール係数)。スケーリングにより 2 進小数点が移動しますが、ハードウェア コストはありません。シフトでは、ロジックが追加される場合があります。
Fixed-point Precision
Number of bits
2 進小数点ビット幅を含む合計ビット数を指定します。
Binary point
2 進小数点のビット位置を指定します。ビット 0 が最下位ビットです。