您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > burg算法和周期图法的比较
burg算法和周期图法的比较一、原理方法1.burg算法burg算法确定AR模型的参数不需要估算自相关序列,这种方法是建立在线性预测基础上的,并用格型结构实现预测误差滤波器。在输入信号x(n)自左向右的传递过程中,可以同时得到不同阶次时的前向与后向预测误差,由此求出各阶反射系数,然后利用Levinson关系即可由反射系数求得AR参数。2.周期图法周期图法谱估计先由获得的N点数据构成的有限长序列直接求出傅里叶变换,得到频谱,再取其频谱幅度的平方,并除以N,以此作为对信号真实功率谱的估计。3.matlab知识产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:x=0.6+sqrt(0.1)*randn(5)二、算法1.burg算法1)步骤:已知条件)()()(00nxmemebf求km。11111)]}1([)]({[)]1()([2NmnbmfmNmnbmfmmnenenenek求)(mefm、)(mebm)1()()(11neknenebmmfmfm,)1()()(11neknenefmmbmbm求)(iam:1,...,2,1),()()(11miimakiaiammmm求m:)1(21mmmk,其中2p计算功率谱)(jweS2121)(pkjwkkjweaeS2.周期图法1)步骤:由获得的N点数据构成的有限长序列xN(n)直接求傅里叶变换,的频谱)(jwNeX,即jwNnNjwNenxeX)()(10取频谱幅度的平方,并处以N,以此作为对x(n)真实功率谱)(jwxeS的估计,即2)(1)(ˆjwNjwxeXNeS2)周期图法谱估计运算框图三、仿真结果x(n)N点FFT2)(1kXNN)(nxN)(kXN)(ˆkSx截断)(nRN020406080100120140-10-50510tx(t)两个正弦信号与白噪声叠加的时域波形00.20.40.60.810100200300400500600700频率(Hz)10log(PSD)基于burg算法的功率谱估计00.20.40.60.81-10010203040周期图法功率谱估计四、结果分析有实验结果可知,当两信号频率很近时,经典法无法分辨出两信号,不仅分辨率低,方差也大。相比之下,参数法的分辨率很高,很容易就可以从图中分辨出两个信号的频率一个是0.2,一个是0.213甚至可以从图中看出两信号幅度的关系,而且方差也相当小。而burg算法更是由于不需要估计自相关函数因而比另外两种参数法更有优势。在处理短数据、分辨率要求高时,用参数法,特别是burg法更有优势。关于阶次p的选择,如果阶次选的太低,相应的AR模型的极点就少,那么AR谱的谱峰就少,导致平滑的谱估计值,使真实谱中的谱峰难以分辨,谱分辨率下降。如果阶次选的太高,虽然可以提高谱估计的分辨率,但同时会产生虚假的谱峰(伪峰)或谱的细节。AR模型的阶次应该选择在23NpN之间。本题选的是p=60。五、程序clearallN=128;Xn=6*N;f1=0.2;f2=0.213;t=1:N;x(t)=20^(1/2)*sin(2*pi*t*f1)+2^(1/2)*sin(2*pi*t*f2)+2*randn(size(t));subplot(2,2,1);plot(t,x(t));gridon;xlabel('t');ylabel('x(t)');title('两个正弦信号与白噪声叠加的时域波形');%burgp=60;ef=zeros(p,N);eb=zeros(p,N);a=zeros(p,p);ef(1,:)=x(t);eb(1,:)=x(t);sp=x*x'/N;%信号能量=x*x'=x(1)^2+...+x(n)^2form=2:p+1zi=0;mu=0;forn=m:Nzi=zi+(-2)*ef(m-1,n)*eb(m-1,n-1);mu=mu+(ef(m-1,n))^2+(eb(m-1,n-1))^2;endk(m-1)=zi./mua(m-1,m-1)=k(m-1);rou(1)=sp*(1-a(1,1)^2);forn=m:Nef(m,n)=ef(m-1,n)+k(m-1).*eb(m-1,n-1);eb(m,n)=eb(m-1,n-1)+k(m-1).*ef(m-1,n);endend%k=k(1,1:p);%a=a(1:p,1:p);form=2:pfori=1:m-1a(m,i)=a(m-1,i)+k(m)*a(m-1,m-i);rou(m)=rou(m-1)*(1-k(m)^2);endendz=a(p,:);s=[1,z];Hw=fft(s,Xn);w1=0:1/Xn:(1-1/Xn);subplot(2,2,2);plot(w1,rou(p)./abs(Hw).^2);gridon;xlabel('频率(Hz)');ylabel('10log(PSD)');title('基于burg算法的功率谱估计');%经典法.周期图法L=1;S2=0;fori=1:L;xn(i,:)=x((((i-1)*N+L)/L):(i*N/L));S1=abs(fft(xn(i,:),N/L)).^2/(length(t)/L);S2=S2+S1;endS=10*log10(S2);w2=0:1/(N/L):(1-1/(N/L));subplot(2,2,3),plot(w2,S),gridon;axis([0,1,-10,40]);title('周期图法功率谱估计');
本文标题:burg算法和周期图法的比较
链接地址:https://www.777doc.com/doc-6140019 .html