当前位置:文档之家› Burg算法最大熵谱估计的VC++仿真分析

Burg算法最大熵谱估计的VC++仿真分析

第10卷第3期2002年9月

北京石油化工学院学报

JournalofBeijingInstituteof

Petro—chemicalTechnology

V01.10No.3

Sep.2002

Burg算法最大熵谱估计的VC++仿真分析

张威张路纲

(北京石油化工学院自动化系,北京102617)

摘要介绍了现代功率谱估计中的Burg算法最大熵谱估计的基本原理,并采用Vc++语言对功率谱密度(PSD)进行了仿真。同时比较了Burg算法和经典谱估计中Bartlett周期图法,针对Burg算法中的模型阶次的选择进行了分析,提出了最佳模型阶次采用最终预报误差(FPE)为准则的结论。

关键词谱估计;Burg;Bartlett;最终预报误差

中图法分类号TN911.72

目前,在《数字信号处理》的教学中对功率谱的仿真分析多采用MATLAB语言进行,MAT—LAB语言虽有着强大的数学计算能力,但其作为一种解释性语言,有着实时效率差,不能脱离其运行环境,不能实现端口操作和实时控制,界面不友好,不易于对多种方式的频谱估计效果进行比较分析等缺点。

笔者直接使用VC++来对功率谱估计中常用的Burg算法最大熵谱估计进行仿真分析,从而避免使用MATLAB语言所带来的问题,运用VC++仿真程序也可使人们更好的理解什么是一致估计,什么是无偏估计,如何判断Burg算法的AR模型阶次等问题。

1Burg算法最大熵谱估计的基本原理

最大熵谱估计是由Burg(1967年)提出的一种现代谱分析法。用这种方法可以预测观测区间以外的数据,从而解决了经典谱估计算法中加窗所带来的分辨率下降等问题。由于最大熵法的一系列优点,它成了近十几年现代谱分析中极其活跃的一个研究领域,并广泛应用于通信、化学、医学、经济学等领域。

Burg算法通过使前、后向预测误差的平均功率最小来计算反射系数,以Levinson—Durbin

收稿日期:2002—04一01递推为约束条件,求出信号的功率谱11I。其具体步骤如下:

(1)计算初始值

吼(o)=面1∑I石(it)f2

eo(n)=bo(n)=戈(It)

(2)令P=1,求反射系数

2∑‰l(n)bp一1(It)

K=一1}L—————一(1)

∑∽2一。(It)+6;一。]

all=K1,仃}=(1一lK12)驴。(0)

(3)由Kl和下述公式,求出el(n)、b。(n)

ep(乃)=ep一1(n)+%%一1(n一1)

bp(凡)=bp一1(n一1)+砗ep—l(n)

再由式(1)估计砭。

(4)仿照唧&=ap—l,k+砗唧一l,p一^及%=砗的Levinson递推关系,求出P=2时,a2l,a22,仃;。

(5)重复上述过程,直到P等于所需AR模型阶数,求出所有的AR模型参数。扪再用下述公式求出功率谱密度:

^2

如≮∽2F1翻ae+>:。}一pⅦ’l

2Burg算法最大熵谱估计的

VC++仿真结果分析

利用VC++编写仿真程序,对仿真结果进

万方数据

相关主题
文本预览
相关文档 最新文档