《基于Burg算法的最大熵谱估计》由会员分享,可在线阅读,更多相关《基于Burg算法的最大熵谱估计(6页珍藏版)》请在人人文库网上搜索。

1、基于Burg算法的最大熵谱估计一、 实验目的使用Matlab平台实现基于Burg算法的最大熵谱估计二、 Burg算法原理现代谱估计是针对经典谱估计方差性能较差、分辨率较低的缺点提出并逐渐发展起来的,其分为参数模型谱估计和非参数模型谱估计。而参数模型谱估计主要有AR模型、MA模型、ARMA模型等,其中AR模型应用最多。ARMA模型功率谱的数学表达式为:其中,P(ej)为功率谱密度;s2是激励白噪声的方差;ai和bi为模型参数。若ARMA 模型中bi全为0,就变成了AR模型,又称线性自回归模型,其是一个全极点模型:研究表明,ARMA 模型和MA 模型均可用无限阶的AR模型来表示。且AR模型的参数估。

2、计计算相对简单。同时,实际的物理系统通常是全极点系统。要利用AR模型进行功率谱估计,必须由Yule - Walker 方程求得AR模型的参数。而目前求解Yule - Walker方程主要有三种方法: Levinson-Durbin递推算法、Burg算法和协方差方法。其中Burg算法计算结果较为准确,且对于短的时间序列仍能得到较正确的估计,因此应用广泛。研究最大熵谱估计时,Levinson递推一直受制于反射系数Km的求出。而Burg算法秉着使前、后向预测误差平均功率最小的基本思想,不直接估计AR模型的参数,而是先估计反射系数Km,再利用Levinson关系式求得AR模型的参数,继而得到功率谱估计。

3、。Burg定义m阶前、后向预测误差为:(1)(2)由式(1)和(2)又可得到前、后预测误差的阶数递推公式:(3)(4)定义m阶前、后向预测误差平均功率为:(5)将阶数递推公式(3)和(4)代入(5),并令,可得(6)三、 Burg算法递推步骤Burg算法的具体实现步骤:步骤1 计算预测误差功率的初始值和前、后向预测误差的初始值,并令m = 1。步骤2 求反射系数步骤3 计算前向预测滤波器系数步骤4 计算预测误差功率步骤5计算滤波器输出步骤6 令m m+1,并重复步骤2至步骤5,直到预测误差功率Pm不再明显减小。最后,再利用Levinson递推关系式估计AR参数,继而得到功率谱估计。四、 程序实。

4、现%基于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.20x=awgn(y,SNR); %在信号y中加入高斯白噪声,信噪比为SNR设定的数值 M=1。

5、; %设置起始计算的阶数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的分子,初始值设为0D=0; %微分所得反射系数K。

6、m的分母,初始值设为0for 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变化。

7、到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。

8、-(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。

9、); %递推计算滤波器输出的各阶后向预测误差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.010.5,间隔为0.01for m=。

10、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.1750.20之间);并且随着阶数的增加,预测误差功率随之减小,但变化不大,对于频率分辨率影响也很小。相较于Levinson算法,Burg算法的基本思想是使前、后向预测误差的平均功率最小,且没有使用自相关估计法,因而,结果与真实值更接近。。

