基于Burg算法的最大熵谱估计

合集下载

基于BURG算法的谱估计研究及其MATLAB实现课件

基于BURG算法的谱估计研究及其MATLAB实现课件

三、经典谱估计
当f1=20, f2=40时得到的仿真结果如图3.5所示。 当f1=100, f2=1000时得到的仿真结果如图3.6 所示。
图3.5
图3.6
三、经典谱估计
当噪声方差 =1和 =10的仿真结果分别如图 3.7所示和图3.8所示。
图3.7
图3.8
三、经典谱估计
仿真结果: 间接法实现时在噪声信号很小的情况 下, 图3.5得到的谱线基本能分辨出两个频率值来, 但是也出现大量假峰。图3.6也能分辨出两个频率值, 假峰减少, 说明间接法在这种情况下得到的效果要
声信号增大到原来的100倍时就无法分辨两个频率 值, 而且通过多次仿真看出, 当噪声信号增大到10倍 以
后就不能分辨出两个频率点的峰值。
三、经典谱估计
■ 3.2 间接法及MATLAB仿真
结果
的估
■ 间接法又称自相关法, 记 为对计, 即
当M较小时, 上式的计算量不是很大, 因此, 此 方法是在FFT问世之前(即周期图被广泛应用之前) 常用的谱估计方法。
四、现代谱估计
当阶数=10时得到的仿真结果如图4.1所示。 当阶数=15时得到的仿真结果如图4.2所示。
图4.1
图4.2
四、现代谱估计
仿真结果: Levinson-Durbin算法得到的谱线波 动性小, 能很好的分辨出两个频率值, 而且没有出 现假峰现象。当增大阶数时得到的结果跟阶数小的 结果不相上下, 并没有增大频率分辨率, 反而增大 了计算次数。
仿真结果比较可得: 四种算法都能分辨出两个频 率值,可以明显看出直接法和间接法得到的仿真结果 出现了大量假峰,且谱的波动性较大,而 LevinsonDurbin算法和BURG算法得到的仿真结果很平滑,没有 出现假峰现象,能清楚的分辨出两个频率点的值,分 辨率远比经典谱估计要好,所以从仿真的结果也可以 看出现代谱估计性能比经典谱估计好。

现代信号处置最大熵谱估计

现代信号处置最大熵谱估计

M k 1
Ak2
1
2
exp[
j(k m)]dk
M
Ak2 exp[ j(k m)] k 1
(5.5.2)
假如c(n)与u(n)时互不有关旳,则x(n)旳自有关函数为:
M
R(m) Ak2 exp[ j(k m)] u (m) k 1
x(n)旳功率谱为:
m 0,1, , p(5.5.3)
假设:信号 x n是由M个复正弦信号加白噪声构成,即:
M
x n Ak e j(knk ) u(n) c n u n k 1
(5.5.1)
式中:k是[- , ]内均匀分布的零均值随机变量, u(n)为白噪声,A k 和k 为常数
c(n) 旳自有关函数为:
R '(m) E[c(n)c*(n m)]
当代数字信号处理
第五章 功率谱估计
内容摘要
• 5.1 概述 • 5.2 经典谱估计旳基本措施
5.2.1 周期图 5.2.2 有关图 • 5.3 功率谱估计旳参数模型法 5.3.1 AR谱估计旳有关函数法
5.3.2 AR参数谱估计与最佳线性预测器旳关系 5.3.3 Levinson-Durbin算法 5.3.4 Burg算法 5.3.5 AR谱估计旳性质 5.3.6 MA谱估计、ARMA谱估计 5.4 最大熵谱分析 5.5 特征分解法谱估计 5.5.1 Pisarenko谐波分解与有关矩阵旳特征分解 5.5.2 基于信号子空间旳频率估计及功率谱估计
☆ N维高斯分布:
p( x1 ,
x2 ,,
xN
)
(2
)N
/2
det
R(N )
1/ 2
exp
1 2
X

burg法实现功率谱估计

burg法实现功率谱估计

用burg 法实现功率谱估计参数模型法是现代谱估计中的主要内容,AR 模型参数的求解有三种方法:自相关法、Burg 递推算法和改进协方差法。

