0

自己回帰モデルを生成するために、aryule() コマンドがあり、フィルターを使用してAR モデルを推定することもできます。しかし、MA モデルを生成するにはどうすればよいでしょうか。たとえば、MA(20) モデルの生成方法を教えてください。そうするための適切なテクニックが見つかりませんでした。ノイズは非線形マップから生成されます

epsilon(1) = 0.01;

for i =1 : N 
        epsilon(i+1) = 4*epsilon(i)*(1-epsilon(i));
    end

したがって、MA モデルはepsilon項にわたって回帰します。

Q1:上記のノイズ モデルを使用して、できれば MA(20) で MA モデルのコードと関数形式を示すと、非常に役立ちます。

Q2:これは、ランダム ノイズを使用して AR(20) を生成した方法ですが、MA と AR の両方に rand を使用する代わりに、上記の式をノイズとして使用する方法がわかりません。

 %Generate sine wave = A*sin(2*pi*f*t + phi)
t = linspace(0,1,1000);
A = 5;
f = 2;
phi = pi/8;
sinewave = A*sin(2*pi*f*t + phi);
noisy_sine=sinewave+0.5*randn(size(t));
subplot(1,2,1);
plot(t, sinewave)
hold on;
subplot(1,2,2);
plot(t,noisy_sine);

%Generate AR model(20)
order =20;
ARCoeff = aryule(noisy_sine,order);
4

2 に答える 2

1

を使用して、1 行のコードでそれを行うことができますfilter

ラプラス領域における AR と MA について話しましょう。伝達関数 H = B/A があるとします。ここで、B と A は多項式です。B には MA の係数があり、A には AR 係数があります。方程式では:

ここに画像の説明を入力

したがって、入力信号が与えられると、xMatlab を使用y=filter(B,A,x)して AR、MA、および ARMA プロセスを生成できます。についてのドキュメントfilterこちらです。純粋な MA モデルの特定のケースでは、B=1 と A を 20 要素のベクトルとして作成します。

あなたはおそらくすでにそれを知っているでしょうが、念のため、そして将来の読者を助けるために、差分方程式をラプラス領域に変換する方法に関するレビューへのリンクがあります. TL;DR:ここに画像の説明を入力

于 2014-08-15T19:55:09.817 に答える