メインコンテンツ

comm.IntegrateAndDumpFilter

周期リセットを伴う離散時間信号の積分

説明

comm.IntegrateAndDumpFilterSystem object™ は、既定のスケジュールに従って合計をゼロにリセットしながら、離散時間入力信号の累積和を作成します。このオブジェクトは、シミュレーションの開始時に、Offset プロパティに指定された数のサンプルを破棄します。この初期期間の後に、オブジェクトは入力信号の列に従って累積和を計算し、積分周期プロパティに設定された N 個の入力サンプルごとにゼロにリセットします。リセットが行われるのは、そのタイム ステップでオブジェクトが出力を生成した後です。

周期リセットを伴う離散時間信号は次により積分します。

  1. comm.IntegrateAndDumpFilter オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とはを参照してください。

作成

説明

intdump = comm.IntegrateAndDumpFilter は、積分とダンプ フィルター System object intdump を作成します。このオブジェクトは、積分周期内の多数のサンプルを積分して、その周期の最後にリセットします。

intdump = comm.IntegrateAndDumpFilter(period,Name=Value)IntegrationPeriod プロパティを period に設定します。

intdump = comm.IntegrateAndDumpFilter(___,Name=Value) は、前の構文のいずれかの入力引数の組み合わせに加えて、オプションの名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、comm.IntegrateAndDumpFilter(IntegrationPeriod=4) は積分周期を 4 に設定します。

プロパティ

すべて展開する

特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release を使用します。

プロパティが "調整可能" の場合、その値をいつでも変更できます。

プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

積分周期。範囲 [2, ∞) の整数として指定します。積分周期は、リセットから次のリセットまでの間にオブジェクトが積分するサンプル ブロックの長さを定義します。

データ型: double

オフセット サンプル数。非負の整数または非負の整数のベクトルとして指定します。このプロパティは、オブジェクトがデータ処理の開始時に入力データの各列で破棄する入力サンプルの数を指定します。

Offset プロパティを非ゼロの値に設定した場合、オブジェクトは破棄された初期入力サンプルの代わりにゼロを出力します。

このプロパティを長さ L のベクトルとして指定した場合、ベクトルの各要素は、入力データ行列の対応する列から破棄するサンプルの数を表します。ベクトル L の長さは、入力データ行列の列数と等しくなければなりません。

このプロパティをスカラー値に指定した場合、オブジェクトは入力データ行列の各列に同じオフセットを適用します。このオフセットは、永続的な遅延ではなく、過渡的な効果を生じます。

データ型: double

出力データの間引き制御。logical の 0 (false) または 1 (true) として指定します。

  • DecimateOutput プロパティを true に設定した場合、積分とダンプ フィルターは、IntegrationPeriod 個の入力サンプルの各ブロックについて、最終積分値で構成される 1 つの出力サンプルを返します。入力が K×IntegrationPeriodL 列の行列の場合、出力は K×IntegrationPeriodL 列の行列になります。

  • DecimateOutput プロパティを false に設定すると、積分とダンプ フィルターは、IntegrationPeriod 個の入力サンプルの各ブロックについて、累積和の中間値で構成される IntegrationPeriod 個の出力サンプルを返します。この場合、入力と出力は同じ次元でなければなりません。

固定小数点プロパティ

固定小数点演算に対する完全精度オーバーライド。次のいずれかのオプションとして指定します。

  • FullPrecisionOverride プロパティを true に設定すると、オブジェクトは完全精度ルールを使用してすべての内部演算と出力データ型を計算します。これらの規則は、最も正確な固定長数値を提供します。他の固定長プロパティは個別には適用されないため、オブジェクトはそれらの表示をオフにします。これらの規則は、オブジェクト内で量子化が発生しないことを保証します。必要に応じてビットを追加して、丸めやオーバーフローが確実に発生しないようにできます。

  • FullPrecisionOverride プロパティを false に設定すると、オブジェクトは個々の固定小数点プロパティ設定によって固定小数点データ型を制御します。

詳細については、固定小数点 System object の完全精度を参照してください。

固定小数点数値の丸め方法。"Ceiling""Convergent""Floor""Nearest""Round""Simplest"、または "Zero" として指定します。

依存関係

このプロパティを有効にするには、FullPrecisionOverride プロパティを false に設定します。

固定小数点数値がオーバーフローするときのアクション。"Wrap" または "Saturate" として指定します。このプロパティでオーバーフロー時に取るべき動作を指定します。オーバーフローは、固定小数点計算結果の大きさが、その結果を格納するデータ型とスケーリングの範囲に収まらない場合に発生します。

依存関係

このプロパティを有効にするには、FullPrecisionOverride プロパティを false に設定します。

アキュムレータのデータ型。"Full precision""same as input"、または "Custom" として指定します。

このプロパティを "Full precision" に設定した場合、オブジェクトはアキュムレータ出力のワード長と小数部の長さを自動的に計算します。

依存関係

このプロパティを有効にするには、FullPrecisionOverride プロパティを false に設定します。

アキュムレータの固定小数点データ型。Auto の符号属性をもつスケーリングされた numerictype (Fixed-Point Designer) オブジェクトとして指定します。

依存関係

このプロパティを有効にするには、AccumulatorDataType プロパティを "Custom" に設定します。

出力のデータ型。"Same as accumulator""Same as input"、または "Custom" として指定します。

依存関係

このプロパティを有効にするには、AccumulatorDataType プロパティを "Custom" に設定します。

出力の固定小数点データ型。Auto の符号属性をもつスケーリングされた numerictype (Fixed-Point Designer) オブジェクトとして指定します。

依存関係

このプロパティを有効にするには、FullPrecisionOverride プロパティを false に設定し、OutputDataType プロパティを "Custom" に設定します。

使用法

説明

Y = intdump(X) は、入力データ X から N 個のサンプルのブロックを定期的に積分します。

入力引数

すべて展開する

入力データ。列ベクトルまたは行列として指定します。XK×N 行 (K は正の整数) で構成され、1 つ以上の列をもたなければなりません。オブジェクトは各列を独立したチャネルとして扱い、各列に沿って積分を実行します。

データ型: single | double | fi

出力引数

すべて展開する

出力データ。行列または列ベクトルとして返されます。出力 Y の次元は、DecimateOutput プロパティに割り当てられた値によって異なります。

データ型: single | double | fi

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて折りたたむ

20 サンプルの積分周期をもつ積分とダンプ フィルターを作成します。

intdump = comm.IntegrateAndDumpFilter(20);

バイナリ データを生成します。

data = randi([0 1],50,1);

データをアップサンプリングし、加法性ホワイト ガウス ノイズ チャネルに渡します。

unsampledData = upsample(data,20);
noisyData = awgn(unsampledData,25,"measured");

ノイズを含むデータをフィルターを通して渡します。

filteredData = intdump(noisyData);

元のデータとフィルター処理されたデータをプロットします。積分とダンプ フィルターは、ノイズの影響のほとんどを除去します。

stairs([data filteredData])
legend("Original data","Filtered data")
xlabel("Samples")
ylabel("Amplitude")
grid

Figure contains an axes object. The axes object with xlabel Samples, ylabel Amplitude contains 2 objects of type stair. These objects represent Original data, Filtered data.

詳細

すべて展開する

拡張機能

すべて展開する

バージョン履歴

R2012a で導入

参考

オブジェクト