Burg 算法不是直接估计AR 模型的参数,而是先估计反射系数Km,再利用Levinson 关系式求得AR 模型的参数。

Burg 算法采用的数据加窗方法是协方差法,不含有对已知数据段之外的数据做人为的假设。

1.其原理如下:Burg 算法是使前向预测误差和后向预测误差均方误差之和最小来求取Km 的,它不对已知数据段之外的数据做认为假设。

计算m 阶预测误差的递推表示公式如下:x(n)(n)(n)(n)1)-(n (n)1)-(n (n)(n)0f 0f 1-m m 1-b m 1-m f 1-m m e e e e ==+=+=e k e e k e b b m b m f求取反射系数的公式如下:}1)]-(n [(n)]{[1)]-(n (n)[2-2b 1-m 2f 1-m b 1-m f 1-m m e e e e +=E E k 对于平稳随机过程,可以用时间平均代替集合平均,因此上式可写成:[][][][]{}p ,2,1,1)-(n (n)1)-(n (n)2-1-21-21-1-mn 1-1-,⋯=+=∑∑==m N m n b m f m N b m f m m e e e e k 这样便可求得AR 模型的反射系数。

将m 阶AR 模型的反射系数和m-1阶AR 模型的系数代入到Levinson 关系式中,可以求得AR 模型其他的p-1个参数。

Levinson 关系式如下:1-m 1,2,i i),-(m (i)(i)1-m 1-m m ,⋯=+=a k a a mm 阶AR 模型的第m+1个参数G ,ρm 2G =,其中ρm 是预测误差功率,可由递推公式)-(12m 1-m m k ρρ= 求得。

易知为进行该式的递推,必须知道0阶AR 模型误差功率ρ0 ρ0=[](0)(n)E x 2R x = 可知该式由给定序列易于求得。

基于Burg算法的最大熵谱估计

基于Burg算法的最大熵谱估计

基于Burg 算法的最大熵谱估计一、 实验目的使用Matlab 平台实现基于Burg 算法的最大熵谱估计二、 Burg 算法原理现代谱估计是针对经典谱估计方差性能较差、分辨率较低的缺点提出并逐渐发展起来的,其分为参数模型谱估计和非参数模型谱估计。

而参数模型谱估计主要有AR 模型、MA 模型、ARMA 模型等,其中AR 模型应用最多。

ARMA 模型功率谱的数学表达式为:212121/1)(∑∑=-=-++=p i i j i q i i j i j e a e b e P ωωωσ其中,P(e j ω)为功率谱密度;s 2是激励白噪声的方差;a i 和b i 为模型参数。

若ARMA 模型中b i 全为0,就变成了AR 模型,又称线性自回归模型,其是一个全极点模型: 2121/)(∑=-+=p i i j i j e a e P ωωσ研究表明,ARMA 模型和MA 模型均可用无限阶的AR 模型来表示。

且AR 模型的参数估计计算相对简单。

同时,实际的物理系统通常是全极点系统。

要利用AR 模型进行功率谱估计,必须由Yule - Walker 方程求得AR 模型的参数。

而目前求解Yule - Walker 方程主要有三种方法: Levinson-Durbin 递推算法、Burg 算法和协方差方法。

其中Burg 算法计算结果较为准确,且对于短的时间序列仍能得到较正确的估计,因此应用广泛。

研究最大熵谱估计时,Levinson 递推一直受制于反射系数K m 的求出。

而Burg 算法秉着使前、后向预测误差平均功率最小的基本思想,不直接估计AR 模型的参数,而是先估计反射系数K m ,再利用Levinson 关系式求得AR 模型的参数,继而得到功率谱估计。

Burg 定义m 阶前、后向预测误差为:∑=-=mi m m i n x i a n f 0)()()( (1)∑=*--=mi m i n x i m a n g m 0)()()( (2) 由式(1)和(2)又可得到前、后预测误差的阶数递推公式:)1()()(11-+=--n g K n f n f m m m m (3))1()()(11-+=--*n g n f K n g m m m m (4)定义m 阶前、后向预测误差平均功率为:∑=+=Nmn m m m n g n f P ])()([2122(5) 将阶数递推公式(3)和(4)代入(5),并令0=∂∂mmK P ,可得∑∑+=--+=*---+--=N m n m m Nm n m m m n g n f n g n f K 12121111])1()([21)1()((6)三、 Burg 算法递推步骤Burg 算法的具体实现步骤:步骤1 计算预测误差功率的初始值和前、后向预测误差的初始值,并令m = 1。

基于最大熵谱估计的频谱感知方法的研究

基于最大熵谱估计的频谱感知方法的研究

set m sni ae nM x u n oyset l s m t n( S p c e s gb sdo a i m e t p c a et a o ME E)i po oe .T er ia aay u r n m r p r i i s rp sd hoe cl nl t —
tv rl s o i e wiee sc mmu i ain y tm . n c to s s se
Ke r s:Co n t e Ra i y wo d g ii d o;S e tu Se sn v p cr m n i g;MES E
的不确 定 性对 能 量 检 测 的影 响 很 大 J 。匹 配 滤 波
Tlcmm nctn , eig10 7 ,C ia e o uia os Bin 0 86 h ) e i j n
A b t a t p cr s r c :S e tum e sn st e ke e h oo y o o n tv a i y t ms I s a e t e s o ttr s n ig i h y tc n l g fc g iie r d o s se . tmu th v h h r—e m
0 引 言
频谱感知是认 知无线电的重要组成部分 , 通过
主动 检测 授权 用 户 ( U,r ayues 频 段 闲置 的 P pi r sr) m
器法可 以获 得好 的频 谱 感知 结 果 , 是必 须 知道 主 但 用户信 号 的先验 知识 , 系统 实 现 复 杂。循 环谱 检 测
第 5期 21 0 0年隍罾 .
J u n l fC I o r a AE T o
V0. . 15 No 5 0c . 2 0 t 01

第6讲 谱估计4.最大熵法

第6讲 谱估计4.最大熵法
P
(M ) min
k =1
= σ = E e( n)
2 p *
[
2
]
M ( = E e( n)( x ( n) + ∑ ak M ) x ( n k ))* k =1
M * (M ) = E e ( n ) x ( n ) = E x ( n ) + ∑ a k x ( n k ) x ( n ) k =1 ( ( = Rx (0) + a1( M ) Rx (1) + a2M ) Rx ( 2) + + a MM ) Rx ( M )
n 1 H = E I j = ∑ p j log10 = ∑ p j log10 p j pj j =1 j =1
[ ]
n
信息量
可见熵是消息源发出每个消息的平均信息量。
对于高斯分布的随机变量,布卡乔夫证明了其熵和
1 自协方差矩阵间存在关系:H = log 10 det [c x ] 2
当时间序列为零均值时,熵和自相关函数之间存在 关系 : H = 1 log10 det[R x ]
[
]
合并整理,得到:
R x ( 0) R (1) x R x ( 2) Rx ( M ) Rx (1) R x (0) Rx (1) Rx ( M 1)
(M Rx ( M ) 1 Pmin ) Rx (1) Rx ( M 1) a1( M ) 0 (M ) R x ( 0) R x ( M 2) a 2 = 0 ( R x ( M 2) Rx (0) a MM ) 0
k =0

M
当估值均方误差达到最小时,满足正交原理。即 简化后,得:
∧ E[e(n) x(n m)] = E(x(n) x(n))x(n m) = 0 m = 0,1,2,, M

最大熵谱估计在昆虫鸣声特征提取中的应用

最大熵谱估计在昆虫鸣声特征提取中的应用

而自相关函数 R x (m ) 和功率谱 Sx ( f ) 分别满 足以下关系式:
c R x (m ) = Q - fc S x ( f ) e
f
j2P /mT
df
Sx ( f ) = Tm =E R x (m ) e - ]
]
- j2P /mT
要根据已知自相关函数 R x (m )的前 M 个值估 计未知自相关函数 , 并且保证熵最大, 必须满足下 列条件: 5h = 0 , 其中 |m | E M + 1 5R x (m )
*
是一个 M 阶 F IR 滤波器 , 称为预测
^ M (M )
滤波器 , 预测误差为 e( n ) = x ( n) - x ( n) = kE ak x ( n- k ) = 0 误差功率为 : P = E [ e( n) ] 为使预测误差均方最小, 令 误差功率 P 为最 小 , 相 应可 得 M 阶 预 测 滤波 器 方 程, 即 Yule W alker 方程 , 根据该方程即可得推导公式 : am
(M ) (M ) 2
4 实验结果分析
本项研究所用的蟋蟀鸣声均选自油葫芦属, 分 别为 : 北京油葫芦、 黑脸油葫芦 , 由于它们在外观上 非常相似, 单用观察的方法很难区分开来 , 而不同 种类蟋蟀的鸣声存在着一定差异, 为此我们对其鸣 声信号进行频域分析 , 提取特征参数来实现对它们 的区分。图 1 、 2 是采用经典谱估计法 FFT 法对鸣 声信号处理后的功率谱, 图 3 、 4 为用 Burg 法的最 大熵谱估计法对鸣声信号处理后的功率谱。
图4
PDA 的手机模块结构
所用的元器件多 , 程序编写的工作量大, 所以刚进 入市场, 价格一定不便宜。

