0

次に示すように、MATLAB の filter() 関数を使用して AR(2) プロセスを生成しようとしています。

A=[1 -2.7607 3.8106 -2.6535 0.9238];
% AR(4) coefficients
y=filter(1,A,0.2*randn(1024,1)); 
% Filter a white noise input to create AR(4) process
[ar_coeffs,nv] =arburg(y,4);
%compare the results in ar_coeffs to the vector A.

時系列データ セットがあり、シミュレートされたデータ セット内のデータの「合計」分散をほぼ一致させたいと考えています。コードの 2 行目で 0.2 の代わりに nv を使用すると、シミュレートされた分散が小さすぎます。

この状況を修正して、類似のシミュレートされた AR(N) データセットを生成するのを手伝ってくれる人はいますか?

ありがとう、

マーク

4

1 に答える 1

0

この例を見るとnv、0.0392 です。これは分散です。分散 a^2 のホワイト ノイズを作成するには、そのシーケンスに a を掛ける必要があります。a^2 = 0.392 の場合、a は 0.198 (0.2 に非常に近い) です。したがって、Colin T は正しく、 randn(1024,1) をsqrt(nv)ではなくで乗算する必要がありますnv

于 2012-10-17T06:48:36.887 に答える