Main Content

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

spectrum.welch

ウェルチ スペクトル

構文

Hs = spectrum.welch
Hs = spectrum.welch(WindowName)
Hs = spectrum.welch(WindowName,SegmentLength)
Hs = spectrum.welch(WindowName,SegmentLength,OverlapPercent)

説明

メモ

spectrum.welch の使用は推奨されていません。代わりに pwelch を使用してください。

Hs = spectrum.welch では、ウェルチの平均修正ピリオドグラム スペクトル推定法のパラメーターを定義する、既定のウェルチ スペクトル オブジェクト Hs が返されます。このオブジェクトでは、以下の既定値が使用されます。

プロパティ名既定値説明

{WindowName,winparam}

WindowName およびオプションのウィンドウ パラメーターを含む cell 配列

'Hamming',

SamplingFlag: symmetric

ウィンドウ名または 'User Defined' を含む cell 配列で、特定のウィンドウに使用する場合はオプションのパラメーター値です。特定のウィンドウに対して使用する場合はオプションのパラメーター値 (有効なウィンドウ名は window を参照し、各ウィンドウの詳細については、リファレンス ページを参照してください)。

set を使用して、追加のパラメーターの値を変更したり、ユーザー定義のウィンドウ用に MATLAB® コマンドやパラメーターを定義できます (set の使用に関する詳細については、spectrum を参照してください。)

WindowName

'Hamming',

SamplingFlag: symmetric

以下が有効な windowname オプションです。

'Bartlett'
'Bartlett-Hann'
'Blackman'
'Blackman-Harris'
'Bohman'
'Chebyshev'
'Flat Top'
'Gaussian'
'Hamming'
'Hann'
'Kaiser'
'Nuttall'
'Parzen'
'Rectangular'
'Triangular'
'Tukey'
'User Defined'

ウィンドウ名は、spectrum.welch('tukey') or spectrum.welch({'tukey',0.7}) のように、一重引用符で囲まなければなりません。

ウィンドウ パラメーターの情報は、window および対応するウィンドウ関数のページを参照してください。set を使用して、追加のウィンドウ パラメーターの値を変更したり、ユーザー定義のウィンドウ用に MATLAB コマンドやパラメーターを定義できます (set の使用法は spectrum を参照してください)。

SegmentLength

64

入力信号が分割される各時間ベース セグメントの長さ。修正ピリオドグラムは、各セグメントで計算され、ピリオドグラムの平均によってスペクトル推定が形成されます。セグメント長の選択は、推定の信頼度 (短いセグメント) と周波数の解像度 (長いセグメント) のどちらを優先させるかによって決まります。長いセグメント長を選択すると解像度は高くなり、短いセグメント長を選択すると平均が多くなるため、分散が少なくなります。

OverlapPercent

50%

セグメント間のオーバーラップ率

Hs = spectrum.welch(WindowName) では、指定したウィンドウとその他すべてのパラメーターに既定値を使用して、ウェルチ法によるスペクトル オブジェクト Hs が返されます。ウィンドウのパラメーターを指定するには、spectrum.welch({WindowName,winparam}) の形式の cell 配列を使用します。

Hs = spectrum.welch(WindowName,SegmentLength) では、指定のセグメント長に従い、スペクトル オブジェクト Hs が返されます。

Hs = spectrum.welch(WindowName,SegmentLength,OverlapPercent) では、指定のセグメント間オーバーラップ比率に従い、スペクトル オブジェクト Hs が返されます。

メモ

ウェルチ アルゴリズムの詳細については、pwelch を参照してください。

すべて折りたたむ

ホワイト ノイズに含まれる 200 Hz の余弦波を定義します。

Fs = 1000;
t = 0:1/Fs:.3;
x = cos(2*pi*t*200)+randn(size(t));

ウェルチ アルゴリズムを使用して、信号のスペクトル成分を表示します。

Hs = spectrum.welch;
psd(Hs,x,'Fs',Fs)

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Frequency (Hz), ylabel Power/frequency (dB/Hz) contains an object of type line.

ホワイト ノイズに含まれる 200 Hz の余弦波を定義します。

Fs = 1000;
t = 0:1/Fs:0.3;
x = cos(2*pi*t*200)+randn(size(t));

ハン ウィンドウを使用して、信号のウェルチのパワー スペクトル密度推定を計算します。

window = 33;
noverlap = 32;
nfft = 4097;

h = spectrum.welch('Hann',window,100*noverlap/window);
hpsd = psd(h,x,'NFFT',nfft,'Fs',Fs);

デシベル単位でパワー スペクトル密度を可視化します。

Pw = hpsd.Data; 
Fw = hpsd.Frequencies;
plot(Fw,pow2db(Pw))
xlabel('Hz')
ylabel('dB')

Figure contains an axes object. The axes object with xlabel Hz, ylabel dB contains an object of type line.

参考文献

[1] harris, fredric. j. “On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform.” Proceedings of the IEEE®. Vol. 66 (January 1978).

バージョン履歴

R2006a より前に導入