首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

AR模型

AR模型

1. AR模型概念观数字信号处理功率谱估计方法分经典功率谱估计和现代功率谱估计,现代功率谱估计以参数模型功率谱估计为代表,参数功率谱模型如下:

u(n) ——>  H(z)   ——> x(n)
参数模型的基本思路是:
—— 参数模型假设研究过程是由一个输入序列u(n)激励一个线性系统H(z)的输出。
—— 由假设参数模型的输出x(n)或其自相关函数来估计H(z)的参数
—— 由H(z)的参数估计x(n)的功率谱
因此,参数模型功率谱的求解有两步:
(1)H(z)模型参数估计
(2)依据模型参数求功率谱
AR模型(自回归模型,Auto Regression Model)是典型的现代参数功模型。其定义为


其中,输入设定为方差为的白噪声序列,ak是模型的参数,p是模型的阶数,Px为x(n)功率谱,也即本文要求解的目标。
AR模型是一个全极点模型,“自回归”的含义是:现在的输出是现在的输入和过去p个输出的加权和。
现在我们希望建立AR参数模型和x(n)的自相关函数的关系,也即AR模型的正则方程:


上面的正则方程也称Yule-Walker方程,其中的rx为自相关函数。由方程可以看出,一个p阶的AR模型有p+1个参数()。
通过推导可以发现,AR模型与线性预测器是等价的,AR模型是
在最小平方意义上对数据的拟合。

2. AR模型参数求解——Levinson-Durbin Algorithm定义为p阶AR模型在m阶次时的第k个系数,k=1,2,...,m。定义为m阶系统时的,这也是线性预测器中前向预测的最小误差功率。此时,一阶AR模型时有



我们定义初始时,则


由PART1中矩阵的对称性质,将上面的公式推广到高阶AR模型,可以推导出Levinson-Durbin递推算法:






Levinson-Durbin递推算法从低阶开始递推,,给出了每一阶次时所有参数,。这一特点有利于我们选择合适的AR模型阶次。

因为必须大于0,由式,如果,递推应该停止。
到此,选择最佳阶次的参数代入到中,求得功率谱。




3. matlab实现matlab工具箱中提供了现成的函数实现AR模型功率谱计算。参考[2],我们将内容摘录如下:



AR模型的谱估计是现代谱估计的主要内容。
1.AR模型的Yule—Walker方程和Levinson-Durbin递推算法:在MATLAB中,函数levinson和aryule都采用Levinson-Durbin递推算法来求解AR模型的参数a1,a2,……,ap及白噪声序列的方差,只是两者的输入参数不同,它们的格式为:
A=LEVINSON(R,ORDER) A=ARYULE(x,ORDER)
两函数均为定阶ORDER的求解,但是函数levinson的输入参数要求是序列的自相关函数,而函数aryule的输入参数为采样序列。
下面语句说明函数levinson和函数aryule的功能是相同的:
例子:
randn('seed',0)
a=[1 0.1 0.2 0.3 0.4 0.5];
x=impz(1,a,20)+randn(20,1)/20;
r=xcorr(x,'biased');
r(1:length(x)-1)=[];
A=levinson(r,5)
B=aryule(x,5)
2.Burg算法:
格式为:A=ARBURG(x,ORDER); 其中x为有限长序列,参数ORDER用于指定AR模型的阶数。以上面的例子为例:
randn('seed',0)
a=[1 0.1 0.2 0.3 0.4 0.5];
x=impz(1,a,20)+randn(20,1)/20;
A=arburg(x,5)
3.改进的协方差法:
格式为:A=ARMCOV(x,ORDER); 该函数用来计算有限长序列x(n)的ORDER阶AR模型的参数。例如:输入下面语句:
randn('seed',0)
a=[1 0.1 0.2 0.3 0.4 0.5];
x=impz(1,a,20)+randn(20,1)/20;
A=armcov(x,5)
返回列表