基于BURG算法的谱估计研究及其MATLAB实现

基于BURG算法的谱估计研究及其MATLAB实现

编号毕业设计(论文)题目:基于BURG算法的谱估计研究及其MATLAB实现XX大学XX学院本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文)基于BURG算法的谱估计研究及其MATLAB实现是本人在导师的指导下独立进行研究所取得的成果,其内容除了在毕业设计(论文)中特别加以标注引用,表示致谢的内容外,本毕业设计(论文)不包含任何其他个人、集体已发表或撰写的成果作品。

班级:学号:作者姓名:年月日xx大学xx学院机电系电子信息工程专业毕业设计论文任务书一、题目及专题:1、题目基于BURG算法的谱估计研究及其MATLAB实现2、专题二、课题来源及选题依据功率谱估计在近30年中获得了飞速发展。

涉及到信号与系统、随机信号分析、概率统计、随机过程、矩阵代数等一系列学科,广泛应用于雷达、声纳、通信、地质、勘探、军事、天文、生物医学工程等众多领域。

实际中,数字信号的功率谱只能用所得的有限次记录的有限长数据来予以估计,这就产生了功率谱估计这一研究领域。

功率谱的估计大致可分为经典功率谱估计和现代功率谱估计,针对经典谱估计的分辨率低和方差性能不好等问题提出了现代谱估计,AR模型谱估计就是现代谱估计常用的方法之一。

