Signal Processing Toolbox    
pcov

共分散法を使ったパワースペクトル密度の計算

表示

詳細

Pxx = pcov(x,p) は、パラメトリックスペクトル推定法の一つの共分散アルゴリズムを実現し、ベクトルxのパワースペクトル密度(PSD)の推定値をPxxに出力します。xの要素が離散時間信号のサンプルを表します。pは、信号に対して、PSDの推定に使用する自己回帰(AR)予測モデルの次数を設定する整数です。

パワースペクトル密度は、パワー/ラジアン/サンプルで計算されます。入力が実数値の場合、周波数軸に対して、片側PSDが計算され、複素数の場合、両側PSDが計算されます。

一般に、FFTの長さと入力値x(実数/複素数)に依って、Pxxの長さと対応している正規化した周波数の範囲を決定します。この書式で、デフォルトのFFTの長さは256です。つぎの表は、Pxxの長さと対応する正規化された周波数の範囲を示しています。

表  7-12:   長さ256(デフォルト)のFFT長に対するPSD ベクトル特性
実数/複素数入力データ
Pxxの長さ
対応する正規化された周波数の範囲
実数値
129
[0, ]
複素数値
256
[0, 2)

[Pxx,w] = pcov(x,p) は、PSDを計算する周波数ベクトルをwに出力します。Pxxwは、同じ長さをもっています。周波数の単位は、ラジアン/サンプルです。

[Pxx,w] = pcov(x,p,nfft) は、FFTの長さを整数nfftで設定して、共分散法を使ってPSDを計算します。nfft[]ベクトルで設定する場合、デフォルト値256が使われます。

Pxxの長さとwに対する周波数範囲は、nfftと入力xの値(実数/複素数/個数)に依存します。この書式に対するPxxの長さとwに対する周波数範囲の関係をつぎの表で示します。

表  7-13:  PSD と周波数ベクトルの特性
実数/複素数入力データ
nfft 偶数/奇数
Pxxの長さ
wの範囲
実数値
偶数
(nfft/2 + 1)
[0, ]
実数値
奇数
(nfft + 1)/2
[0, )
複素数値
偶数または奇数
nfft
[0, 2)

[Pxx,f] = pcov(x,p,nfft,fs) は、PSDベクトル(Pxx)と対応する周波数ベクトル(f)を計算するために、ヘルツ単位で設定した整数をサンプリング周波数として使います。この場合、周波数ベクトルの単位は、Hzです。作成されるスペクトル密度は、パワー/Hz単位で計算されます。fsを空ベクトル[]で設定している場合、サンプリング周波数のデフォルト1Hz が使われます。

fに対する周波数範囲は、nfftfsと入力値x(実数/複素数/個数)に依存します。Pxxの長さは、上の表と同じになります。つぎの表は、この書式で表したものに対するfに対する周波数範囲を示します。

表  7-14:   fs を設定したPSDと
周波数ベクトルの特性
実数/複素数入力データ
nfft  偶数/奇数
fの範囲
実数値
偶数
[0fs/2]
実数値
奇数
[0fs/2)
複素数値
偶数または奇数
[0, fs)

[Pxx,f] = pcov(x,p,nfft,fs,'range') または、 [Pxx,w] = pcov(x,p,nfft,'range') は、fwに周波数値の範囲を出力します。この書式は、xが実数の場合に有効です。'range' には、つぎのいずれかを設定できます。

pcov(...) は、カレントフィギュアウインドウにパワースペクトル密度をプロットします。プロット上での周波数範囲は、パラメータを与えたものに対しての出力範囲 w(または、f)と同じものです。

例題

共分散法は、設定した次数のAR予測モデルを信号に近似することで、スペクトル密度を計算するため、まず、設定した次数のAR(全極)モデルから信号を生成しましょう。関数freqzを使って、ユーザのARフィルタの周波数応答の大きさをチェックすることができます。関数pcovを使ってPSDを計算する場合、結果を推定することができます。

さて、白色ノイズをARフィルタに適用して入力信号xを作成します。4次のAR予測モデルをベースにxのPSDを計算しましょう。ここで、オリジナルのARシステムモデルは、次数が4であることがわかっているとします。

注意

パワースペクトル密度は、単位周波数に対するパワーの分布として計算できます。

このアルゴリズムは、ユーザの信号に対して、選択したモデル次数によって影響を受けます。

アルゴリズム

線形予測フィルタは、信号の2次の統計量の特徴をモデル化するのに使うことができます。予測フィルタ出力は、入力が白色ノイズの場合、信号をモデル化するのに使われます。

共分散法は、共分散を用いて信号のPSDを推定します。共分散(または、ウインドを適用しない)方法は、AR線形予測フィルタモデルを最小二乗規範の基に前進予測誤差を最小にすることにより、信号に近似します。関数pcovから出力されるスペクトル推定は、このARモデルの周波数応答の大きさの二乗になります。

参考
arcov
共分散モデルを使ったARモデルパラメータの推定
lpc
線形予測フィルタ係数の計算
pburg
Burg法を使って、パワースペクトル密度を計算
peig
固有ベクトル法を使った擬似スペクトルの推定
periodogram
ピリオドグラムを使ったパワースペクトル密度の計算
pmcov
修正共分散法を使ったパワースペクトル密度の計算
pmtm
マルチテーパ法を使ったパワースペクトル密度の計算
pmusic
MUSIC アルゴリズムを使った擬似スペクトルの推定
prony
時間領域IIRフィルタ設計に対するProny法
psdplot
パワースペクトル密度データのプロット
pwelch
Welch法を使ったパワースペクトル密度の計算
pyulear
Yule-Walker AR法を使ったパワースペクトル密度の計算

参考文献

[1] Marple, S.L. Digital Spectral Analysis, Englewood Cliffs, NJ, Prentice-Hall, 1987, Chapter 7.

[2] Stoica, P., and R.L. Moses, Introduction to Spectral Analysis, Prentice-Hall, 1997.


 pburg peig