Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ウェルチ スペクトル推定

200 kHz で 0.1 秒間サンプリングされた、ノイズを含む 3 つの正弦波とチャープで構成される信号を作成します。正弦波の周波数は 1 kHz、10 kHz および 20 kHz です。正弦波の振幅とノイズ レベルはさまざまです。ノイズのないチャープの周波数は 20 kHz で始まり、サンプリング中に 30 kHz まで線形に増加します。

Fs = 200e3; 
Fc = [1 10 20]'*1e3; 
Ns = 0.1*Fs;

t = (0:Ns-1)/Fs;
x = [1 1/10 10]*sin(2*pi*Fc*t)+[1/200 1/2000 1/20]*randn(3,Ns);
x = x+chirp(t,20e3,t(end),30e3);

信号のウェルチ PSD 推定と最大ホールドおよび最小ホールド スペクトルを計算します。結果をプロットします。

[pxx,f] = pwelch(x,[],[],[],Fs);
pmax = pwelch(x,[],[],[],Fs,'maxhold');
pmin = pwelch(x,[],[],[],Fs,'minhold');

plot(f/1000,pow2db(pxx))
hold on
plot(f/1000,pow2db([pmax pmin]),':')
hold off
xlabel('Frequency (kHz)')
ylabel('PSD (dB/Hz)')
legend('pwelch','maxhold','minhold')
grid

Figure contains an axes object. The axes object with xlabel Frequency (kHz), ylabel PSD (dB/Hz) contains 3 objects of type line. These objects represent pwelch, maxhold, minhold.

この手順を繰り返し、今度はパワー スペクトル推定が中心になるように計算します。

[pxx,f] = pwelch(x,[],[],[],Fs,'centered','power');
pmax = pwelch(x,[],[],[],Fs,'maxhold','centered','power');
pmin = pwelch(x,[],[],[],Fs,'minhold','centered','power');

plot(f/1000,pow2db(pxx))
hold on
plot(f/1000,pow2db([pmax pmin]),':')
hold off
xlabel('Frequency (kHz)')
ylabel('Power (dB)')
legend('pwelch','maxhold','minhold')
title('Centered Power Spectrum Estimates')
grid

Figure contains an axes object. The axes object with title Centered Power Spectrum Estimates, xlabel Frequency (kHz), ylabel Power (dB) contains 3 objects of type line. These objects represent pwelch, maxhold, minhold.

参考

| |