三、本设计(论文或其他)应达到的要求:①熟悉谱估计的发展历程;②熟练掌握经典谱估计方法:直接法和间接法、它们之间的关系、估计质量、以及估计性能比较;③熟练掌握现代谱估计方法:信号建模、AR模型以及AR模型参数求解的Levinson-Durbin算法和BURG算法,阶数的确定方法和原则,稳定性以及对信号建模的讨论;④能够熟练使用MATLAB仿真。

针对一个具体的随机信号,分别采用经典谱估计和现代谱估计方法估计出其功率谱,对经典谱估计和现代谱估计方法谱估计的分辨率和方差性能作一个综合评价;⑤熟练使用MATLAB提供的图形用户界面(GUI)工具。

四、接受任务学生:班姓名五、开始及完成日期:自XXXX年X月XX日至XXXX年X月XX日六、设计(论文)指导(或顾问):指导教师签名签名教研室主任〔学科组组长〕签名研究所所长系主任签名XXXX年XX月XX日摘要在许多工程信号问题中,功率谱的估计是十分重要的,它不仅是了解信号所含有信息的工具,也是信号内在本质的一种表现形式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Burg 算法的最大熵谱估计一、 实验目的使用Matlab 平台实现基于Burg 算法的最大熵谱估计二、 Burg 算法原理现代谱估计是针对经典谱估计方差性能较差、分辨率较低的缺点提出并逐渐发展起来的,其分为参数模型谱估计和非参数模型谱估计。

而参数模型谱估计主要有AR 模型、MA 模型、ARMA 模型等,其中AR 模型应用最多。

