ドキュメンテーション

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

構文

  • p = bandpower(x)
  • p = bandpower(x,fs,freqrange)
  • p = bandpower(pxx,f,'psd')
  • p = bandpower(pxx,f,freqrange,'psd')

説明

p = bandpower(x) では、入力信号 x の平均パワーが返されます。x が行列の場合、bandpower は各列の平均強度を個別に計算します。

p = bandpower(x,fs,freqrange) では、2 要素ベクトルで指定される周波数範囲 freqrange の平均パワーが返されます。指定された周波数範囲内のパワーを返すには、サンプリング周波数 fs を入力しなければなりません。bandpower は修正ピリオドグラムを使用して freqrange 内の平均パワーを求めます。

p = bandpower(pxx,f,'psd') では、パワー スペクトル密度 (PSD) 推定を積分して計算された平均パワー pxx が返されます。積分値は長方形近似法によって近似されます。入力の fpxx の PSD 推定に対応する周波数のベクトルです。文字列の 'psd' は入力が PSD 推定であり、時系列データではないことを示します。

p = bandpower(pxx,f,freqrange,'psd') では、周波数範囲 freqrange に含まれる平均パワーが返されます。freqrange の周波数が f の値と一致しない場合は、最も近い値が使用されます。平均パワーは、パワー スペクトル密度 (PSD) 推定 pxx を積分することで計算されます。積分値は長方形近似法によって近似されます。文字列の 'psd' は入力が PSD 推定であり、時系列データではないことを示します。

すべて折りたたむ

2 ノルムとの比較

N(0,1) 加法性ホワイト ガウス ノイズを伴う 100 Hz の正弦波で構成される信号を生成します。サンプリング周波数は 1 kHz です。平均強度を求めて ℓ2 ノルムと比較します。

t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));
p = bandpower(x)
norm(x,2)^2/numel(x)

周波数範囲内の合計パワーのパーセンテージ

指定された周波数範囲内の合計パワーのパーセンテージを求めます。

N(0,1) 加法性ホワイト ガウス ノイズを伴う 100 Hz の正弦波で構成される信号を生成します。サンプリング周波数は 1 kHz です。[50, 150] Hz 区間内の合計パワーのパーセンテージを求めます。

t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));
pband = bandpower(x,1000,[50 100]);
ptot = bandpower(x,1000,[0 500]);
per_power = 100*(pband/ptot)

ピリオドグラムの入力

ピリオドグラムで PSD 推定を最初に計算することによって平均パワーを求めます。bandpower に PSD 推定を入力します。

N(0,1) 加法性ホワイト ガウス ノイズを伴う 100 Hz の正弦波で構成される信号を生成します。サンプリング周波数は 1 kHz です。ピリオドグラムを求めて 'psd' フラグを使用して、PSD 推定を用いて平均パワーを計算します。結果を時間領域で計算した平均パワーと比較します。

t = 0:0.001:1-0.001;
Fs = 1000;
x = cos(2*pi*100*t)+randn(size(t));
[Pxx,F] = periodogram(x,rectwin(length(x)),length(x),Fs);
p = bandpower(Pxx,F,'psd')
norm(x,2)^2/numel(x)

周波数帯域でのパワーの割合 (ピリオドグラム)

ピリオドグラムを入力として使い、指定された周波数範囲内の合計パワーのパーセンテージを求めます。

N(0,1) 加法性ホワイト ガウス ノイズを伴う 100 Hz の正弦波で構成される信号を生成します。サンプリング周波数は 1 kHz です。ピリオドグラムと対応する周波数ベクトルを求めます。PSD 推定を使って、[50, 150] Hz 区間の合計パワーのパーセンテージを求めます。

Fs = 1000;
t = 0:1/Fs:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));
[Pxx,F] = periodogram(x,rectwin(length(x)),length(x),Fs);
pband = bandpower(Pxx,F,[50 100],'psd');
ptot = bandpower(Pxx,F,'psd');
per_power = 100*(pband/ptot)

マルチチャネル信号の平均強度

N(0,1) 加法性ホワイト ガウス ノイズを伴う 3 個の正弦波から構成されるマルチチャネル信号を作成します。正弦波の周波数は 100 Hz、200 Hz および 300 Hz です。サンプリング周波数は 1 kHz で、信号は 1 秒間持続します。

Fs = 1000;

t = 0:1/Fs:1-1/Fs;

f = [100;200;300];

x = cos(2*pi*f*t)'+randn(length(t),3);

信号の平均強度を求めて $\ell_2$ ノルムと比較します。

p = bandpower(x)

l2norm = dot(x,x)/length(x)
p =

    1.5264    1.5382    1.4717


l2norm =

    1.5264    1.5382    1.4717

入力引数

すべて折りたたむ

x — 時系列の入力ベクトル | 行列

入力時系列データ、行ベクトルまたは列ベクトルもしくは行列として指定する。x が行列の場合、その各列は独立チャネルとして扱われます。

例: cos(pi/4*(0:159))'+randn(160,1) は単一チャネルの列ベクトル信号です。

例: cos(pi./[4;2]*(0:159))'+randn(160,2) は 2 チャネルのノイズを含んだ正弦波です。

データ型: double | single
複素数のサポート: はい

fs — サンプリング周波数1 (既定値) | 正のスカラー

正のスカラーで指定する入力時系列データのサンプリング周波数

データ型: double | single

freqrange — 帯域パワーを計算する周波数範囲2 要素の実数値の行ベクトルまたは列ベクトル

2 要素の実数値の行ベクトルまたは列ベクトルで指定する、帯域パワーを計算する周波数範囲。入力信号 x が N 個のサンプルを含む場合、freqrange は次の区間内でなければなりません。

  • x が実数で N が偶数の場合 [0, fs/2]

  • x が実数で N が奇数の場合 [0, (N-1)fs/(2N)]

  • x が複素数値で N が偶数の場合 [-(N-2) fs /(2N), fs/2]

  • x が複素数値で N が奇数の場合 [-(N-1)fs/(2N), (N-1)fs/(2N)]

データ型: double | single

pxx — PSD 推定非負の要素をもつ実数値の列ベクトル

非負の要素をもつ列ベクトルとして指定する、片側または両側 PSD 推定。

データ型: double | single

f — PSD 推定の周波数ベクトル実数値要素をもつ列ベクトル

列ベクトルとして指定する周波数ベクトル。周波数ベクトル fpxx の PSD 推定に対応する周波数を含みます。

データ型: double | single

出力引数

すべて折りたたむ

p — 平均帯域パワー非負のスカラー

非負のスカラーとして返す、平均帯域パワー。

データ型: double | single

参考

|

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