yule-walker matlab,Autoregressive all-pole model parameters — Yule-Walker method

Use a vector of polynomial coefficients to generate an AR(4) process by filtering 1024 samples of white noise. Reset the random number generator for reproducible results. Use the Yule-Walker method to estimate the coefficients.

rng default

A = [1 -2.7607 3.8106 -2.6535 0.9238];

y = filter(1,A,0.2*randn(1024,1));

arcoeffs = aryule(y,4)

arcoeffs = 1×5

1.0000 -2.7262 3.7296 -2.5753 0.8927

Generate 50 realizations of the process, changing each time the variance of the input noise. Compare the Yule-Walker-estimated variances to the actual values.

nrealiz = 50;

noisestdz = rand(1,nrealiz)+0.5;

randnoise = randn(1024,nrealiz);

noisevar = zeros(1,nrealiz);

for k = 1:nrealiz

y = filter(1,A,noisestdz(k) * randnoise(:,k));

[arcoeffs,noisevar(k)] = aryule(y,4);

end

plot(noisestdz.^2,noisevar,'*')

title('Noise Variance')

xlabel('Input')

ylabel('Estimated')

7fd0bdbdb311e83a70930e5664ccc3ba.png

Repeat the procedure using the function's multichannel syntax.

Y = filter(1,A,noisestdz.*randnoise);

[coeffs,variances] = aryule(Y,4);

hold on

plot(noisestdz.^2,variances,'o')

hold off

legend('Single channel loop','Multichannel','Location','best')

a96d221cdedacca0602e348b16140630.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值