ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

rooteig

固有ベクトル法を使用した周波数とパワー成分

構文

[w,pow] = rooteig(x,p)
[f,pow] = rooteig(...,fs)
[w,pow] = rooteig(...,'corr')

説明

[w,pow] = rooteig(x,p) では、信号 x の時間サンプル内の周波数成分が推測され、この周波数がラジアン/サンプル単位でベクトル w に、信号のパワーが volts^2 などのべき乗単位でベクトル pow に返されます。入力信号 x は、以下のいずれかで設定できます。

  • 信号の 1 つの観測を表す行、または列ベクトル

  • x'*x が相関行列の推定となるような、x の各行が信号の個別の観測を表す方形配列。たとえばこの配列の各行が、配列処理の場合と同様に、センサーの配列の 1 つの出力である場合などです。

メモ:

関数 corrmtx の出力を使用して、このような配列 x を作成できます。

2 番目の入力引数 p は、以下のいずれかで指定できます。

  • スカラー整数。この場合、信号部分空間の次元は p です。

  • 2 要素のベクトル。この場合、p の 2 番目の要素 p(2) は、信号の相関行列の固有値の中の最小な値、λmin を乗算したしきい値を表しています。しきい値 λmin*p(2) より小さい固有値は、ノイズ部分空間に割り当てられます。この場合、p(1) では、信号部分空間の最大次元が指定されます。

p の 2 番目のエントリにある追加のしきい値パラメーターを使用すると、ノイズ部分空間と信号部分空間の割り当てを柔軟にコントロールできるようになります。

ベクトル w の長さは、信号部分空間の計算された次元です。実数値入力データ x に対して、対応するパワー ベクトル pow の長さは、以下の式で与えられます。

length(pow) = 0.5*length(w)

入力データ x が複素数の場合、poww は同じ長さです。

[f,pow] = rooteig(...,fs) では、Hz 単位で計算された周波数ベクトル f が返されます。サンプリング周波数 fs は Hz 単位で与えられます。fs を空ベクトル [] として指定すると、サンプリング周波数の既定値である 1 Hz が使用されます。

[w,pow] = rooteig(...,'corr') では、入力引数 x が信号データの行列ではなく、相関行列として解釈されます。この構文では、x に正方行列を指定しなければなりません。また、すべての固有値は非負でなければなりません。

メモ:

'corr'p の後の任意の位置に配置できます。

すべて折りたたむ

3 つの複素指数成分とノイズから構成される信号の周波数成分を求めます。修正共分散法を使用して、固有ベクトル法で使用される相関行列を計算します。再現可能な結果が必要な場合は、乱数発生器をリセットします。

rng default
n = 0:99;   
s = exp(1i*pi/2*n)+2*exp(1i*pi/4*n)+exp(1i*pi/3*n)+randn(1,100);

X = corrmtx(s,12,'mod'); 
[W,P] = rooteig(X,3)
W = 3×1

    0.7883
    1.5674
    1.0429

P = 3×1

    4.1748
    1.0572
    1.2419

アルゴリズム

関数 rooteig で使用する固有ベクトル法は、関数 peig で使用するものと同じです。このアルゴリズムでは、信号の周波数成分を計算するために、信号の相関行列の固有空間解析が行われます。

関数 peigrooteig の違いは、以下のとおりです。

  • 関数 peig では、すべての周波数サンプルで疑似スペクトルが返されます。

  • 関数 rooteig は、離散周波数スペクトルの推定を対応する信号のパワー推定と共に返します。

関数 rooteig は、加法性ホワイト ガウス ノイズに正弦波が組み込まれているような信号の周波数の推定にもっとも有効です。

R2006a より前に導入