ドキュメンテーション

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

信号のパワーの測定

信号のパワーは時間領域サンプルの絶対値二乗和を信号長で除算したもので、RMS レベルの二乗と等価です。関数 bandpower を使用すると、信号のパワーを一度に推定できます。

ホワイト ガウス ノイズに含まれる、1 kHz で 1.2 秒間サンプリングされたユニット チャープについて考えます。チャープの周波数は、1 秒間で初期値の 100 Hz から 300 Hz に増加します。ノイズの分散は 0.012 です。再現可能な結果が必要な場合は、乱数発生器をリセットします。

N = 1200;
Fs = 1000;
t = (0:N-1)/Fs;

sigma = 0.01;
rng('default')

s = chirp(t,100,1,300)+sigma*randn(size(t));

bandpower で与えられるパワー推定は定義と等価であることを確認します。

pRMS = rms(s)^2
pRMS = 0.5003
powbp = bandpower(s,Fs,[0 Fs/2])
powbp = 0.5005

obw を使用して、信号のパワーの 99% を含む周波数帯域の幅、帯域の下限と上限および帯域のパワーを推定します。この関数は、スペクトル推定もプロットし、占有帯域幅に注釈を付けます。

obw(s,Fs);

[wd,lo,hi,power] = obw(s,Fs);
powtot = power/0.99
powtot = 0.5003

非線形パワー増幅器が 60 Hz の正弦波を入力として与えられ、3 次の歪みをもつノイズを含んだ信号を出力します。サンプルレートは 3.6 kHz です。スペクトル成分に集中できるよう、ゼロ周波数 (DC) 成分を減算します。

load(fullfile(matlabroot,'examples','signal','AmpOutput.mat'))
Fs = 3600;
y = y-mean(y);

増幅器は 3 次の歪みを生じるため、出力信号は以下をもつことが予想されます。

  • 入力と同じ 60 Hz の周波数をもつ "基本波" 成分

  • 2 つの "高調波" -- 入力の 2 倍および 3 倍の 120 Hz および 180 Hz の周波数をもつ周波数成分

関数 bandpower を使用して、基本成分と高調波に蓄積されているパワーを求めます。各値は合計パワーに対するパーセントとデシベルで表されます。値は表形式で表示されます。

pwrTot = bandpower(y,Fs,[0 Fs/2]);

Harmonic = {'Fundamental';'First';'Second'};

Freqs = [60 120 180]';

Power = zeros([3 1]);
for k = 1:3
    Power(k) = bandpower(y,Fs,Freqs(k)+[-10 10]);
end

Percent = Power/pwrTot*100;

inDB = pow2db(Power);

T = table(Freqs,Power,Percent,inDB,'RowNames',Harmonic)
T=3×4 table
                   Freqs     Power      Percent      inDB  
                   _____    ________    _______    ________

    Fundamental      60       1.0079    12.563     0.034136
    First           120      0.14483    1.8053      -8.3914
    Second          180     0.090023    1.1221      -10.456

参考

| | |

関連するトピック