このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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.
端子
入力
x — データ入力
ベクトル | 行列
ブロックは、この入力端子で指定されているデータの移動標準偏差を計算します。m 行 n 列 (m ≥ 1、n ≥ 1) のサイズの実数値または複素数値のマルチチャネル入力を指定します。
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターが表示され、このパラメーターが選択されていない場合、かつ固定サイズの信号を入力している場合、フレーム長はホップ サイズ (ウィンドウの長さからオーバーラップの長さを引いた値) の倍数でなければなりません。それ以外の場合、入力フレーム長は任意の長さで構いません。
ブロックは、可変サイズの入力 (シミュレーション中にフレーム長が変化する) を受け入れます。可変サイズの信号を入力する場合、信号のフレーム長は任意の長さで構いません。
この端子は、[メソッド] を [Exponential weighting]
に設定して [入力端子から忘却係数を指定] パラメーターを選択するまでは名前なしになります。
データ型: single
| double
複素数のサポート: あり
lambda — 忘却係数
(0,1] の範囲の正の実数スカラー
忘却係数によって、古いデータに与えられる重みが決まります。忘却係数 0.1 よりも忘却係数 0.9 の方が古いデータに対する重みが大きくなります。忘却係数 1.0 は無限メモリを示し、以前の全サンプルに均等な重みが与えられます。
依存関係
この端子は、[メソッド] を [Exponential weighting]
に設定して [入力端子から忘却係数を指定] パラメーターを選択すると表示されます。
データ型: single
| double
出力
Port_1 — 移動標準偏差の出力
ベクトル | 行列
移動標準偏差の出力。ベクトルまたは行列として返されます。このブロックでは、スライディング ウィンドウ法または指数の重み付け法のどちらかを使用し、[メソッド] パラメーターの設定に基づいて移動標準偏差を計算します。詳細については、アルゴリズムを参照してください。
出力信号の次元の詳細について次の表で説明します。
入力信号 | 入力の次元 | [固定サイズの入力信号に対する任意のフレーム長を許可] が表示される場合の出力の次元 | [固定サイズの入力信号に対する任意のフレーム長を許可] が表示されない場合の出力の次元 |
---|---|---|---|
固定サイズ信号 | 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
Sliding window
— [ウィンドウの長さ] の長さのウィンドウを入力データ上で各チャネルに沿って移動させます。ブロックは、ウィンドウが移動する各サンプルについて、ウィンドウ内のデータの標準偏差を計算します。Exponential weighting
— ブロックは指数的に重み付けされた移動標準偏差を計算し、平方根を取ります。データが古くなるほど、重み係数の大きさは指数的に小さくなりますが、0 になることはありません。
これらの方法の詳細については、アルゴリズムを参照してください。
ウィンドウの長さの指定 — ウィンドウの長さを指定するフラグ
オン (既定値) | オフ
このチェック ボックスをオンにすると、スライディング ウィンドウの長さが [ウィンドウの長さ] で指定した値と等しくなります。このチェック ボックスをオフにすると、スライディング ウィンドウの長さが無限になります。このモードでは、ブロックはチャネルの以前のすべてのサンプルに対する現在のサンプルの標準偏差を計算します。
依存関係
このパラメーターを有効にするには、[メソッド] を [Sliding window]
に設定します。
ウィンドウの長さ — スライディング ウィンドウの長さ
4 (既定値) | 正のスカラー整数
サンプルのスライディング ウィンドウの長さを指定します。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[ウィンドウの長さの指定] チェック ボックスを選択します。
オーバーラップの長さ — ウィンドウ間のオーバーラップの長さ
3
(既定値) | 非負の整数
スライディング ウィンドウ間のオーバーラップの長さを非負の整数として指定します。オーバーラップの長さの値は、[0, [ウィンドウの長さ] - 1] の範囲で変化します。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[ウィンドウの長さの指定] チェック ボックスを選択します。
固定サイズの入力信号に対する任意のフレーム長を許可 — 固定サイズの入力信号に対する任意のフレーム長を許可
オフ (既定値) | オン
固定サイズの入力信号 (シミュレーション中にサイズが変化しない) に対し、任意のフレーム長を許可するかを指定します。ここで、フレーム長はホップ サイズの倍数である必要はありません。ホップ サイズは、[ウィンドウの長さ] から [オーバーラップの長さ] を引いた値として定義されます。ブロックは、このパラメーター設定を固定サイズの入力信号に対してのみ使用し、可変サイズの入力の場合はこのパラメーターを無視します。
入力信号が可変サイズの信号の場合、そのフレーム長は任意の長さで構いません。つまり、フレーム長がホップ サイズの倍数である必要はありません。
固定サイズの入力信号の場合:
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択すると、信号のフレーム長がホップ サイズ数の倍数である必要がなくなります。入力がホップ サイズの倍数ではない場合、出力は一般的に可変サイズの信号となります。そのため、任意の入力サイズをサポートするには、ブロックは可変サイズの処理もサポートする必要があります。これは、[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択することで有効にできます。
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターの選択を解除すると、入力フレーム長がホップ サイズの倍数でなければならなくなります。
依存関係
このパラメーターを有効にするは、[メソッド] を [Sliding window]
に設定し、[ウィンドウの長さの指定] チェック ボックスを選択します。
入力端子から忘却係数を指定 — 忘却係数を指定するフラグ
オフ (既定値) | オン
このチェック ボックスを選択すると、忘却係数は [ラムダ] 端子を介した入力になります。このチェック ボックスの選択を解除すると、忘却係数は [忘却係数] パラメーターを介したブロック ダイアログで指定されます。
依存関係
このパラメーターを有効にするには、[メソッド] を [Exponential weighing]
に設定します。
忘却係数 — 指数の重み付けの係数
0.9 (既定値) | (0,1] の範囲の正の実数スカラー
忘却係数によって、古いデータに与えられる重みが決まります。忘却係数 0.1 よりも忘却係数 0.9 の方が古いデータに対する重みが大きくなります。忘却係数 1.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 で導入R2024a: [シミュレーション実行方法] パラメーターの既定値の変更
[シミュレーション実行方法] パラメーターの既定値は [インタープリター型実行]
になりました。この変更により、ブロックは既定でシミュレーションに MATLAB インタープリターを使用します。
R2022b: 新しい [オーバーラップの長さ] パラメーター
R2022b 以降、[オーバーラップの長さ] パラメーターを使用してスライディング ウィンドウ間のオーバーラップの長さを指定できるようになりました。
R2022b: 任意の入力フレーム長のサポート
Moving Standard Deviation ブロックは、次に示す条件下で任意のフレーム長の入力信号をサポートします。
入力信号が固定サイズの信号 (シミュレーション中にフレーム長が変化しない) で、[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターが選択されている (有効になっている場合) 。
入力信号が可変サイズの信号 (シミュレーション中にフレーム長が変化する) である。
このブロックが任意のフレーム長の入力信号をサポートしている場合、入力フレーム長はホップ サイズの倍数である必要はありません。
参考
ブロック
- 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)