Moving Standard Deviation
移動標準偏差

ライブラリ:
DSP System Toolbox /
Statistics
説明
Moving Standard Deviation ブロックは、時間の経過に沿って入力信号の移動標準偏差を各チャネルで個別に計算します。このブロックでは、スライディング ウィンドウ法または指数の重み付け法のどちらかを使用して移動標準偏差を計算します。スライディング ウィンドウ法では、データ サンプル上で指定の長さのウィンドウをサンプルごとに移動させ、ウィンドウ内のデータの標準偏差をブロックで計算します。指数の重み付け法では、ブロックは指数的に重み付けされた移動分散を計算し、平方根を取ります。これらの方法の詳細については、アルゴリズムを参照してください。
例
Compute Moving Standard Deviation of Noisy Square Wave Signal
Compare the sliding window standard deviation method and the exponentially weighted standard deviation method in Simulink® using the Moving Standard Deviation block.
端子
入力
ブロックは、この入力端子で指定されているデータの移動標準偏差を計算します。m 行 n 列 (m ≥ 1、n ≥ 1) のサイズの実数値または複素数値のマルチチャネル入力を指定します。
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターが表示され、このパラメーターが選択されていない場合、かつ固定サイズの信号を入力している場合、フレーム長はホップ サイズ (ウィンドウの長さからオーバーラップの長さを引いた値) の倍数でなければなりません。それ以外の場合、入力フレーム長は任意の長さで構いません。
ブロックは、可変サイズの入力 (シミュレーション中にフレーム長が変化する) を受け入れます。可変サイズの信号を入力する場合、信号のフレーム長は任意の長さで構いません。
この端子は、[メソッド] を [Exponential weighting]
に設定して [入力端子から忘却係数を指定] パラメーターを選択するまでは名前なしになります。
データ型: single
| double
複素数のサポート: あり
忘却係数を範囲 [0,1] の非負の実数スカラーとして指定します。忘却係数によって、古いデータに与えられる重みが決まります。忘却係数 0.1 よりも忘却係数 0.9 の方が古いデータに対する重みが大きくなります。忘却係数が 1.0 の場合は無限に記憶し、以前のサンプルに対する重みはすべて同じになります。忘却係数が 0 の場合は記憶せず、過去のサンプルは現在の計算に対して重み付けされません。
依存関係
この端子は、[メソッド] を [Exponential weighting]
に設定して [入力端子から忘却係数を指定] パラメーターを選択すると表示されます。
データ型: single
| double
出力
移動標準偏差の出力。ベクトルまたは行列として返されます。このブロックでは、スライディング ウィンドウ法または指数の重み付け法のどちらかを使用し、[メソッド] パラメーターの設定に基づいて移動標準偏差を計算します。詳細については、アルゴリズムを参照してください。
出力信号の次元の詳細について次の表で説明します。
入力信号 | 入力の次元 | [固定サイズの入力信号に対する任意のフレーム長を許可] が表示される場合の出力の次元 | [固定サイズの入力信号に対する任意のフレーム長を許可] が表示されない場合の出力の次元 |
---|---|---|---|
固定サイズ信号 | m 行 n 列。ここで、m はホップ サイズ (ウィンドウの長さからオーバーラップの長さを引いた値) の倍数です。 | (m/ホップ サイズ) 行 n 列 | m 行 n 列 |
固定サイズ信号 | m 行 n 列。ここで、m はホップ サイズ (ウィンドウの長さからオーバーラップの長さを引いた値) の倍数ではありません。 | [固定サイズの入力信号に対する任意のフレーム長を許可] を選択した場合、 [固定サイズの入力信号に対する任意のフレーム長を許可] を選択しなかった場合、ブロックはエラーになります。 | m 行 n 列 |
可変サイズの信号 | m 行 n 列 | ceil (m/ホップ サイズ) 行 n 列 | m 行 n 列 |
出力の上限サイズが ceil
(m/ホップ サイズ) 行 n 列である場合、シミュレーション中は最初の次元がその範囲内で異なるサイズを取り、2 番目の次元のサイズは一定に維持されます。この動作を示す例については、Compute Moving Standard Deviation of Noisy Square Wave Signalを参照してください。
データ型: single
| double
複素数のサポート: あり
パラメーター
パラメーターが調整可能としてリストされる場合、シミュレーション時にその値を変更できます。
Sliding window
— [ウィンドウの長さ] の長さのウィンドウを入力データ上で各チャネルに沿って移動させます。ブロックは、ウィンドウが移動する各サンプルについて、ウィンドウ内のデータの標準偏差を計算します。Exponential weighting
— ブロックは指数的に重み付けされた移動標準偏差を計算し、平方根を取ります。データが古くなるほど、重み係数の大きさは指数的に小さくなりますが、0 になることはありません。
これらの方法の詳細については、アルゴリズムを参照してください。
このチェック ボックスをオンにすると、スライディング ウィンドウの長さが [ウィンドウの長さ] で指定した値と等しくなります。このチェック ボックスをオフにすると、スライディング ウィンドウの長さが無限になります。このモードでは、ブロックはチャネルの以前のすべてのサンプルに対する現在のサンプルの標準偏差を計算します。
依存関係
このパラメーターを有効にするには、[メソッド] を [Sliding window]
に設定します。
サンプルのスライディング ウィンドウの長さを指定します。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[ウィンドウの長さの指定] チェック ボックスを選択します。
スライディング ウィンドウ間のオーバーラップの長さを非負の整数として指定します。オーバーラップの長さの値は、[0, [ウィンドウの長さ] - 1] の範囲で変化します。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[ウィンドウの長さの指定] チェック ボックスを選択します。
固定サイズの入力信号 (シミュレーション中にサイズが変化しない) に対し、任意のフレーム長を許可するかを指定します。ここで、フレーム長はホップ サイズの倍数である必要はありません。ホップ サイズは、[ウィンドウの長さ] から [オーバーラップの長さ] を引いた値として定義されます。ブロックは、このパラメーター設定を固定サイズの入力信号に対してのみ使用し、可変サイズの入力の場合はこのパラメーターを無視します。
入力信号が可変サイズの信号の場合、そのフレーム長は任意の長さで構いません。つまり、フレーム長がホップ サイズの倍数である必要はありません。
固定サイズの入力信号の場合:
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択すると、信号のフレーム長がホップ サイズ数の倍数である必要がなくなります。入力がホップ サイズの倍数ではない場合、出力は一般的に可変サイズの信号となります。そのため、任意の入力サイズをサポートするには、ブロックは可変サイズの処理もサポートする必要があります。これは、[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択することで有効にできます。
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターの選択を解除すると、入力フレーム長がホップ サイズの倍数でなければならなくなります。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[ウィンドウの長さの指定] チェック ボックスを選択します。
このチェック ボックスを選択すると、忘却係数は [ラムダ] 端子を介した入力になります。このチェック ボックスの選択を解除すると、忘却係数は [忘却係数] パラメーターを介したブロック ダイアログで指定されます。
依存関係
このパラメーターを有効にするには、[メソッド] を [Exponential weighing]
に設定します。
指数の重み付けの係数を範囲 [0,1] の非負の実数スカラーとして指定します。この値によって、古いデータに与えられる重みが決まります。忘却係数 0.1 よりも忘却係数 0.9 の方が古いデータに対する重みが大きくなります。忘却係数が 1.0 の場合は無限に記憶し、過去のサンプルに対する重みはすべて同じになります。忘却係数が 0 の場合は記憶せず、過去のサンプルは現在の計算に対して重み付けされません。
調整可能: Yes
依存関係
このパラメーターを有効にするには、[メソッド] を [Exponential weighting]
に設定し、[入力端子から忘却係数を指定] チェック ボックスの選択を解除します。
実行するシミュレーションのタイプを指定します。このパラメーターは以下のように設定できます。
インタープリター型実行
–– MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションで起動時間が短くなります。コード生成
–– 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。この C コードは、モデルが変更されない限り以降のシミュレーションで再利用されます。このオプションでは起動に時間がかかりますが、その後のシミュレーションは速くなります。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
スライディング ウィンドウ法では、現在のサンプルの出力は、ウィンドウ内のデータに対する現在のサンプルの標準偏差になります。最初の出力サンプルを計算するために、アルゴリズムはホップ サイズの数の入力サンプルを受け取るまで待機します。ホップ サイズは、ウィンドウの長さからオーバーラップの長さを引いた値として定義されます。ウィンドウ内の残りのサンプルはゼロと見なされます。たとえば、ウィンドウの長さが 5 でオーバーラップの長さが 2 の場合、アルゴリズムは最初の出力サンプルを計算するために、入力サンプルを 3 つ受け取るまで待機します。最初の出力の生成後、ホップ サイズの数の入力サンプルごとに後続の出力サンプルを生成します。
ウィンドウの長さを指定しない場合、アルゴリズムはウィンドウの長さを無限と見なします。このモードでは、出力はチャネルの以前のすべてのサンプルに対する現在のサンプルの移動標準偏差になります。
スライディング ウィンドウ法を使用してストリーミング入力データの移動標準偏差を計算する例を考えます。アルゴリズムはウィンドウの長さ 4 とオーバーラップの長さ 3 を使用します。受け取った各入力サンプルで、長さ 4 のウィンドウがデータに沿って移動します。
指数の重み付け法では、次の式を使用して再帰的に移動標準偏差が計算されます。
— 残りのデータに対する現在のデータ サンプルの移動標準偏差。
— 各データ サンプルとデータの平均との差分を 2 乗。
— 各データ サンプルとデータの平均との差分を 2 乗し、忘却係数を乗算。2 乗したすべての項を加算。
— この合計に適用される重み係数。
λ — 忘却係数。
データが古くなるほど、重み係数の大きさは指数的に小さくなります (0 になることはありません)。つまり、現在の標準偏差に対する影響は古いデータよりも新しいデータの方が大きくなります。
重み係数の変化率は忘却係数の値で決まります。忘却係数 0.1 よりも忘却係数 0.9 の方が古いデータに対する重みが大きくなります。忘却係数が 1.0 の場合は無限に記憶します。以前のサンプルに対する重みはすべて同じになります。
指数の重み付け法を使用して移動標準偏差を計算する例を考えます。忘却係数は 0.9 です。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2016b で導入Moving Standard Deviation ブロックで忘却係数 0 を指定できるようになりました。
[シミュレーション実行方法] パラメーターの既定値は [インタープリター型実行]
になりました。この変更により、ブロックは既定でシミュレーションに MATLAB インタープリターを使用します。
R2022b 以降、[オーバーラップの長さ] パラメーターを使用してスライディング ウィンドウ間のオーバーラップの長さを指定できるようになりました。
Moving Standard Deviation ブロックは、次に示す条件下で任意のフレーム長の入力信号をサポートします。
入力信号が固定サイズの信号 (シミュレーション中にフレーム長が変化しない) で、[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターが選択されている (有効になっている場合) 。
入力信号が可変サイズの信号 (シミュレーション中にフレーム長が変化する) である。
このブロックが任意のフレーム長の入力信号をサポートしている場合、入力フレーム長はホップ サイズの倍数である必要はありません。
参考
ブロック
- Standard Deviation | Moving Average | Moving Maximum | Moving Minimum | Moving Variance | Moving RMS | Median Filter
オブジェクト
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)