当前位置:   article > 正文

levinson matlab,Levinson-Durbin recursion

levinson函数 matlab

Estimate the coefficients of an autoregressive process given by

x(n)=0.1x(n-1)-0.8x(n-2)-0.27x(n-3)+w(n).

a = [1 0.1 -0.8 -0.27];

Generate a realization of the process by filtering white noise of variance 0.4.

v = 0.4;

w = sqrt(v)*randn(15000,1);

x = filter(1,a,w);

Estimate the correlation function. Discard the correlation values at negative lags. Use the Levinson-Durbin recursion to estimate the model coefficients. Verify that the prediction error corresponds to the variance of the input.

[r,lg] = xcorr(x,'biased');

r(lg<0) = [];

[ar,e] = levinson(r,numel(a)-1)

ar = 1×4

1.0000 0.0772 -0.7954 -0.2493

e = 0.3909

Estimate the reflection coefficients for a 16th-order model. Verify that the only reflection coefficients that lie outside the 95% confidence bounds are the ones that correspond to the correct model order. See AR Order Selection with Partial Autocorrelation Sequence for more details.

[~,~,k] = levinson(r,16);

stem(k,'filled')

conf = sqrt(2)*erfinv(0.95)/sqrt(15000);

hold on

[X,Y] = ndgrid(xlim,conf*[-1 1]);

plot(X,Y,'--r')

hold off

f1546f461499bd87fa6ae3f8e8427d14.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/182725
推荐阅读
相关标签
  

闽ICP备14008679号