资源描述:
《基于burg算法的最大熵谱估计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Burg算法的最大熵谱估计一、实验目的使用Matlab平台实现基于Burg算法的最人熵谱估计二、Burg算法原理现代谱估计足针对经典谱估计方差性能较差、分辨率较低的缺点提出弁逐渐发展起来的,其分为参数模型谱估计和非参数模型谱估计。而参数模型谱估计主要柯A7?模型、模型、模型等,K中A/?模型应用最多。ARMA模型功率谱的数孚表达式为:P(eJ(0)=C7/=1/i+X/=!其中,为功率谱密度:5,2是激励白噪声的方差;叫和•为模型参数。若模型屮么全为0,就变成丫/U?模型,又称线性自回归模型,K•是一个全极点模型:/>(,)=a2/l+tw似/=
2、1研究表明,ARMA模型和M4模型均可用无限阶的A/?模型来表示。且模型的参数估计汁算相对简单。同时,实际的物理系统通常是全极点系统。要利用AZ?模型进行功率I普估计,必须凼h心方程求得AZ?模型的参数。而目侃求解-Walker方程主要有三种方法:Levinson-Durbin递推算法、Burg算法和协方差方法。艽中价呀算法计算结果较为准确,K对于矩的时间序列仍能彳y•到较正确的佔计,因此应用广泛。研究最人熵谱估计吋,Levinson递推一直受制于反射系数仏,的求出。而Burg算法乗着使前、后向预测误差平均功率最小的蕋本思想,不直接估计A/?模型的参
3、数,而是先估计反射系数尺„,再利用Levins观失系式求得A/?模型的参数,继而得到功率谱估计。Bwr公定义w阶前、后向预测误差为:"I/〃,⑻=2—z)⑴/=0么,(")(^-z)x(n-Z)in/=0(3)⑷由式(1)和(2)又可得到前、后预测误差的阶数递推公式:九⑻=,»+厂丄-丨(《-1)么,⑻=O)U"-U定义/〃阶前、后14预测误差平均功率为:匕=吾£[1./»
4、2+
5、心(4]n-m将阶数递推公式(3)和(4)代入(5),并令&=0,可得dKmN_w=w+里八…—"j~~N了DI人-1(4+1心-1("-1)12]H='W+1三、Burg
6、算法递推步骤Burg算法的具体实现步骤:步骤1计算预测误差功率的初始值和前、P向预测误差的初始值,并令m=l。1N2八打=1fo(n)=gQ(n)=x(n)步骤2求反射系数N-S,-i(o-uK—"=",十1…—"j—5v'~♦£[
7、人-1(")「+
8、么,-1("-1)
9、]厶n=m+步骤3计算前14预测滤波器系数am(0=am-(0+i=h…,仍—1(m)=K步骤4计算预测误差功率步骤5计兑滤波器输出A⑻O)+尺上-如-”步骤6令m-Z7Z4-1,并重复步骤2至步骤5,直到预测误差功率P,,,不再明显减小。敁后,再利用递推关系式估计A/?参数,继
10、而得到功率谱估计。P4、程序实现%%%%%%%%%%%%雉于Burg算法的鉍人熵谱估计的Matlab实现。/。%%%%%%%%%%%%%%没S两正弦小信号的归一化频率分别为0.175和0.20,信噪比SNR=30dB、N=32%%%clear,clc;%淸空内存及变景N=32;%设置离散傅甩叶变换点数,即最人阶数N为32SNR=30;%信噪比SNR取为30dBfs=l;%采样频率取为1Hzt=l:N;%采样时间点从1变化到Nt=t/fs;%得到归一化频率采样点y=sin(2*pi*0.175*t)+sin(2*pi*0.20*t);%信号归一化频率分
11、别取为0.175和0.20x=awgn(y,SNR);%在信号y屮加入品斯白啜声,信啜比为SNR设定的数值M=l;P(M)=0;Rx(M)=0;forn=l:NP(M)=P(M)+(abs(x(n)))A2;ef(l,n)=x(n);eb(l,n)=x(n);P(M)=P(M)/N;Rx(M)=P(M);M=2;A=();D=0;forn=M:N%没置起始计算的阶数M为1%预测误差功率初值设为0%fl相失函数初伉设为0%样本数从丨变化到N%计算预测误差功率和的初始值%计算前向预测误差初值,令艽等于此时的信兮序列%计算盾向预测误差初值,令其等于此时的信
12、号序列%计算出预测误差功率的初始值%设定0扣大函数初始伉%设置起始计算的阶数M为2%微分所得反射系数Km的分子,初始位设为0%微分所得反射系数Km的分母,初始位设为0%AR阶数山14变化到NA=A+ef(M-1,n)*eb(M-1,n-1);%汁算分子的和D=D+(abs(ef(M-1,n)))A2+(abs(eb(M-1,n-1)))A2;%计兑分母的和(即M阶前、后向预测误差平均功率)endKm=-2*A/D;%计算反射系数Km(此时起始阶数为2)a(M-l,M-l)=-2*A/D;%计算前句预测滤波器系数P(M)=P(M-1)*(1-(abs
13、(Km))A2);%计算预测误差功率FPE(M-1)=P(M)*(N+M)/(N-M);%设置最大预测误差平