ドキュメンテーション

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

Data Type Propagation

基準信号の情報に基づく伝播信号のデータ型とスケーリングの設定

ライブラリ

Signal Attributes

説明

Data Type Propagation ブロックを使用すると、モデル内の信号のデータ型とスケーリングを制御できます。このブロックは、[出力データ型] パラメーターが 継承: 逆伝播による継承に設定されている固定小数点ブロックと接続して使用することができます。

このブロックは 3つの入力をもちます。Ref1 と Ref2 は基準入力であり、Prop 入力は基準入力から収集されたデータ型およびスケーリング情報を逆伝播します。この情報は他の固定小数点ブロックに渡されます。

このブロックを使用することにより、データ型およびスケーリング情報をさまざまな方法で伝播することができます。たとえば、次のようなことができます。

  • Ref1 基準信号のビット数を使用するか、最も広い基準信号のビット数を使用します。

  • Ref2 基準信号の範囲を使用するか、最大の範囲をもつ基準信号の範囲を使用します。

  • 基準信号が使用するバイアスに関係なく、ゼロのバイアスを使用します。

  • 最小精度の基準信号の精度を使用します。

データ型の情報を伝播する方法は、[伝播データ型] パラメーター リストで指定します。パラメーター リストが [ダイアログにより指定] として構成されている場合は、[伝播データ型] 編集フィールドを使用して、データ型を手動で指定します。パラメーター リストが [伝播ルールにより継承] として構成されている場合は、パラメーターとダイアログ ボックスで説明されているパラメーターを使用する必要があります。

スケーリング情報を伝播する方法は、[伝播スケーリング] パラメーター リストで指定します。パラメーター リストが [ダイアログにより指定] と設定されている場合は、[伝播スケーリング] 編集フィールドを使用してスケーリングを手動で指定します。パラメーター リストが [伝播ルールにより継承] として構成されている場合は、パラメーターとダイアログ ボックスで説明されているパラメーターを使用する必要があります。

基準信号からの情報を使用した後、個別の乗算および加法調整を使用して、データ型およびスケーリングに第 2 レベルの調整を適用することができます。この柔軟性には、さまざまな用途があります。たとえば、DSP をターゲットにする場合は、MAC (multiply and accumulate) 演算に関連するビット数が入力信号の 2 倍の幅になり、それに特定の数のガード ビットが追加されるようにブロックを構成できます。

Data Type Propagation ブロックは、計算されたビット数を強制的に有用な値にするメカニズムも備えています。たとえば 16 ビットマクロをターゲットにする場合は、ターゲットの C コンパイラは、おそらく 8 ビット、16 ビット、32 ビットのサイズのみをサポートします。ブロックはこの 3 つの選択項目が使用されるようにします。たとえば、ブロックが 24 ビットのデータ型を計算するとします。24 ビットはターゲット チップでは直接使用できないので、信号はネイティブでサポートされる 32 ビットに強制的に変換されます。

浮動小数点基準信号を扱う方法もあります。これにより、固定小数点チップから浮動小数点チップまたはその逆へ容易にターゲットを変更できる設計が簡単になります。

Data Type Propagation ブロックを使用すると、接続された信号に基づいて正しく構成される便利なサブシステムのライブラリをセットアップできます。このデータ型の伝播プロセスがなかった場合、ライブラリから使用するサブシステムはほとんどの整数または固定小数点信号で常に予想どおりに機能するとは限らず、手動でデータ型とスケーリングを構成する必要が生じます。このブロックは、多くのケースで手動入力を不要にします。

優先順位ルール

ダイアログ ボックスのパラメーターの優先順位は、上から順に低くなります。さらに以下のルールがあります。

  • 倍精度の基準入力は、他のすべてのデータ型に優先します。

  • 単精度の基準入力は、整数および固定小数点データ型に優先します。

  • 乗法調整は加法調整の前に行われます。

  • ビット数は、精度または正の範囲が基準入力から継承される前に決められます。

サポートするデータ型

Data Type Propagation ブロックは、以下のデータ型の信号を受け入れます。

  • 浮動小数点

  • 組み込み整数

  • 固定小数点

  • boolean

詳細は、Simulink® ドキュメンテーションの「Simulink でサポートされているデータ型」を参照してください。

パラメーターとダイアログ ボックス

[Data Type Propagation ブロック] ダイアログ ボックスの [伝播タイプ] ペインは、次のように表示されます。

伝播データ型

パラメーター リストを使用して、ダイアログ ボックス経由でデータ型を伝播するか、基準信号からデータ型を継承します。編集フィールドを使用してダイアログ ボックス経由でのデータ型を指定します。

