MATLAB中AR模型功率谱估计中AR阶次估计的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB中AR模型功率谱估计中AR阶次估计的实现
(最近看了几个关于功率谱的问题,有关AR模型的谱估计,在此分享一下,希望大家不吝指正)
(声明:本文内容摘自我的毕业论文——心率变异信号的预处理及功率谱估计)
(按:AR模型功率谱估计是对非平稳随机信号功率谱估计的常用方法,但是其模型阶次的估计,除了HOSA工具箱里的arorder函数外,没有现成的函数可用,arorder函数是基于矩阵SVD分解的阶次估计方法,为了比较各种阶次估计方法的区别,下面的函数使用了'FPE', 'AIC', 'MDL', 'CAT'集中准则一并估计,并采用试验方法确定那一个阶次更好。)
………………………………以上省略……………………………………………………………………
假设原始数据序列为x,那么n阶参数使用最小二乘估计在MATLAB中实现如下:
复制内容到剪贴板
代码:
Y = x;
Y(1:n) = [];
m = N-n;
X = [];% 构造系数矩阵
for i = 1:m
for j = 1:n
X(i,j) = xt(n+i-j);
end
end
beta = inv(X'*X)*X'*Y';
beta即为用最小二乘法估计出的模型参数。
此外,还有估计AR模型参数的Yule-Walker方程法、基于线性预测理论的Burg算法和修正的协方差算法等[26]。相应的参数估计方法在MATLAB中都有现成的函数,比如aryule、arburg以及arcov等。
4.3.3 AR模型阶次的选择及实验设计
文献[26]中介绍了五种不同的AR模型定阶准则,分别为矩阵奇异值分解(Singular Value Decomposition, SVD)定阶法、最小预测定误差阶准则
(Final Prediction Error Criterion, FPE)、AIC定阶准则(Akaika’s Information theoretic Criterion, AIC)、MDL定阶准则以及CAT定阶准则。文献[28]中还介绍了一种BIC定阶准则。SVD方法是对Yule-Walker方
程中的自相关矩阵进行SVD分解来实现的,在MATLAB工具箱中arorder函数就是使用的该算法。其他五种算法的基本思想都是建立目标函数,阶次估计的标准是使目标函数最小化。
以上定阶准则在MATLAB中也可以方便的实现,下面是本文实现FPE、AIC、MDL、CAT定阶准则的程序(部分):
复制内容到剪贴板
代码:
for m = 1:N-1
……
% 判断是否达到所选定阶准则的要求
if strcmp(criterion,'FPE')
objectfun(m+1) = (N+(m+1))/(N-(m+1))*E(m+1);
elseif strcmp(criterion,'AIC')
objectfun(m+1) = N*log(E(m+1))+2*(m+1);
elseif strcmp(criterion,'MDL')
objectfun(m+1) = N*log(E(m+1))+(m+1)*log(N);
elseif strcmp(criterion,'CAT')
for index = 1:m+1
temp = temp+(N-index)/(N*E(index));
end
objectfun(m+1) = 1/N*temp-(N-(m+1))/(N*E(m+1));
end
if objectfun(m+1) >= objectfun(m)
orderpredict = m;
break;
end
end
orderpredict变量即为使用相应准则预测的AR模型阶次。
(注:以上代码为结合MATLAB工具箱函数pburg,arburg两个功率谱估计函数增加而得,修改后的pburg等函数会在附件中示意,名为pburgwithcriterion)
下面本文使用3.2.1实验设计的输出结果即20例经预处理的HRV信号序列作为实验对象,分别使用FPE、AIC、MAL和CAT定阶准则预测AR模型阶次,图4.1(见下页)为其中一例典型信号使用不同预测准则其目标函数随阶次的变化情况。从图中可以看出,使用FPE、AIC以及MDL定阶准则所预测的AR模型阶次大概位于10附近,即阶次10左右会使相应的目标函数最
小化,符合定阶准则的要求,使用CAT定阶准则预测的阶次较小,在5~10之间。图4.2(见下页)为另一例信号的阶次估计情况,从中也可以得到同样的结论。
(注,实验信号为实验室所得,没有上传)
搜索更多相关主题的帖子: MATLAB AR模型阶次估计
本帖最近评分记录
∙mengze财富-1 2009-9-8 10:43
∙mooni财富+12鼓励原创内容 2009-8-28 20:59
2#大中小发表于 2009-8-28 20:54 只看该作者
本文分别选择6、8、9、10、11、12、16阶AR模型进行上述20例信号序列进行频谱分析,图4.3(见下页)为其中一例信号使用不同阶次AR 模型谱估计的效果,从图4.3中可以看出,使用6阶AR模型已经可以获得比较光滑的功率谱估计,但是频率分辨率不高,谱峰不容易分辨,随着模型阶次的增大,频率分辨率逐渐增加,到16阶AR模型时,虽然频率分辨率较大了,但是随之牺牲的是频谱的方差特性,因此综合权衡谱图的方差特性以及频率分辨率的要求,本文选择11阶AR模型对HRV信号进行谱估计。