。
固定小数点モデルを作成するには,固定小数点信号を出力するように仿金宝app真软件®ブロックを设定します。固定小数点出力をサポートするS金宝appimulink的ブロックでは,ブロックが固定小数点信号を出力するかどうか,そしてその场合,その固定小数点出力のサイズ,スケーリング,およびその他の属性を指定するためのパラメーターが提供されます。通常,これらのパラメーターは,ブロックのダイアログボックスにある[信号属性]ペインに表示されます。
以下の節では,固定小数点出力を生成するためにこれらのパラメーターを使用してブロックを設定する方法を説明します。
金宝app仿真软件ブロックの多くでは,ブロックのダイアログボックスに表示されるパラメーターを使用して出力データ型とスケーリングを指定できます。このパラメーター(通常,“出力データ型”という名前をもつ)は特定のブロックでサポートされるデータ型をリストしたプルダウンメニューを提供します。通常,出力データ型はあるデータ型,組み込みデータ型,データ型を評価する式,または仿金宝app真软件データ型を継承する規則として指定できます。詳細は,信号のデータ型の制御を参照してください。
定点设计师™ソフトウェアでは,以下を使用してSimulink的ブロックを构成で金宝appきます。
固定小数点データ型
固定小数点データ型は,ビット単位で表すワードサイズ,および固定小数点値のスケーリングに使用する2进小数点で特徴付けられます。
浮动小数点データ型
浮动小数点データ型は,符号ビット,分数(仮数)フィールド,および指数フィールドで特徴付けられます。
定点设计师データ型でブロックを構成するには,ブロックのダイアログボックスで,データ型に評価される式としてデータ型パラメーターを指定します。あるいは,データ型式の入力タスクを簡易化するアシスタントを使用できます(データ型アシスタントを使用した固定小数点データ型の指定を参照)。以下の節では,さまざまな固定小数点データ型および浮動小数点データ型,およびそれらの指定に使用する関数について説明します。
符号なしの整数と符号付き整数を指定するには,関数使用uint
および关数烧结靶
をそれぞれ使用します。
たとえば,ブロックダイアログボックスで16ビットの符号なしの整数を設定するには,[出力データ型]パラメーターをUINT(16)
として指定します0.16ビットの符号付き整数を设定するには,[出力データ型]パラメーターをSINT(16)
として指定します。
整数データ型の场合,既定の2进小数点は,全ビットの右侧にあると想定されています。
符号なしの分数と符号付き分数を指定するには,関数ufrac
および关数SFRAC
をそれぞれ使用します。
たとえば,ブロックダイアログボックスで出力を16ビットの符号なし小数として设定するには,[出力データ型]パラメーターをufrac(16)
として指定します0.16ビットの符号付き小数を设定するには,[出力データ型]パラメーターをsfrac (16)
として指定します。
小数は既定のスケーリングにより整数と区别されます。符号付きおよび符号なしの整数データ型の既定の2进小数点は全ビットの右侧ですが,符号なし小数のデータ型の既定の2进小数点は,全ビットの左侧であり,符号付き小数データ型の既定の2进小数点は,符号ビットの右侧です。
符号なしと符号付きの両方の小数データ型では,オーバーフローを防止する“ガードビット”がサポートされます。たとえば,SFRAC(16,4)
では16ビットの符号付き小数と4つのガードビットが指定されます。ガードビットは,既定の2进小数点の左侧にあります。
关节ufix
および关数sfix
ではそれぞれ符号なしおよび符号付きの一般化固定小数点数を指定できます。
たとえば,ブロックダイアログボックスで出力を16ビットの符号なし一般化固定小数点数として设定するには,[出力データ型]パラメーターをufix (16)
として指定します0.16ビットの符号付き一般化固定小数点数を设定するには,[出力データ型]パラメーターをsfix(16)
として指定します。
一般化固定小数点数は,既定のスケーリングがないことで整数および分数と区别されます。整数および分数データ型の场合,通常,ブロックは别のブロックからスケーリングを継承します。
メモ
代わりに,关数fixdt
を使用して整数,小数,および固定小数点オブジェクトを作成することもできます关。数fixdt
では,固定小数点データ型に対してスケーリングを指定することもできます。
定点设计师ソフトウェアでは,IEEE®标准754-1985二进制浮点运算で定义された単精度および倍精度の浮动小数点数がサポートされます.Simulinkの关数金宝app浮动
を使用すると,浮动小数点数を指定できます。
たとえば,ブロックダイアログボックスで出力を単精度浮動小数点数として設定するには,[出力データ型]パラメーターを浮(“单个”)
として指定します。倍精度浮動小数点数を設定するには,[出力データ型]パラメーターを浮动(双)
として指定します。
データ型アシスタントは,金宝appSimulink的ブロックおよびデータオブジェクトのデータ型を指定するタスクを単纯化するグラフィカルな対话型ツールです。このアシスタントは,ブロックおよびオブジェクトのダイアログボックス内の[出力データ型]パラメーターなどのデータ型を制御するパラメーターの近くに表示されます。アシスタントのアクセスおよび操作の詳細は,データ型アシスタントを利用したデータ型の指定を参照してください。
データ型アシタントを使用すると,固定小数点データ型を指定できます。[モード]フィールドで[固定小数点]
を选択すると,アシスタントは下の例のように固定小数点データ型に关する追加情报を示すフィールドを表示します。
次の固定小数点属性を设定できます。
固定小数点データを[符号付き]
または[符号なし]
のどちらに设定するかを指定します。符号付きデータは正または负の数値を表します。符号なしデータは正の値のみを表します。
量子化された整数をもつワードのビットサイズを指定します。ワードサイズが大きいと,小さい场合に比べて,大きな値を高精度で表现します。シミュレーションでは128ビットまでの固定小数点ワードサイズがサポートされます。
オーバーフローを避け,量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。以下の中から選択できます。
スケーリングモード | 说明 |
---|---|
2进小数点 |
このモードを选択すると,アシスタントに2进小数点の位置を指定する[小数部の长さ]フィールドが表示されます。 2进小数点は正または负の整数になります。正の整数を入力すると,その値に応じて2进小数点は右端のビットの左侧に配置されます。たとえば,2は小数点を右から2番目のビットの前に设定します。负の整数を入力すると,その値に応じて2进小数点は右端のビットのさらに右侧に配置されます。 詳細は,2進小数点のみのスケーリングを参照してください。 |
勾配とバイアス |
このモードを选択すると,アシスタントに"勾配"と“バイアス”を入力するためのフィールドが表示されます。
詳細は,勾配およびバイアススケーリングを参照してください。 |
最高精度 |
このモードを選択すると,ブロックは対象の要素の精度が最大化されるように定数ベクトルまたは行列をスケーリングします。このモードは,特定のブロックでのみ使用できます。 詳細については,最高精度のための定数のスケーリングを参照してください。 |
定点设计师ソフトウェアでは,[2进小数点]
と[勾配とバイアス]
の両方のスケーリングに対し,ダイアログボックスの他のパラメーターに指定した値に基づいて “最高精度” の値が自动的に计算されます。最高精度のスケーリング値を自动的に计算するには,ブロックの[出力の最小値]パラメーターと(出力の最大値)パラメーターの値を入力します。その后,アシスタントで(最大精度のスケーリングを計算)ボタンをクリックします。
[整数丸めモード]パラメーターを使用して固定小数点数の丸め方法を指定します。以下はサポートされる丸めモードプロパティです。
[正方向の丸め]
——このモードは,正の方向に無限に丸め,MATLAB®の关数小区
と同等です。
(最も近い偶数方向)
——このモードは,最も近い表現可能な数値に丸めますが,等距離の場合は最も近い偶数の整数に丸めます。偶数丸めは,定点设计师の関数会聚的
と同等です。
[负方向への丸め]
- このモードは,负の方向に无限に丸め,MATLABの关数地板上
と同等です。
[最も近い整数への丸め]
——このモードは,最も近い表現可能な数値に丸めますが,まったくの中間点の場合は正の無限大方向に丸めます。最も近い整数への丸めは,定点设计师の関数最近的
と同等です。
[整数への丸め]
- このモードは,最も近い表现可能な数値に丸めますが,正数の丸めで等距离の场合は正の无限大方向へ,负数の丸めで等距离の场合は负の无限大方向へ丸めます。このモードは,定点设计师の关数轮
と同等です。
(最も簡潔]
- このモードでは,负方向への丸めとゼロ方向への丸めのいずれかを自动的に选択し,できるだけ效率の高い丸めコードを生成します。
[ゼロ方向への丸め]
- このモードはゼロの方向に丸め,MATLABの关数使固定
と同等です。
これらの各丸めモードの详细は,丸めを参照してください。
固定小数点操作でのオーバーフロー条件の处理方法を制御するには,(整数オーバーフローで飽和)チェックボックスを使用します。
このチェックボックスがオンの场合,オーバーフローはデータ型で表现される最大値または最小値に饱和します。たとえば,符号付き8ビット整数に关连付けられたオーバーフローは,-128または127に饱和することができます。
このボックスがオフの场合,オーバーフローはデータ型によって表现される适切な値にラップされます。たとえば,数130は符号付き8ビット整数1つに收まりきらないので,-126にラップされます。
出力データ型が一般化固定小数点数の场合,[固定小数点ツールによる変更に対して出力データ型の设定をロックする]チェックボックスをオンにすることにより,その出力データ型设定をロックできます。
ロックされた状態では,固定小数点ツールおよびオートスケーリングスクリプトautofixexp
は出力データ型设定を変更しません。ロックされていない场合は,固定小数点ツールとautofixexp
スクリプトは出力データ型设定を自由に调整できます。
[等価な値をもつ入力と出力]パラメーターを使用して信号を実际値として,または整数格纳値として扱うように数据类型转换ブロックを设定することができます。
有効な値は,[実际値(RWV)]
と[整数格纳(SI)]
です。
スケーリングで定義した変数については,実際値はV.で指定され,整数格纳値は问:で指定されます。出力として整数を生成するハードウェアのモデル化では,整数格纳値として数値を扱うことをお勧めします。