YuleWalker方程Word文档下载推荐.docx
- 文档编号:13861595
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:21
- 大小:564.05KB
YuleWalker方程Word文档下载推荐.docx
《YuleWalker方程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《YuleWalker方程Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
AMDA10-5750MAPUwithRadeon(tm)Graphics2.50GHz
安装内存:
(RAM)4.00GB
系统类型:
win10位操作系统,基于x64位处理器
2、软件环境:
MatlabR2012b
三、实验原理
随机信号可以看作是由当前激励白噪声w(n)以及若干次以往信号x(n-k)的线性组合产生,即所谓自回归模型(AR模型)
模型参数满足Yule-Walker方程
矩阵形式
求解Yule-Walker方程,就可以得到AR模型系数
当模型阶次较大时,直接用矩阵运算求解的计算量大,不利于实时运算。
利用系数矩阵的特性,人们提出了如L-D算法等快速算法。
四、实验内容
编写求解Yule-Walker方程的程序,并对实际生理信号(例如心电、脑电)建立AR模型。
对同一数据,使用Matlab信号处理工具箱自带函数aryule计算相同阶数AR模型系数,检验程序是否正确。
用伪随机序列(白噪声)驱动AR模型,观察输出是否与真实心电、脑电信号相似,对比真实信号与仿真信号的功率谱。
五、实验结果与分析
试验程序:
clear;
clc;
M=1024;
loadecgdata;
loadeegdata;
loadicpdata;
loadrespdata;
x=ecgdata(1:
M);
%长度任意选择
%x=eegdata(1:
%x=icpdata(1:
%x=respdata(1:
%长度任意选择
i=1:
15;
Sw=zeros(1,length(i));
E=zeros(1,length(i));
FPE=zeros(1,length(i));
forp=1:
15%尝试改变模型阶数,观察效果
Rxx=xcorr(x,'
biased'
);
%biased为有偏的互相关函数估计
Rtemp=zeros(1,p);
Rl=zeros(p,1);
fork=1:
length(Rtemp)
Rtemp(k)=Rxx(length(x)-1+k);
Rl(k)=Rxx(length(x)+k);
end
Rs=toeplitz(Rtemp);
%生成自相关系数矩阵指矩阵中每条自左上至右下的
%斜线上的元素相同,toeplitz(x)用向量x生成一
%个对称的托普利兹矩阵
A=-inv(Rs)*Rl;
%AR模型系数估计
Sw(p)=[Rtemp
(1),Rl'
]*[1;
A];
%白噪声方差估计
%采用malab自带函数估计模型系数
[a,E(p)]=aryule(x,p);
%a--系数,E--预测误差,k--反射系数
%[a,E(p)]=arburg(x,p);
%Y=filter(B,A,X),输入X为滤波前序列,Y为滤波结果序列,
%B/A提供滤波器系数,B为分子,A为分母
da=a(2:
end)-A'
;
%自编程序求解是否正确?
FPE(p)=E(p)*(M+p+1)/(M-p-1);
w=randn(size(x));
x2=filter(1,a,w);
%仿真数据
Rx2=xcorr(x2,'
xx=abs(fft(Rxx));
xx2=abs(fft(Rx2));
figure;
subplot(4,1,1);
plot(x);
xlim([01024]);
title('
真实数据'
subplot(4,1,2);
plot(x2);
xlim([01024]);
仿真数据'
subplot(4,1,3);
plot(-1023:
1023,xx);
真实数据功率谱'
subplot(4,1,4);
1023,xx2);
仿真数据功率谱'
error(p)=mean((x-x2).^2);
%求最小均方误差
Popt=find(FPE==min(FPE))
figure,
subplot(1,3,1);
plot(i,error,'
-*'
)
(a)最小均方误差随阶数p的变化情况'
),xlabel('
p'
ylabel('
error'
subplot(1,3,2);
plot(i,E,'
gridon
(b)预测误差随阶数p的变化情况'
E'
%figure,stem(i,Sw,'
%title('
白噪声方差估计随阶数p的变化情况'
%xlabel('
白噪声方差估计'
subplot(1,3,3);
plot(i,FPE,'
(c)FPE随阶数p的变化情况'
xlabel('
FPE'
实验结果:
1、心电数据,阶数p为15,M=1024:
(1)最小均方误差随p的变化情况、预测误差随p的变化情况、FPE随p的变化情况:
图1-1L-D算法图1-2Burg算法
(2)白噪声方差估计随阶数p的变化情况:
图1-3L-D算法图1-4Burg算法
(3)真实数据和仿真数据及其功率谱:
图1-5L-D算法error=19.234图1-6Burg算法error=19.913
2、脑电数据,阶数p为14,M=1024:
图2-1L-D算法图2-2Burg算法
图2-3L-D算法图2-4Burg算法
图2-5L-D算法error=3.3147图2-6Burg算法error=3.2043
3、颅内压数据,阶数p为14,M=1024:
图3-1L-D算法图3-2Burg算法
图3-3L-D算法error=52.4963图3-4Burg算法error=103.7701
4、呼吸压数据,阶数p为7,M=1024:
图4-1L-D算法图4-2Burg算法
图4-3L-D算法图4-4Burg算法
图4-5L-D算法2.7785e05图4-6Burg算法2.17161e05
5、心电数据,阶数p为5,M=512:
图5-1L-D算法图5-2Burg算法
图5-1L-D算法图5-2Burg算
图5-5L-D算法error=21.1246图5-6Burg算法error=11.8885
6、脑电数据,阶数p为6,M=512:
图6-1L-D算法图6-2Burg算法
图6-3L-D算法图6-4Burg算法
图6-5L-D算法error=2.5564图6-6Burg算法error=2.7103
7、颅内压数据,阶数p为14,M=512:
图7-1L-D算法图7-2Burg算法
图7-3L-D算法图7-4Burg算法
图7-4L-D算法error=17.0841图7-5Burg算法error=43.7280
8、呼吸压数据,阶数p为1,M=512:
图8-1L-D算法图8-2Burg算法
图8-3L-D算法图8-4Burg算法
图8-5L-D算法error=2.9724e05图8-6Burg算法error=2.9917e05
结果分析:
1、对信号进行功率谱估计是,脑电信号的纵坐标相差不大,而心电信号、颅内压信号、呼吸信号的纵坐标相差较大。
2、当AR模型结束p确定时,L-D算法的均方误差比Brug算法的均方误差要小。
六、实验小结:
1、L-D递推算法是模型阶数逐渐加大的一种算法,,为了克服其误差,提出了Burg算法,其基本思想是对观测数据进行向前或向后预测,然后让两者的均方误差之和最小做为估计准则估计反射系数进而根据L-D算法的递推公式求出AR模型参数。
2、Burg算法的优点是:
求得出的AR模型是稳定的,有较高的计算率。
六、思考题:
对ECG、EEG建模后,该模型产生的信号是否能反映ECG、EEG信号的特征?
答:
心电模型产生的信号不能精确反映ECG信号的特征,而AR模型不能用在信号具有确定性的场合;
对于脑电信号,因EEG信号没有规律,脑电信号可以由均值为0,方差为1的白噪信号激励而成,所以它是不确定信号,因而在AR模型中它的误差比较小,所以AR模型基本能反映EEG信号的特征。
手写签名:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- YuleWalker 方程