参照入力が double の場合の出力

[single] または [double] を指定します。このパラメーターにより、固定小数点チップから浮動小数点チップ、またはその逆へ容易にターゲットを変更できる設計が簡単になります。

このパラメーターは、[伝播データ型][伝播ルールにより継承] に設定した場合にのみ表示されます。

[参照入力が single の場合の出力]

[single] または [double] を指定します。このパラメーターにより、固定小数点チップから浮動小数点チップ、またはその逆へ容易にターゲットを変更できる設計を簡単にします。

このパラメーターは、[伝播データ型][伝播ルールにより継承] に設定した場合にのみ表示されます。

符号付き

Prop の符号を以下の値のいずれかとして指定します。

パラメーター値説明

IsSigned1

Ref1 が符号付きデータ型の場合、Prop は符号付きデータ型です。

IsSigned2

Ref2 が符号付きデータ型の場合、Prop は符号付きデータ型です。

IsSigned1 or IsSigned2

Ref1 または Ref2 のいずれかが符号付きデータ型の場合、Prop は符号付きデータ型です。

TRUE

Ref1 と Ref2 は無視され、Prop は常に符号付きデータ型です。

FALSE

Ref1 と Ref2 は無視され、Prop は常に符号なしデータ型です。

たとえば、Ref1 信号が [ufix(16)] であり、Ref2 信号が [sfix(16)] であり、符号付き パラメーターが [IsSigned1 or IsSigned2] の場合、Prop は符号付きデータ型になります。

このパラメーターは、[伝播データ型][伝播ルールにより継承] に設定した場合にのみ表示されます。

ビット数: ベース

基本のデータ型に対して Prop が使用するビット数を以下の値の 1 つとして指定します。

パラメーター値説明

NumBits1

Prop のビット数は Ref1 のビット数によって与えられます。

NumBits2

Prop のビット数は Ref2 のビット数によって与えられます。

max([NumBits1 NumBits2])

Prop のビット数は、最大ビット数をもつ基準信号によって与えられます。

min([NumBits1 NumBits2])

Prop のビット数は、最小ビット数をもつ基準信号によって与えられます。

NumBits1+NumBits2

Prop のビット数は基準信号のビット数の合計によって与えられます。

基本データ型の詳細は、Simulink Fixed Point™ ドキュメンテーションの「組み込みプロセッサのターゲット」を参照してください。

このパラメーターは、[伝播データ型][伝播ルールにより継承] に設定した場合にのみ表示されます。

ビット数: 乗法調整

double データ型の乗法調整を含めることによって、Prop が使用するビット数を指定します。たとえば、MAC (multiply and accumulate) 演算に関連するビット数が入力信号の2 倍の幅になることを保証するとします。これを行うには、このパラメーターを値 2 に設定します。

このパラメーターは、[伝播データ型][伝播ルールにより継承] に設定した場合にのみ表示されます。

ビット数: 加法調整

double データ型の加法調整を含めることによって、Prop が使用するビット数を指定します。たとえば MAC演算時に複数回の加算を行う場合、結果がオーバーフローすることがあります。オーバーフローを防ぐために、伝播されたデータ型をもつガード ビットを関連付けることができます。4 つのガード ビットを関連付けるには、値 4 を指定します。

このパラメーターは、[伝播データ型][伝播ルールにより継承] に設定した場合にのみ表示されます。

ビット数: 許容可能な最終値

Prop が使用する計算ビット数を有用な値にします。たとえば、8、16、32 ビットのみをサポートするプロセッサをターゲットとする場合は、このパラメーターを [8,16,32] に設定します。ブロックは常に指定された値内の最小値を伝播します。すべての固定小数点データ型を使用できるようにしたい場合は、値 [1:128] を指定します。

このパラメーターは、[伝播データ型][伝播ルールにより継承] に設定した場合にのみ表示されます。

Data Type Propagation ブロック ダイアログの [伝播スケーリング] ペインは以下のように表示されます。

伝播スケーリング

パラメーター リストを使用してダイアログ ボックス経由でスケーリングを伝播するか、基準信号からスケーリングを継承します。あるいは最良の精度を得るために、スケーリングを計算します。

[伝播スケーリング] (勾配または [勾配バイアス])

勾配または勾配とバイアスのいずれかのスケーリングを指定します。

このパラメーターは、[伝播スケーリング][ダイアログにより指定] に設定した場合にのみ表示されます。

最高精度のスケーリングの決定に使用される値

