-
MATLAB中ARMA谱估计的实现
资源介绍
Matlab功率谱估计的详尽分析——绝对原创
功率谱估计是信息学科中的研究热点,在过去的30多年里取得了飞速的发展。现代谱估计主要是针对经典谱估计(周期图和自相关法)的分辨率低和方差性能不好的问题而提出的。其内容极其丰富,涉及的学科和领域也相当广泛,按是否有参数大致可分为参数模型估计和非参数模型估计,前者有AR模型、MA模型、ARMA模型、PRONY指数模型等;后者有最小方差方法、多分量的MUSIC方法等。
ARMA谱估计叫做自回归移动平均谱估计,它是一种模型化方法。由于具有广泛的代表性和实用性,ARMA谱估计在近十几年是现代谱估计中最活跃和最重要的研究方向之一。
二: AR参数估计及其SVD—TLS算法。
谱分析方法要求ARMA模型的阶数和参数以及噪声的方差已知.然而这类要求在实际中是不可能提供的,即除了一组样本值x(1),x(2),…,x(T)以供利用(有时会有一定的先验知识)外,再没有其它可用的数据.因此必须估计有关的阶数和参数,以便获得谱密度的估计.在ARMA定阶和参数之估计中,近年来提出了一些新算法,如本文介绍的SVD—TLS算法便是其中之一。
三:实验结果分析和展望
1,样本数多少对估计误差的影响。(A=[1,0.8,-0.68,-0.46])
图1 上部分为N=1000;下部分为取相同数据的前N=50个数据产生的结果。
图1 N数不同:子图一N=1000,子图二N=200,子图三 N=50
由图可知,样本数在的多少,在对功率谱估计的效果上有巨大的作用,特别在功率谱密度函数变化剧烈的地方,必须有足够多的数据才能完整的还原原始功率谱密度函数。
2,阶数大小对估计误差的影响。
A=[1,-0.9,0.76]
A=[1,-0.9,0.76,-0.776]
图二 阶数为二阶和三阶功率密度函数图
A=[1,-0.9,0.86,-0.96,0.7]
A=[1,-0.9,0.86,-0.96,0.7,-0.74]
图三 阶数为三阶和四阶功率密度函数图
如图所示,阶数相差不是很大时,并不能对结果产生较大的影响。但是阶数太低,如图二中二阶反而不能很好的估计出原始值。
3,样本点分布对估计误差
对于相同的A=[1,-0.9,0.86,-0.96,0.7];样本的不同,在估计时的误差是不可避免的。因此,我们在取得样本时,应该尽可能的减少不必要的误差。
图四:不同的样本得到不同的估计值
4,奇异值的阈值判定范围不同对结果的影响。
上图是取奇异值的阈值大于等于0.02,而下图是取阈值大于等于0.06,显然在同种数据下,阈值的选取和最终结果有密切关系。由于系数矩阵和其真实值的逼近的精确度取决于被置零的那些奇异值的平方和。所以选取太小,导致阶数增大,选取太大会淘汰掉真实的系数。根据经验值,一般取0.05左右为最佳。