matlab 最大熵谱估计,基于Burg算法的最大熵谱估计相关推荐

  1. burg算法 matlab,基于burg算法的谱估计研究及其matlab实现.doc

    基于burg算法的谱估计研究及其matlab实现 XX大学学院 毕业设计(论文) 相关资料 题目: 基于 其MATLAB实现 机电 系 电子信息工程 专业学 号: 学生姓名: 指导教师: (职称:讲 ...

  2. MATLAB代码:基于蒙特卡洛算法的电动汽车充电负荷预测 关键词:蒙特卡洛 电动汽车 充电负荷预测

    MATLAB代码:基于蒙特卡洛算法的电动汽车充电负荷预测 关键词:蒙特卡洛 电动汽车 充电负荷预测 仿真平台:MATLAB 主要内容:代码主要做的是电动汽车的充电负荷模拟预测,具体为:从影响电动汽车充 ...

  3. MATLAB 用LMS算法实现语音去噪,在Matlab中实现基于LMS算法语音信号去噪

    ComputerKnowledgeand Technology 电脑知识与技术 第10卷第32期 (2014年11月) 本栏目责任编辑:谢媛媛软件设计开发 在Matlab中实现基于LMS算法语音信号去 ...

  4. matlab adaptfilt.rls,基于RLS算法的多麦克风降噪

    <信息处理课群综合训练与设计> 课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 基于RLS算法的多麦克风降噪 设计任务: 给定主麦克风录制的受噪声污染的语音信号和 ...

  5. 时间窗口算法用matlab,一种基于动态规划算法的时间窗口相关的参与者选择方法与流程...

    本发明涉及一种移动群智感知中时间窗口相关的参与者选择方法,特别地,涉及一种基于动态规划算法的时间窗口相关的参与者选择方法. 背景技术: 在移动群智感知网络中,智能设备中嵌入了麦克风.相机.温度传感器. ...

  6. kalman滤波基础及matlab仿真_MATLAB基于EKF算法估计电动汽车蓄电池的SOC

    点击上方蓝字关注"公众号" MATLAB基于EKF算法估计电动汽车蓄电池的SOC 电动汽车(EV)是未来汽车的一大发展方向.动力锂电池组是电动汽车动力源,其荷电状态(SOC)直接反 ...

  7. burg算法matlab求功率谱,基于AR模型的Burg算法功率谱估计.doc

    基于AR模型的Burg算法功率谱估计 三种功率谱估计方法性能研究 1.前言: 我们已经知道一个随机信号本身的傅里叶变换并不存在,因此无法像确定性信号一样用数字表达式来精确表达它,而只能用各种统计平均量 ...

  8. MATLAB中MVDR谱估计式,基于Welch算法的功率谱估计的实现

    第 25 卷 第 3 期 2007 年 5 月 北京工商大学学报(自然科学版) Journal of Beijing Technology and Business University(Natura ...

  9. 现代法谱估计(3)Burg算法MATLAB及Python实现

    原理 前面的Yule Walker方程和Levinson Durbin算法都用到了信号的自相关序列,但是这样可能会存在自相关估计不准的问题(默认为序列长度为N,N的取值以外取不到的点都默认为0).而B ...

最新文章

  1. Datawhale入选DataFountain优秀组织
  2. 【Android 性能优化】布局渲染优化 ( CPU 渲染优化 | 减少布局的嵌套 | 测量布局绘制时间 | OnFrameMetricsAvailableListener | 布局渲染优化总结 )
  3. oracle随机取数据
  4. java中实现将十六进制按位取反
  5. 现场故事:从Log4J迁移到Log4J2
  6. KMP 算法 学习 整理
  7. 作者:高丰,英国南安普敦大学计算机博士,现为开放数据与创新独立咨询顾问,兼复旦大学数字与移动治理实验室特邀研究员。...
  8. It企业的上市与退市
  9. 拓端tecdat|python用遗传算法 神经网络 模糊逻辑控制算法对彩票乐透数据进行预测
  10. RegExp-1 【转义符号与字符、正则基础、修饰/元字符】
  11. 替换swf文件中的图片
  12. 淘宝帝国是如何创建的连载02
  13. 艾永亮:永远也说不清作用的保健品凭什么卖了千年?
  14. 服务器的远程无法断开,远程桌面客户端断开连接且无法重新连接到同一会话
  15. 宠物狗变机械狗,太有趣了!
  16. 黑白图转RGB(Matlab)
  17. 【Springboot】SpringBoot基础知识及整合Thymeleaf模板引擎
  18. sql语句,sql文件加注释
  19. IE浏览器主页更改问题(在浏览器Internet的属性里怎么也修改不成功)
  20. 分布式协调系统ZooKeeper的安装

热门文章

  1. 快捷键关机电脑_技巧 | 如何知道电脑多久没关机?一个命令就行嘞!
  2. 数据分析与挖掘建模实战003:单因子探索分析与可视化001数据案例介绍
  3. c语言程序设计小学期论文,c语言程序设计小学期.pdf
  4. java mysql tomcat my_Java、Tomcat 及 MySQL 环境配置
  5. 作用 react_react-styleguidist核心知识点详解
  6. idata界面_iData手持终端常见问题集,持续更新中...
  7. drupal php filter,Drupal A-Z and number filter
  8. MySQL InnoDB 存储引擎文件
  9. tt公路车Java配置怎么样_普通公路车换TT车把可以吗,别的东西还有需要换的吗?...
  10. 解决pandas索引报错Unalignable boolean Series provided as indexer