| Signal Processing Toolbox | ![]() |
表示
[S,w]=peig(x,p) [S,w]=peig(...,nfft) [S,f]=peig(x,p,nfft,fs) [S,f]=peig(...,'corr') [S,f]=peig(x,p,nfft,fs,nwin,noverlap) [...]=peig(...,'range') [...,v,e]=peig(...) peig(...)
詳細
[S,w] は、固有ベクトルスペクトル推定法を実現し、入力信号 = peig(x,p)
xの擬似スペクトル推定 S と擬似スペクトルを推定した点の正規化された周波数(ラジアン/サンプル)ベクトルwを出力します。擬似スペクトルは、入力データxに関連した相関行列の固有ベクトルの推定を使って、計算されます。xは、つぎのいずれかの入力信号です。
xの各行が、個々の観測信号を表す長方形の配列(たとえば、各行がセンサの配列からの一つの出力)、たとえば、x'*xは、相関行列になります。
注意 関数corrmtxの出力を使って、上記の配列xを作成します。
|
2番目の入力引数pを、つぎのいずれかに設定することができます。
pになります。pの2番目の要素p(2)は、信号の相関行列の固有値の中の最小な値、
minを乗算したスレッシュホールドを表しています。スレッシュホールド
min*p(2)より小さい固有値は、ノイズのサブ空間に割り当てます。この場合、p(1)は、信号サブ空間の最大次元を設定します。pの中の2番目の要素のスレッシュホールドパラメータは、非常に柔軟性をもち、ノイズサブ空間と信号サブ空間の割り当てをコントロールします。
S と w は、同じ長さです。一般に、FFTの長さと入力x の値(実数/複素数)により、計算されるS の長さと対応する正規化された周波数の範囲を決めることができます。つぎの表は、この書式で、S (とw )の長さと対応する正規化された周波数の範囲を示しています。
| 実数/複素数入力データ |
Sとwの長さ |
対応している正規化された周波数の範囲 |
| 実数値 |
129 |
[0, ] |
| 複素数値 |
256 |
[0, 2 ) |
[S,w] は、整数 = peig(...,nfft)
nfftを使って、擬似スペクトルの推定に使用するFFTの長さを設定します。nfftに対するデフォルト値は、256です。
つぎの表は、この書式に対するSとwの長さとwに対する周波数の範囲を示しています。
| 実数/複素数入力データ |
nfft 偶数/奇数 |
S と w の長さ |
w の範囲 |
| 実数値 |
偶数 |
(nfft/2 + 1) |
[0, ] |
| 実数値 |
奇数 |
(nfft + 1)/2 |
[0, ) |
| 複素数値 |
偶数または奇数 |
nfft |
[0, 2 ) |
[S,f] は、ベクトル = peig(x,p,nfft,fs))
Sに推定した擬似スペクトルを出力し、それに対応する周波数(Hz単位)ベクトルをfに出力します。サンプリング周波数fswpヘルツ単位で入力することもできます。空ベクトル[]を設定すると、サンプリング周波数はデフォルトの1Hzになります。
fに対する周波数範囲は、nfftとfsと入力xの値(実数/複素数/個数)に依存します。S(とf)の長さは、表 7-17 fsを設定したSと周波数ベクトルの特性 と同じです。つぎの表は、この書式用の f に対する周波数の範囲を示しています。
| 実数/複素数入力データ |
nfft 偶数/奇数 |
fの範囲 |
| 実数値 |
偶数 |
[0, fs/2] |
| 実数値 |
奇数 |
[0, fs/2) |
| 複素数値 |
偶数/奇数 |
[0, fs) |
は、信号データの行列ではなく、相関行列として入力引数[S,f] = peig(...,'corr')
xを解釈します。この書式では、xは正方行列で、その固有値はすべて非負です。
[S,f] は、引数 = peig(x,p,nfft,fs,nwin,noverlap)
nwinを使って、長方形ウインドウの長さを設定するスカラ整数、または、ウインドウ係数を設定する実数値ベクトルのいずれかを設定します。nwinと組み合わせてスカラ整数noverlapを使用することで、入力サンプルに連続的にある重なりを保ってウインドゥを適用することができます。noverlapは、xが行列の場合、使用できません。デフォルト値は、nwinが2*p(1)、noverlapはnwin-1です。
この書式で、入力データxは、相関行列固有値を推定するために使用する行列が型作られる前に、分割され、ウインドウが適用されます。データの分割は、nwinとnoverlapとxの型に依存します。結果ウインドウを適用された各部分に関するコメントを、つぎの表に記述されます。
この書式に関する関連した情報は、表 7-19の入力データと書式に依存した固有ベクトルの長さを参照してください。
[...] は、 = peig(...,'range')
fまたはwの中に、周波数値の範囲を設定できます。この書式は、xが実数の場合に有効です。 'range'には、つぎのいずれかを設定することができます。
'whole':周波数範囲[0,fs)上で擬似スペクトルを計算します。これは、xが複素数値の場合の周波数範囲のデフォルトです。fsに空行列[]を設定する場合、周波数範囲は、[0,1)になります。fsを設定しない場合、周波数範囲は、 [0, 2
)になります。 'half':xが実数の場合、設定した周波数範囲上で擬似スペクトルを計算します。これは、xが実数の場合の周波数範囲のデフォルトです。[...,v,e] は、ノイズ固有ベクトルの行列 = peig(...)
vを出力し、ベクトルeに関連した固有値を出力します。vの列は、(大きさ size(v,2)の)ノイズサブ空間を構成します。信号サブスペースの次元は、size(v,1)-size(v,2)です。この書式で、eは相関行列の推定された固有値ベクトルです。
peig(...)
は、出力引数を設定しない場合、カレントフィギュアウインドウ内に擬似スペクトルをプロットします。
注意
擬似スペクトルの推定の過程で、関数peigは、信号の相関行列の固有ベクトル vj と固有値
jからノイズと信号のサブ空間を計算します。これらの固有値の中の最小のものが、スレッシュホールドパラメータp(2)と共に使われ、ノイズのサブ空間の大きさに影響を同じように与えます。
関数peigで計算される固有ベクトルの長さnは、信号のサブ空間の次元とノイズのサブ空間の次元との和です。この固有ベクトルの長さは、入力(信号データまたは相関行列)とユーザが使用する書式に依存します。
つぎの表は、入力引数への固有ベクトル長の依存度をまとめたものです。
ある影響を加えるために、p(2)>1としたい場合、nwin > p(1)または(length(nwin) > p(1))のいずれかを設定しなければなりません。
例題
FFTのデフォルト長256を使って、ノイズを含んだ3つの正弦波から構成されているものの擬似スペクトルを固有ベクトル法を使って、実現してみましょう。相関行に対する修正共分散法を使って推定します。
randn('state',1); n=0:99;
s=exp(i*pi/2*n)+2*exp(i*pi/4*n)+exp(i*pi/3*n)+randn(1,100);
X=corrmtx(s,12,'mod');
peig(X,3,'whole') % デフォルトのNFFT、256を使用
アルゴリズム
固有ベクトル法は、Schmidtの固有空間解析法(参考文献[1],[2])から導出されるMUSICアルゴリズムの重み付きバージョンを使って、信号または相関行列から擬似スペクトルを推定します。アルゴリズムは、信号の周波数成分を推定するために、信号の相関行列の固有空間解析を行うものです。信号の相関行列の固有値と固有ベクトルは、相関行列が与えられていない場合、関数svdを使って、推定されます。このアルゴリズムは、加算的な白色ガウスノイズと正弦波から構成される信号に対しては、特に有効です。
固有ベクトル法は、次式で与えられる擬似スペクトルを作成します。
ここで、Nは固有ベクトルの次元で、vk は入力信号の相関行列のk番目の固有ベクトルです。整数pは、信号のサブ空間の次元です。そのため、和の中で使われる固有ベクトルvkは、相関行列の最小の固有値
に対応します。PSD推定の中で使われる固有ベクトルは、ノイズ空間を構成します。ベクトルe(f)は、複素指数の型をし、そのため、内積
は、フーリエ変換になります。これは、PSD推定の計算で使われるものです。FFTは、各vkに対して計算され、大きさの二乗の和が計算され、スケーリングします。
参考
|
相関行列用にデータベクトルを計算 |
|
Burg法を使って、パワースペクトル密度を計算 |
|
ピリオドグラムを使ったパワースペクトル密度の計算 |
|
マルチテーパ法を使ったパワースペクトル密度の計算 |
|
MUSIC アルゴリズムを使った擬似スペクトルの推定 |
|
時間領域IIRフィルタ設計に対するProny法
|
|
パワースペクトル密度データのプロット |
|
Welch法を使ったパワースペクトル密度の計算 |
|
ルート固有ベクトル法を使った周波数とパワーを計算 |
|
ルートMUSICアルゴリズムを使った周波数とパワーを計算 |
参考文献
[1] Marple, S.L. Digital Spectral Analysis, Englewood Cliffs, NJ, Prentice-Hall, 1987, pp. 373-378.
[2] Schmidt, R.O, "Multiple Emitter Location and Signal Parameter Estimation," IEEE Trans. Antennas Propagation, Vol. AP-34 (March 1986), pp. 276-280.
[3] Stoica, P., and R.L. Moses, Introduction to Spectral Analysis, Prentice-Hall, 1997.
| pcov | periodogram | ![]() |