Yule-Walker方程
更新时间:2023-11-22 22:26:01 阅读量: 教育文库 文档下载
实 验 报 告
课程名称: 学 院: 专 业: 年 级: 班 级: 姓 名: 学 号: 指导教师:
实验五 Yule-Walker方程
(一)实验目的
学习求解Yule-Walker方程,建立随机信号的AR模型。
(二)实验原理
随机信号可以看作是由当前激励白噪声w(n)以及若干次以往信号x(n-k)的线性组合产生,即所谓自回归模型(AR模型)
x?n??w?n???akx?n?k?k?1pH?z??11??akz?kk?1p
模型参数满足Yule-Walker方程
Rxx?m????akRxx?m?k?m?0
k?1p矩阵形式
R??1??R?0??R?1?R?0???????R?p?1?R?p?2??R?1?p???a1??R?1???a??R?2???R?2?p??2??????? ??????????????a???R?0???Rp????p?求解Yule-Walker方程,就可以得到AR模型系数
当模型阶次较大时,直接用矩阵运算求解的计算量大,不利于实时运算。利用系数矩阵的特性,人们提出了如L-D算法等快速算法。
(三)实验内容和步骤
编写求解Yule-Walker方程的程序,并对实际生理信号(例如脑电)建立AR模型。
对同一数据,使用matlab信号处理工具箱自带函数aryule计算相同阶数AR模型系数,检验程序是否正确。
用伪随机序列(白噪声)驱动AR模型,观察输出是否与真实脑电信号相似,
对比真实信号与仿真信号的功率谱。
流程图: 实验流程图如下:
输入信号选定AR模型的阶数p计算x信号的自相关函数和Toeplitz型矩阵L-D算法,(aryule函数或用arburg)Yule-Woker方程计算最小均方误差参数估计向量参数估计向量a两种不同类型方法的参数估计值比较向量da利用L-D算法或者Burg算法产生的参数变量进行脑电信号、心电信号处理判断自编函数是否正确输出信号最小均方误差E
源程序: clear; clc; load eegdata;
x = eegdata (1:1024); % 长度可以任意选择,但信号越长计算量越大 load ecgdata;
x = ecgdata (1:1024); % 长度可以任意选择,但信号越长计算量越大 p = 12; % 尝试改变模型阶数,观察效果 Rxx = xcorr(x,'biased'); Rtemp = zeros(1,p); Rl = zeros(p,1); for k = 1:length(Rtemp) Rtemp(k) = Rxx(length(x)-1+k); Rl(k) = Rxx(length(x)+k); end
Rs = toeplitz(Rtemp); % 生成自相关系数矩阵(Toeplitz型) A = -inv(Rs)*Rl; % AR模型系数估计
Sw = [Rtemp(1),Rl']*[1;A]; % 白噪声方差估计 % 采用malab自带函数估计模型系数
[a,E] = aryule(x,p); % a--系数,E--预测误差,k--反射系数 da = a(2:end)-A' % 自编程序求解是否正确? Stem(da);title(‘参数估计偏差’) w = randn(size(x));
x2 = filter(1,a,w); % 仿真数据 figure;
subplot(3,1,1);plot(x);title('真实数据'); subplot(3,1,2);plot(x2);title('仿真数据'); error=mean((x2-x).^2); Rxx2=xcorr(x2,'biased'); Px=abs(fft(Rxx)); Px2=abs(fft(Rxx2)); figure;
subplot(2,1,1);plot(-1023:1023,Px);title('真实信号功率谱'); subplot(2,1,2);plot(-1023:1023,Px2);title('仿真信号功率谱');
%%绘制Sw、E随p变化散点图,以下是统计得到的结果 p=[8 9 10 11 12 13 14 15 16];
Sw=[1.0527 1.0301 1.0150 0.9961 0.9943 0.9942 0.9896 0.9877 0.9872]; E=[3.8741 3.4337 3.3200 3.7314 3.3683 3.4809 3.5826 3.6253 3.4176]; subplot(2,1,1);stem(p,Sw);xlabel('p');ylabel('Sw');title('Sw随p变化散点图');
subplot(2,1,2);plot(p,E,'-o');xlabel('p');ylabel('E');title('E随p变化散点图');
实验结果:
1、p=12时,比较心电信号与脑电信号的da值,并作出散点图。
1x 10-16参数估计偏差2.521.5x 10-13参数估计偏差0.501-0.50.5-10-1.5-0.5-1-1.5-2-2.5024681012024681012
脑电信号 结果分析:
心电信号
由以上两个图可以看出脑电信号的参数估计偏差比心电信号的参数估计偏差要小许多,脑电信号的自编程序跟MATLAB信号处理工具箱自带函数aryule的处理更接近。由此可知,L-D算法与自编程序相比较,自编程序对估计的参数比较精确一些。
2、p=12时,比较心电信号与脑电信号的真实数据与仿真数据
真实数据1050-5-100200400600仿真数据10580010001200真实数据10.50-0.5-10200400600仿真数据40208001000120000-5020040060080010001200-20020040060080010001200
脑电信号
结果分析:
心电信号
由上面两幅图可以看出,对心电信号与脑电信号建模后,心电信号的
真实数据和仿真数据相差很大,该模型产生的信号更能真实的反映脑电信号的特征。不同噪声的激励得到的信号时不同的。
3、p=12时,比较心电信号与脑电信号的功率谱,
真实数据功率谱150100真实数据功率谱15010050500-1500-1000-5000仿真数据功率谱500100015000-1500x 104-1000-5000仿真数据功率谱500100015006040321200-1500-1000-5000500100015000-1500-1000-500050010001500
脑电信号 心电信号
结果分析:
在比较脑电信号与心电信号的图之后不难发现,对信号进行功率谱估计时,脑电信号的功率谱的纵坐标相差不大,但是相对而说心电信号的相差是极大的。
4、L-D算法与Burg算法比较
4.1、脑电信号L-D算法与Burg算法比较
真实数据1050-5-100200400600仿真数据5080010001200真实数据1050-5-100200400600仿真数据42080010001200-5-2-4020040060080010001200-10020040060080010001200
L-D算法、error = 3.8118 Burg算法、error =4.0522
1x 10-16参数估计偏差1x 10-3参数估计偏差0.50.50-0.50-1-0.5-1.5-1-2-2.5024681012-1.5024681012
L-D Da值 -0.2220 -0.0971 0.0312 -0.0555 -0.0555 0.0694 0.0833 -0.0104 -0.0625 0.0347 -0.0000 -0.0002 0.0001 -0.1110 -0.0833 -0.0010 0.0006 -0.0008 Burg 0.0007 0.0009 -0.0004 -0.0011 -0.0010 0.0006 结果分析:
当AR模型的阶数p为一个确定值时,对于脑电信号,L-D算法的均方误差比起arburg算法的均方误差要小,但是它的噪声方差估计不变,
4.2、心电信号L-D算法与Burg算法比较
真实数据真实数据110.50.500-0.5-10200400600仿真数据200-20-40-6002004006008001000120080010001200-0.5-10200400600仿真数据50800100012000-50020040060080010001200
L-D算法、error = 162.2773 Burg算法、error = 190.7024
参数估计偏差2.521.510.50-0.5-1-1.5x 10-130.6参数估计偏差0.50.40.30.20.10-0.1-0.2-0.3024681012024681012
L-D 0.0235 0.0136 Burg -0.2838 0.0240
结果分析:
-0.0572 -0.0115 0.5068 -0.0792 Da值 0.0490 0.0310 -0.0974 0.0314 -0.1403 0.2091 -0.2794 0.0121 0.0118 -0.1227 0.1051 -0.0221 0.0083 -0.0116 0.0659 0.0149 由数据可知,心电信号的AR模型的阶数与均方误差和噪声方差估计之间没有必然的联系。与L-D算法相比,Burg算法的AR模型的均方误差比较小,这是因为Burg算法具有较高的计算效率,该算法从总体上选择所有的模型参数达到总的均方误差最小
4.3、改变p值,比较L-D算法与Burg算法(脑电信号)为观察方便我做了下面的表格 P值 Burg算法 Sw 1.0527 1.0301 1.0150 0.9961 E 3.8741 3.4337 3.3200 3.7314 0.9943 3.3683 0.9942 0.9896 0.9877 0.9872 3.4809 3.5826 3.6253 3.4176 L-D算法 Sw 1.0527 1.0301 1.0150 0.9961 E 3.4687 3.2010 3.8530 3.3888 0.9943 3.2874 0.9942 0.9896 0.9877 0.9872 3.3945 3.9315 4.1573 3.3942 8 9 10 11 12 13 14 15 16 Sw随p变化散点图1.5Sw随p变化散点图1Sw1.51Sw0.50.508910111213pE随p变化散点图14151608910111213pE随p变化散点图14151643.83.63.43.289101112p13141516E3.5384.54E9101112p13141516
Burg算法
实验分析:
L-D算法
观察图和表,不难发现,先不管是Burg算法还是L-D算法在改变了p的大小之后,噪声方差估计Sw和均方误差error都有在改变,基于我们取的值来看,噪声方差估计呈现一个先减小后增大的趋势,但是改变的很微弱,不明显。对于均方误差显得杂乱。不管是Burg算法还是L-D算法,噪声方差估计在p值不变的情况下是相同的,只是均方误差在一直改变,而白噪声方差估计值则随阶数的增大而减小,可发现当阶数为12时,白噪声方差估计最接近1,所以,p取12最为合理。
四、思考题
对ECG、EEG建模后,该模型产生的信号能否反映ECG、EEG信号的特征? 答:通过上述各实验,可得出的结论为:心电信号模型产生的信号不能精确的反映ECG信号的特征,因为ECG信号有一定的规律性,而AR模型不能用在信号具有确定性的场合,对于脑电信号信号,因为EEG信号没有规律性,脑电信号可以由均值为0,方差为1的白噪声激励而成,所以它是不确定信号,因而在AR模型中得到它的误差比较小,所以AR模型基本能反应EEG信号的特征。
五、实验总结
最后一次实验了,还是感觉没有整体的学好这门课,也不知道下次还有没有机会再接触了。
正在阅读:
Yule-Walker方程11-22
ProE编程设计入门教程10-15
中国近代史调查报告07-27
关于三门峡市耕地面积现状及保护措施10-24
《西方行政制度》模拟试题10-07
基于PLC的霓虹灯控制系统设计04-14
黄鹤楼-为了谁系列香烟价格与图片展示04-29
县环境保护局党支部开展党员“百分制”考核工作总结报告08-04
部编版初中九年级数学投影与视图(含中考真题解析答案)03-08
最新教科版四年级上册科学教学设计及反思01-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 方程
- Walker
- Yule
- 部编版语文一年级上第三单元教案
- 2014年注会税法第二章练习题
- 关于严禁私自收费的若干规定
- 《故都的秋》教案
- photoshop实例讲解 - 图文
- 石家庄社区卫生服务中心 分区
- 07非谓语动词 备战2018年高考英语之高频考点Word版含解析
- 概率统计习题详解习题详解1-2章
- 五年级语文下册第11课《荒芜了的花园》同步练习冀教版
- 全国2019届高考语文一轮复习现代文阅读训练
- 2017年己二腈现状及发展趋势分析(目录)
- coreldraw服装设计试卷及答案
- 走民族学校办学的特色之路
- 陕西旬邑
- 电气二次线专业出图方式
- 统计学试题和答案
- 2017-2022年中国天然虾青素产业现状分析及十三五投资动向研究报告(目录)
- 故意杀人罪判几年
- 广东省医疗责任保险统保合同(拟本) - 图文
- 断指再植患者术后护理