Main Content

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

dspdata.msspectrum

平均二乗 (パワー) スペクトル

構文

Hmss = dspdata.msspectrum(Data)
Hmss = dspdata.msspectrum(Data,Frequencies)
Hmss = dspdata.msspectrum(...,'Fs',Fs)
Hmss = dspdata.msspectrum(...,'SpectrumType',SpectrumType)
Hmss = dspdata.msspectrum(...,'CenterDC',flag)

説明

メモ

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

平均二乗スペクトル (MSS) はその対象に離散スペクトルを想定しています。パワー スペクトル密度 (PSD) とは異なり、MSS の各ピークは与えられた周波数における信号のパワーを表しています。信号の MSS は、信号の自己相関のフーリエ変換です。

Hmss = dspdata.msspectrum(Data) では、Data に含まれる平均二乗 (パワー) スペクトル データが使用されます。このデータはベクトルまたは行列で、行列の場合、各列は個別のデータセットです。このオブジェクトの他のプロパティの既定値は、以下のとおりです。

Property

既定値

説明

Name

'Mean-square Spectrum'

読み取り専用の文字ベクトル

Frequencies

[]

タイプ double

スペクトルが計算される周波数のベクトル。このベクトルの範囲は SpectrumType の値によって異なります。Fs が指定されている場合、片側スペクトルでの既定の範囲は、奇数の長さの場合 [0, π) または [0, Fs/2)、偶数の長さの場合 [0, π] または [0, Fs/2] です。両側スペクトルでは、範囲は [0, 2π) または [0, Fs) です。

Frequencies ベクトルの長さは、Data の列の長さに一致しなければなりません。

Frequencies を指定しないと、既定のベクトルが作成されます。片側を選択すると、このベクトルの FFT 点の全体数 (nFFT) は偶数であるとみなされます。

onesided を選択して Frequencies を指定すると、最後の周波数点が最後から 2 番目の周波数点および pi (または Fs が指定されている場合は Fs/2) と比較されます。最後の点が前の点より pi (または Fs/2) に近い場合、nFFT は偶数であると見なされます。前の点により近い場合は、nFFT は奇数であるとみなされます。

Fs

'Normalized'

NormalizedFrequencytrue の場合、'Normalized' であるサンプリング周波数。NormalizedFrequencyfalse の場合、Fs は既定で 1 Hz に設定されます。

SpectrumType

'Onesided'

スペクトル密度を計算するナイキスト区間。有効な値は 'Onesided' および 'Twosided' です。このプロパティの変更に関する詳細については、dspdataonesided メソッドおよび twosided メソッドを参照してください。

Onesided の区間は、FFT 点の数により [0 π) または [0 π] で、Twosided の場合は [0 2π) です。

NormalizedFrequency

true

周波数が正規化されている (true) か、または正規化されていない (false) か。このプロパティは Fs を基にして作成時に自動的に設定されます。Fs が指定されている場合、NormalizedFrequencyfalse に設定されます。このプロパティの変更に関する詳細については、dspdatanormalizefreq メソッドを参照してください。

Hmss = dspdata.msspectrum(Data,Frequencies) では、ベクトル Data および Frequencies に含まれる平均二乗スペクトル データが使用されます。

Hmss = dspdata.msspectrum(...,'Fs',Fs) では、サンプリング周波数 Fs が使用されます。Fs を指定すると、Fs に基づく線形周波数 (Hz 単位) の既定セットが使用され、NormalizedFrequencyfalse に設定されます。

Hmss = dspdata.msspectrum(...,'SpectrumType',SpectrumType) では、SpectrumType を使用して、平均二乗スペクトルを計算する区間を指定します。[0 π) または [0 π] の範囲からのデータに対しては、SpectrumTypeonesided に設定し、[0 2π) の範囲からのデータに対しては、SpectrumTypetwosided に設定します。

Hmss = dspdata.msspectrum(...,'CenterDC',flag) では、flag の値を使用して、ゼロ周波数 (DC) 成分が中央揃えされているかどうかを示します。flagtrue の場合は、DC 成分が両側スペクトルの中央にあることを示します。DC 成分がスペクトルの左端にある場合は、flagfalse に設定します。

メソッド

メソッドでは、dspdata オブジェクトにパラメーターを再度設定せずに、直接関数を実行する方法が提供されます。dspdata.msspectrum オブジェクトに割り当てた変数に、直接メソッドを適用できます。dspdata.msspectrum オブジェクトでは以下のメソッドを使用できます。

  • centerdc

  • normalizefreq

  • onesided

  • plot

  • sfdr

  • twosided

たとえば、周波数を正規化し、NormalizedFrequency パラメーターを true に設定するには、以下を使用します。

Hmss = normalizefreq(Hs)

メソッドの使用方法とスペクトルのプロットの詳細については、dspdata のリファレンス ページを参照してください。

すべて折りたたむ

加法性ノイズを伴う 2 つの正弦波で構成される信号を生成します。

Fs = 32e3;
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*t*1.24e3)+cos(2*pi*t*10e3)+randn(size(t));

信号の入力の片側 PSD 推定を計算します。この結果を使用して、dspdata オブジェクトを作成します。平均二乗スペクトルをプロットします。

P = periodogram(x,[],[],Fs);

Hmss = dspdata.msspectrum(P,'Fs',Fs,'spectrumtype','onesided'); 

plot(Hmss)

Figure contains an axes object. The axes object with title Mean-Square Spectrum, xlabel Frequency (kHz), ylabel Power (dB) contains an object of type line.

バージョン履歴

R2006a より前に導入