Moving Standard Deviation
移動標準偏差

ライブラリ:
DSP System Toolbox /
Statistics
説明
Moving Standard Deviation ブロックは、時間の経過に沿って入力信号の移動標準偏差を各チャネルで個別に計算します。このブロックでは、スライディング ウィンドウ法または指数の重み付け法のどちらかを使用して移動標準偏差を計算します。スライディング ウィンドウ法では、データ サンプル上で指定の長さのウィンドウをサンプルごとに移動させ、ウィンドウ内のデータの標準偏差をブロックで計算します。指数の重み付け法では、ブロックは指数的に重み付けされた移動分散を計算し、平方根を取ります。これらの方法の詳細については、アルゴリズムを参照してください。
例
端子
入力
x — データ入力
ベクトル | 行列
ブロックは、この入力端子で指定されているデータの移動標準偏差を計算します。m 行 n 列 (m ≥ 1、n ≥ 1) のサイズの実数値または複素数値のマルチチャネル入力を指定します。
[Allow arbitrary frame length for fixed-size input signals] パラメーターが表示され、このパラメーターが選択されていない場合、かつ固定サイズの信号を入力している場合、フレーム長はホップ サイズ (ウィンドウの長さからオーバーラップの長さを引いた値) の倍数でなければなりません。それ以外の場合、入力フレーム長は任意の長さで構いません。
ブロックは、可変サイズの入力 (シミュレーション中にフレーム長が変化する) を受け入れます。可変サイズの信号を入力する場合、信号のフレーム長は任意の長さで構いません。
この端子は、[Method] を [Exponential weighting]
に設定して [Specify forgetting factor from input port] パラメーターを選択するまでは名前なしになります。
データ型: single
| double
複素数のサポート: あり
lambda — 忘却係数
(0,1] の範囲の正の実数スカラー
忘却係数によって、古いデータに与えられる重みが決まります。忘却係数 0.1 よりも忘却係数 0.9 の方が古いデータに対する重みが大きくなります。忘却係数 1.0 は無限メモリを示し、以前の全サンプルに均等な重みが与えられます。
依存関係
この端子は、[Method] を [Exponential weighting]
に設定して [Specify forgetting factor from input port] パラメーターを選択すると表示されます。
データ型: single
| double
出力
Port_1 — 移動標準偏差の出力
ベクトル | 行列
移動標準偏差の出力。ベクトルまたは行列として返されます。このブロックでは、スライディング ウィンドウ法または指数の重み付け法のどちらかを使用し、[メソッド] パラメーターの設定に基づいて移動標準偏差を計算します。詳細は、アルゴリズムを参照してください。
出力信号の次元の詳細について次の表で説明します。
入力信号 | 入力の次元 | [Allow arbitrary frame length for fixed-size input signals] が表示される場合の出力の次元 | [Allow arbitrary frame length for fixed-size input signals] が表示されない場合の出力の次元 |
---|---|---|---|
固定サイズ信号 | m 行 n 列。ここで、m はホップ サイズ (ウィンドウの長さからオーバーラップの長さを引いた値) の倍数です。 | (m/ホップ サイズ) 行 n 列 | m 行 n 列 |
固定サイズ信号 | m 行 n 列。ここで、m はホップ サイズ (ウィンドウの長さからオーバーラップの長さを引いた値) の倍数ではありません。 | [Allow arbitrary frame length for fixed-size input signals] を選択した場合、 [Allow arbitrary frame length for fixed-size input signals] を選択しなかった場合、ブロックはエラーになります。 | m 行 n 列 |
可変サイズの信号 | m 行 n 列 | ceil (m/ホップ サイズ) 行 n 列 | m 行 n 列 |
出力の上限サイズが ceil
(m/ホップ サイズ) 行 n 列である場合、シミュレーション中は最初の次元がその範囲内で異なるサイズを取り、2 番目の次元のサイズは一定に維持されます。この動作を示す例については、Compute Moving Standard Deviation of Noisy Square Wave Signalを参照してください。
データ型: single
| double
複素数のサポート: あり
パラメーター
パラメーターが調整可能としてリストされる場合、シミュレーション時にその値を変更できます。
Method — 移動標準偏差の手法
Sliding window
(既定値) | Exponential weighting
Sliding window
— [Window length] の長さのウィンドウを入力データ上で各チャネルに沿って移動させます。ブロックは、ウィンドウが移動する各サンプルについて、ウィンドウ内のデータの標準偏差を計算します。Exponential weighting
— ブロックは指数的に重み付けされた移動標準偏差を計算し、平方根を取ります。データが古くなるほど、重み係数の大きさは指数的に小さくなりますが、0 になることはありません。
これらの方法の詳細については、アルゴリズムを参照してください。
Specify window length — ウィンドウの長さを指定するフラグ
on (既定値) | off
このチェック ボックスをオンにすると、スライディング ウィンドウの長さが [Window length] で指定した値と等しくなります。このチェック ボックスをオフにすると、スライディング ウィンドウの長さが無限になります。このモードでは、ブロックはチャネルの以前のすべてのサンプルに対する現在のサンプルの標準偏差を計算します。
依存関係
このパラメーターを有効にするには、[メソッド] を [Sliding window]
に設定します。
ウィンドウの長さ — スライディング ウィンドウの長さ
4 (既定値) | 正のスカラー整数
サンプルのスライディング ウィンドウの長さを指定します。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[Specify window length] チェック ボックスを選択します。
Overlap length — ウィンドウ間のオーバーラップの長さ
3
(既定値) | 非負の整数
スライディング ウィンドウ間のオーバーラップの長さを非負の整数として指定します。オーバーラップの長さの値は、[0, [ウィンドウの長さ] - 1] の範囲で変化します。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[Specify window length] チェック ボックスを選択します。
Allow arbitrary frame length for fixed-size input signals — 固定サイズの入力信号に対する任意のフレーム長を許可
off (既定値) | on
固定サイズの入力信号 (シミュレーション中にサイズが変化しない) に対し、任意のフレーム長を許可するかを指定します。ここで、フレーム長はホップ サイズの倍数である必要はありません。ホップ サイズは、[ウィンドウの長さ] から [Overlap length] を引いた値として定義されます。ブロックは、このパラメーター設定を固定サイズの入力信号に対してのみ使用し、可変サイズの入力の場合はこのパラメーターを無視します。
入力信号が可変サイズの信号の場合、そのフレーム長は任意の長さで構いません。つまり、フレーム長がホップ サイズの倍数である必要はありません。
固定サイズの入力信号の場合:
[Allow arbitrary frame length for fixed-size input signals] パラメーターを選択すると、信号のフレーム長がホップ サイズ数の倍数である必要がなくなります。入力がホップ サイズの倍数ではない場合、出力は一般的に可変サイズの信号となります。そのため、任意の入力サイズをサポートするには、ブロックは可変サイズの処理もサポートする必要があります。これは、[Allow arbitrary frame length for fixed-size input signals] パラメーターを選択することで有効にできます。
[Allow arbitrary frame length for fixed-size input signals] パラメーターの選択を解除すると、入力フレーム長がホップ サイズの倍数でなければならなくなります。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[Specify window length] チェック ボックスを選択します。
Specify forgetting factor from input port — 忘却係数を指定するフラグ
off (既定値) | on
このチェック ボックスを選択すると、忘却係数は [lambda] 端子を介した入力になります。このチェック ボックスの選択を解除すると、忘却係数は [Forgetting factor] パラメーターを介したブロック ダイアログで指定されます。
依存関係
このパラメーターを有効にするには、[メソッド] を [Exponential weighing]
に設定します。
Forgetting factor — 指数の重み付けの係数
0.9 (既定値) | (0,1] の範囲の正の実数スカラー
忘却係数によって、古いデータに与えられる重みが決まります。忘却係数 0.1 よりも忘却係数 0.9 の方が古いデータに対する重みが大きくなります。忘却係数 1.0 は無限メモリを示し、以前の全サンプルに均等な重みが与えられます。
調整可能: Yes
依存関係
このパラメーターを有効にするには、[メソッド] を [Exponential weighting]
に設定し、[Specify forgetting factor from input port] チェック ボックスの選択を解除します。
シミュレーション実行方法 — 実行するシミュレーションのタイプ
コード生成
(既定値) | インタープリター型実行
実行するシミュレーションのタイプを次のいずれかとして指定します。
コード生成
–– 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。この C コードは、モデルが変更されない限り以降のシミュレーションで再利用されます。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、シミュレーションの速度は[インタープリター型実行]
よりも速くなります。インタープリター型実行
–– MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、シミュレーションの起動時間は短くなりますが、シミュレーションの速度は[コード生成]
よりも遅くなります。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
スライディング ウィンドウ法
スライディング ウィンドウ法では、現在のサンプルの出力は、ウィンドウ内のデータに対する現在のサンプルの標準偏差になります。最初の出力サンプルを計算するために、アルゴリズムはホップ サイズの数の入力サンプルを受け取るまで待機します。ホップ サイズは、ウィンドウの長さからオーバーラップの長さを引いた値として定義されます。ウィンドウ内の残りのサンプルはゼロと見なされます。たとえば、ウィンドウの長さが 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 で導入R2022b: 新しい [Overlap length] パラメーター
R2022b 以降、[Overlap length] パラメーターを使用してスライディング ウィンドウ間のオーバーラップの長さを指定できるようになりました。
R2022b: 任意の入力フレーム長のサポート
Moving Standard Deviation ブロックは、次に示す条件下で任意のフレーム長の入力信号をサポートします。
入力信号が固定サイズの信号 (シミュレーション中にフレーム長が変化しない) で、[Allow arbitrary frame length for fixed-size input signals] パラメーターが選択されている (有効になっている場合) 。
入力信号が可変サイズの信号 (シミュレーション中にフレーム長が変化する) である。
このブロックが任意のフレーム長の入力信号をサポートしている場合、入力フレーム長はホップ サイズの倍数である必要はありません。
参考
ブロック
- Standard Deviation | Moving Average | Moving Maximum | Moving Minimum | Moving Variance | Moving RMS | Median Filter
オブジェクト
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)