Burg算法word文档良心出品.docx
《Burg算法word文档良心出品.docx》由会员分享,可在线阅读,更多相关《Burg算法word文档良心出品.docx(14页珍藏版)》请在冰豆网上搜索。
![Burg算法word文档良心出品.docx](https://file1.bdocx.com/fileroot1/2023-5/16/bf4aaaf2-d2cd-43b9-a056-674c7c35e354/bf4aaaf2-d2cd-43b9-a056-674c7c35e3541.gif)
Burg算法word文档良心出品
功率谱估计的古典算法与现代算法的比较
――选取周期图法与Burg算法为例
现代信号分析中,对于常见的具有各态历经的平稳随机信号,不可能用清楚的数学关系式来描述,但可以利用给定的N个样本数据估计一个平稳随机信号的功率谱密度叫做功率谱估计(PSD)。
功率谱估计可以分为经典功率谱估计(非参数估计)和现代功率谱估计(参数估计)。
一、古典功率谱估计
古典功率谱估计是将数据工作区外的未知数据假设为零,相当于数据加窗经典功率谱估计方法分为:
相关函数法(BT法)、周期图法以及两种改进的周期图估计法。
1、相关法
相关法是以相关函数为媒介来计算功率谱的,所以又叫间接法,它的理论基础是维纳--辛钦定理。
先对数据工作区外的未知数据赋值为零,再由序列x(n)估计出自相关函数R(n),最后对R(n)进行傅立叶变换,便得到x(n)的功率谱估计。
2、周期图法
周期图法是由获得的N点数据构成的有限长序列直接求fft得其频谱,取频谱幅度的平方再除以N,以此作为对x(n)真实功率谱的估计。
3、改进的周期图法
改进的周期图法的主要途径是平滑和平均。
平滑是用一个适当的窗函数与算出的功率谱进行卷积,使谱线平滑,这种方法得出的谱估计是无偏的,方差也小,但分辨率下降;平均就是将截取的数据段再分成L个平均的小段,分别计算功
率谱后取功率谱的平均,当L趋于无穷大的时候,L个平均的方差趋于零,可以达到一致谱估计的目的。
由于存在旁瓣,会产生两个后果:
一是功率谱主瓣能量泄露到旁瓣使谱估计的方差增大,二是与旁瓣卷积后得到的功率谱完全属于干扰,严重情况下,强信号与旁瓣的卷积可能大于弱信号与主瓣的卷积,使弱信号
淹没在强信号的干扰中无法检测出来。
这是古典法谱估计的主要缺点,即便是改进的周期图法也无法克服分辨率低的缺点。
我们从中选取周期图法作比较,其算法实现如下:
Fs=600;%采样频率
n=0:
1/Fs:
1;%产生含有噪声的序列
xn=cos(2*pi*40*n)+cos(2*pi*90*n)+0.1*randn(size(n));
n=1:
length(xn);
figured);
subplot(2,1,1);
plot(n,xn);
window=boxcar(length(xn));%矩形窗
nfft=1024;
[Pxx,f]=periodogram(xn,window,nfft,Fs);
subplot(2,1,2);
plot(f,10*log10(Pxx));
得到的图形为:
AR模型参数的求解有三种方法:
Burg算法不是直接估计AR模型的
二、现代谱估计
参数模型法是现代谱估计中的主要内容,自相关法、Burg递推算法和改进协方差法。
参数,而是先估计反射系数Km,再利用Levinson关系式求得AR模型的参数。
Burg算法采用的数据加窗方法是协方差法,不含有对已知数据段之外的数据做人为的假设。
1.其原理如下:
Burg算法是使前向预测误差和后向预测误差均方误差之和最小来求取Km
的,它不对已知数据段之外的数据做认为假设。
计算m阶预测误差的递推表示
公式如下:
ffb
em(n)二em-i(n)+kmem-i(n"1)
bbf
em(n)二em-i(n-1)+kmem-1(n)
fb
e0(n)=00(n)=x(n)
求取反射系数的公式如下:
fb
=2E[em-i(n)em-i(n-1)]
kmif2b2
E{[em-1(n)]+[em-1(n-1)]}
对于平稳随机过程,可以用时间平均代替集合平均,因此上式可写成:
N-1
2送em-1(n)em-1(n-e
km=-,m=1,2,…,p
kmZt(n)2+E)f}p
nm
这样便可求得AR模型的反射系数。
将m阶AR模型的反射系数和m-1阶AR模型的系数代入到Levinson关系式中,可以求得AR模型其他的P-1个参数。
Levinson关系式如下:
am(i)=am-1(i)十kmam-1(m-i),i二1,2,…,m-1
m阶AR模型的第m+1个参数G,
Q=P
m
其中p是预测误差功率,可由递推公式
m
易知为进行该式的递推,必须知道0阶AR模型误差功率P0
^=ex2(n)LRx(0)
可知该式由给定序列易于求得。
完成上述过程,即最终求得了表征该随机信号的AR模型的P+1个参数。
然后根据
Sx(e号=cr2dH(j)
即可求得该随机信号的功率谱密度。
2.Burg算法的Matlab运算程序如下:
clearall
N=512;
f1=0.19;
f2=0.21;
n=1:
N;
x(n)=sin(2*pi*n*f1)+sin(2*pi*n*f2)+2*randn(size(n));subplot(2,1,1);
plot(n,x(n));xlabel('n');ylabel('x(n)');
titleC两个正弦信号与白噪声叠加的时域波形');
p=input('InputaNumber>')
ef=zeros(p,N);
eb=zeros(p,N);de=zeros(p,p);ef(1,:
)=x(n);eb(1,:
)=x(n);cov
(1)=x*x7N;k
(1)=0;
form=2:
p+1
mol=0;
den=0;
forn=m:
N
mol=mol+(-2)*ef(m-1,n)*eb(m-1,n-1);
den=den+(ef(m-1,n))A2+(eb(m-1,门-1))八2;end
k(m)=mol./den;
de(m,m)=k(m);
h
(1)=cov
(1)*(1-de(1,1)A2);
forn=m:
N
ef(m,n)=ef(m-1,n)+k(m).*eb(m-1,n-1);
eb(m,n)=eb(m-1,n-1)+k(m)*ef(m-1,n);end
end
k=k(1,2:
p+1);
de=de(2:
p+1,2:
p+1);
form=2:
p
fori=1:
m-1de(m,i)=de(m-1,i)+k(m)*de(m-1,m-i);h(m)=h(m-1)*(1-k(m)A2);
end
end
z=de(p,:
);
s=[1,z];
n=(0:
511)/512;
Hw=fft(s,512);
subplot(2,1,2);
plot(n,h(p)./abs(Hw).A2);xIabelC频率(Hz)');
ylabel('10log(PSD)');
titleC基于burg算法的功率谱估计');
3.其运行结果如下:
两个正弦信号与白噪声a加的吋域波形
w5or-w
600
n
基于匕口电算法的功率谱估计
—•、
0.1020.30.4050.6□./080.9
频率(Hz)
两个正弦信号与白噪声4加的B寸域波形
n
基于burg算法的功率谱估计
SX
10D
20D
400
5DD
占
300
n
基于hurg算法的功率谱估计
600
频率(Hz)
ODO
321(dsdw君L
两个正弦信号与白嗓声叠加的时域波形
3DD
n
基于burg算法的功率谱估计
P=50
两个正弦信号与白噪声叠加的吋域波形
10
1
1
111
111
1
州-
1
0100200300400500600
n
基于bu电算法的功率谱估计
1
汀■八人
■11111
1a|\
1—J"广j—卜广r'yE气—■■—
11
yUjJV-h』L“,一
5
-5
-1D
1D0
50
冒0
00.10.20.30.40.50.60.70.80.9
频率(Hz)
0
P=60
两个正弦信号与白噪声叠加的时域波形
10
1
1
11
11
1
删/fifi
1
1
1
0100200300400500600
n
基于txRg算法的功率谱估计
11
A=-^\
11111
11
5
-5
-10
80
60
40
20
吕0
00.10.20.3D.40.5D.B
频率(缶)
0
080.9
150
基于burg算法的功率谱怙计
r
r111111
1
.一%
1
.I.
100
50
00.10.20.3040.50.60.70.80.9
频率(缶)
0
P=100
(sd耳一OL
k
D
op
□
P=120
P=130
o
2nu
4a
z
H
ooo
642
P=160
结果分析:
Burg算法求解AR模型
Burg算法来说,P即当P介于50和80
1、从图中我们可以清晰的看到Burg算法的优越性,
的过程是非常稳定的,而且具有很高的分辨率。
当然对于阶数的选择是至关重要的,我们从实验结果图中可以看出,
之间时,得到的频谱图是较优越的,P在130左右时频谱图是最优越的,这也符合了经验定理,对于512点的频谱图分析,P应介于130和250之间。
而当P的阶数过小的时候,会无法分辨出离的较近的两个频谱,P过大频谱图会出现过多
伪峰,导致分辨率严重下降。
2、对比周期图法我们会发现,其抗干扰能力远不如Burg算法,且离散性大,曲线粗糙,方差较大,但其分辨率是很高的。
现代谱估计方法曲线明显比经典谱估计方法光滑,说明其处理结果的方差比经典谱估计方法处理的结果小。