ARMA 模型功率谱的数学表达式为:212121/1)(∑∑=-=-++=p i i j i q i i j i j e a e b e P ωωωσ其中,P(e j ω)为功率谱密度;s 2是激励白噪声的方差;a i 和b i 为模型参数。

若ARMA 模型中b i 全为0,就变成了AR 模型,又称线性自回归模型,其是一个全极点模型: 2121/)(∑=-+=p i i j i j e a e P ωωσ研究表明,ARMA 模型和MA 模型均可用无限阶的AR 模型来表示。

且AR 模型的参数估计计算相对简单。

同时,实际的物理系统通常是全极点系统。

要利用AR 模型进行功率谱估计,必须由Yule - Walker 方程求得AR 模型的参数。

而目前求解Yule - Walker 方程主要有三种方法: Levinson-Durbin 递推算法、Burg 算法和协方差方法。

其中Burg 算法计算结果较为准确,且对于短的时间序列仍能得到较正确的估计,因此应用广泛。

研究最大熵谱估计时,Levinson 递推一直受制于反射系数K m 的求出。

而Burg 算法秉着使前、后向预测误差平均功率最小的基本思想,不直接估计AR 模型的参数,而是先估计反射系数K m ,再利用Levinson 关系式求得AR 模型的参数,继而得到功率谱估计。

Burg 定义m 阶前、后向预测误差为:∑=-=mi m m i n x i a n f 0)()()( (1)∑=*--=mi m i n x i m a n g m 0)()()( (2) 由式(1)和(2)又可得到前、后预测误差的阶数递推公式:)1()()(11-+=--n g K n f n f m m m m (3))1()()(11-+=--*n g n f K n g m m m m (4)定义m 阶前、后向预测误差平均功率为:∑=+=Nmn m m m n g n f P ])()([2122(5) 将阶数递推公式(3)和(4)代入(5),并令0=∂∂mmK P ,可得∑∑+=--+=*---+--=N m n m m N m n m m m n gn f n g n f K 12121111])1()([21)1()((6)三、 Burg 算法递推步骤Burg 算法的具体实现步骤:步骤1 计算预测误差功率的初始值和前、后向预测误差的初始值,并令m = 1。

210)(1∑==N n n x N P)()()(00n x n g n f ==步骤2 求反射系数∑∑+=--+=*---+--=N m n m m N m n m m m n g n f n g n f K 12121111])1()([21)1()(步骤3 计算前向预测滤波器系数),()()(11i m a K i a i a m m m m -+=*-- 1,...,1-=m im m K m a =)(步骤4 计算预测误差功率12)1(--=m m m P K P步骤5计算滤波器输出 )1()()(11-+=--n g K n f n f m m m m)1()()(11-+=--*n g n f K n g m m m m步骤6 令m ← m+1,并重复步骤2至步骤5,直到预测误差功率P m 不再明显减小。

最后,再利用Levinson 递推关系式估计AR 参数,继而得到功率谱估计。

四、 程序实现%%%%%%%%%%%%基于Burg 算法的最大熵谱估计的Matlab 实现%%%%%%%%%%%% %%%设置两正弦小信号的归一化频率分别为0.175和0.20,信噪比SNR=30dB 、N=32%%% clear,clc; %清空内存及变量N=32; %设置离散傅里叶变换点数,即最大阶数N 为32 SNR=30; %信噪比SNR 取为30dBfs=1; %采样频率取为1Hzt=1:N; %采样时间点从1变化到Nt=t/fs; %得到归一化频率采样点y=sin(2*pi*0.175*t)+sin(2*pi*0.20*t); %信号归一化频率分别取为0.175和0.20 x=awgn(y,SNR); %在信号y 中加入高斯白噪声,信噪比为SNR 设定的数值 M=1; %设置起始计算的阶数M 为1P(M)=0; %预测误差功率初值设为0Rx(M)=0; %自相关函数初值设为0for n=1:N %样本数从1变化到NP(M)=P(M)+(abs(x(n)))^2; %计算预测误差功率和的初始值ef(1,n)=x(n); %计算前向预测误差初值,令其等于此时的信号序列 eb(1,n)=x(n); %计算后向预测误差初值,令其等于此时的信号序列 endP(M)=P(M)/N; %计算出预测误差功率的初始值Rx(M)=P(M); %设定自相关函数初始值M=2; %设置起始计算的阶数M 为2A=0; %微分所得反射系数Km 的分子,初始值设为0 D=0; %微分所得反射系数Km 的分母,初始值设为0 for n=M:N %AR 阶数由M 变化到NA=A+ef(M-1,n)*eb(M-1,n-1); %计算分子的和D=D+(abs(ef(M-1,n)))^2+(abs(eb(M-1,n-1)))^2; %计算分母的和(即M阶前、后向预测误差平均功率) endKm=-2*A/D; %计算反射系数Km(此时起始阶数为2)a(M-1,M-1)=-2*A/D; %计算前向预测滤波器系数P(M)=P(M-1)*(1-(abs(Km))^2); %计算预测误差功率FPE(M-1)=P(M)*(N+M)/(N-M); %设置最大预测误差平均功率TH=FPE(M-1);for n=M:N %AR阶数由M变化到Nef(M,n)=ef(M-1,n)+Km*eb(M-1,n-1); %计算滤波器输出的前向预测误差eb(M,n)=eb(M-1,n-1)+Km*ef(M-1,n); %计算滤波器输出的后向预测误差endM=M+1; %阶数叠加,以便递推计算下一阶数据A=0; %反射系数Km的分子,初始值设为0D=0; %反射系数Km的分母,初始值设为0for n=M:N %同前,进行递推运算A=A+ef(M-1,n)*eb(M-1,n-1);D=D+(abs(ef(M-1,n)))^2+(abs(eb(M-1,n-1)))^2;endKm=-2*A/D;a(M-1,M-1)=-2*A/D;P(M)=P(M-1)*(1-(abs(Km))^2);FPE(M-1)=P(M)*(N+M)/(N-M);for m=1:M-2 %AR阶数m由1变化到(M-2)a(M-1,m)=a(M-2,m)+Km*a(M-2,M-1-m); %递推计算各阶前向预测滤波器的系数endwhile FPE(M-1)<TH %比较此刻阶数的误差平均功率与之前设置的平均功率的大小TH=FPE(M-1); %小于之前数值时,覆盖得到新的最小平均功率,并进行递推运算for n=M:Nef(M,n)=ef(M-1,n)+Km*eb(M-1,n-1); %递推计算滤波器输出的各阶前向预测误差eb(M,n)=eb(M-1,n-1)+Km*ef(M-1,n); %递推计算滤波器输出的各阶后向预测误差endKm=-2*A/D; %反射系数a(M-1,M-1)=-2*A/D; %前向预测滤波器系数P(M)=P(M-1)*(1-(abs(Km))^2); %预测误差功率FPE(M-1)=P(M)*(N+M)/(N-M);for m=1:M-2 %AR阶数m由1变化到(M-2)a(M-1,m)=a(M-2,m)+Km*a(M-2,M-1-m); %递推得到各阶前向预测滤波器的系数endendT=1/fs;sum1=0; %采样周期T赋值;功率谱初值设为0f=0.01:0.01:0.5; %选取数据采样点,归一化频率0.01~0.5,间隔为0.01 for m=1:M-1; %AR阶数为1~(M-1)sum1=sum1+a(M-1,m)*exp(-j*2*pi*m*f*T); %傅里叶变换,得到AR参数的估计ends1=(abs(1+sum1)).^2; %由Fejer-Riesz定理,得到最大熵谱估计,即ARMA功率谱s=P(M)*T./s1; %求得各阶功率谱的矩阵plot(f,10*log10(s),'k'); %画出功率谱随频率变化的曲线图xlabel('f/fs'); %X轴坐标名称ylabel('功率谱/dB'); %Y轴坐标名称五、仿真结果及分析结果分析:如上,是阶数分别为16和32时所得的功率谱曲线。

如图可知,Burg算法得到的谱线分辨率很高,曲线平滑而且干扰很少,可清晰分辨出功率谱的峰值及其对应的频率值(处于初始设定的频率值0.175~0.20之间);并且随着阶数的增加,预测误差功率随之减小,但变化不大,对于频率分辨率影响也很小。

相较于Levinson算法,Burg算法的基本思想是使前、后向预测误差的平均功率最小,且没有使用自相关估计法,因而,结果与真实值更接近。

相关文档
最新文档