伝播される入力の上限と下限など、精度を制約するための値を指定します。オーバーフロー エラーを起こさず、最小限の量子化誤差でこれらの値を表現できるように、データ型に基づいてスケーリングは自動的に選択されます。

このパラメーターは、[伝播スケーリング][最高精度により取得] に設定した場合にのみ表示されます。

勾配: ベース

基本データ型の Prop が使用する勾配を以下の値の 1 つとして指定します。

パラメーター値説明

Slope1

Prop の勾配は、Ref1 の勾配によって与えられます。

Slope2

Prop の勾配は、Ref2 の勾配によって与えられます。

max([Slope1 Slope2])

Prop の勾配は、基準信号の最大勾配によって与えられます。

min([Slope1 Slope2])

Prop の勾配は、基準信号の最小勾配によって与えられます。

Slope1*Slope2

Prop の勾配は、基準信号の勾配の積によって与えられます。

Slope1/Slope2

Prop の勾配は、Ref1の勾配と Ref2 の勾配の比によって与えられます。

PosRange1

Prop の範囲は、Ref1 の範囲によって与えられます。

PosRange2

Prop の範囲は、Ref2 の範囲によって与えられます。

max([PosRange1 PosRange2])

Prop の範囲は、基準信号の最大範囲によって与えられます。

min([PosRange1 PosRange2])

Prop の範囲は、基準信号の最小範囲によって与えられます。

PosRange1*PosRange2

Prop の範囲は、基準信号の範囲の積によって与えられます。

PosRange1/PosRange2

Prop の範囲は、Ref1 の範囲と Ref2 の範囲の比によって与えられます。

Prop の精度は Slope1Slope2 によって制御し、Prop の範囲は PosRange1PosRange2 によって制御します。また、PosRange1PosRange2 は、関連付けられた基準信号の正の最大範囲より 1 ビット高くなります。

このパラメーターは、[伝播スケーリング][伝播ルールにより継承] に設定した場合にのみ表示されます。

勾配: 乗法調整

double データ型の乗法調整を含めることによって、Prop が使用する勾配を指定します。たとえば、3 ビットの追加精度を使用したい場合 (その分だけ、範囲を減少)、乗法調整は 2^-3 です。

このパラメーターは、[伝播スケーリング][伝播ルールにより継承] に設定した場合にのみ表示されます。

勾配: 加法調整

double データ型の加法調整を含めることによって、Prop が使用する勾配を指定します。多くの場合、勾配の加法調整は不要です。最も多い用途は、乗法調整を 0 に設定して、最終的な勾配が指定された値になるように加法調整を設定することです。

このパラメーターは、[伝播スケーリング][伝播ルールにより継承] に設定した場合にのみ表示されます。

バイアス: ベース

基本データ型について Prop が使用するバイアスを指定します。パラメーター値は以下になります。

パラメーター値説明

Bias1

Prop のバイアスは Ref1 のバイアスによって与えられます。

Bias2

Prop のバイアスは Ref2 のバイアスによって与えられます。

max([Bias1 Bias2])

Prop のバイアスは基準信号の最大バイアスによって与えられます。

min([Bias1 Bias2])

Prop のバイアスは基準信号の最小バイアスによって与えられます。

Bias1*Bias2

Prop のバイアスは基準信号のバイアスの積によって与えられます。

Bias1/Bias2

Prop のバイアスは Ref1 のバイアスと Ref2 のバイアスの比によって与えられます。

Bias1+Bias2

Prop のバイアスは基準信号のバイアスの和によって与えられます。

Bias1-Bias2

Prop のバイアスは基準信号のバイアスの差によって与えられます。

このパラメーターは、[伝播スケーリング][伝播ルールにより継承] に設定した場合にのみ表示されます。

バイアス: 乗法調整

double データ型の乗算の調整を含めることによって、Prop が使用するバイアスを指定します。

このパラメーターは、[伝播スケーリング][伝播ルールにより継承] に設定した場合にのみ表示されます。

バイアス: 加法調整

double データ型の加法調整を含めることによって、Prop が使用するバイアスを指定します。

Prop に関連付けられるバイアスを 0 にしたい場合は、乗法調整と加法調整の両方を 0 に設定します。

このパラメーターは、[伝播スケーリング][伝播ルールにより継承] に設定した場合にのみ表示されます。

特性

データ型

double | single | boolean | 整数 | 固定小数点

直接フィードスルー

あり

多次元信号

あり

可変サイズの信号

あり

ゼロクロッシング検出

なし

コード生成

あり

R2006a より前に導入

この情報は役に立ちましたか?