典型时间序列模型分析.docx
- 文档编号:4068332
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:26
- 大小:754.11KB
典型时间序列模型分析.docx
《典型时间序列模型分析.docx》由会员分享,可在线阅读,更多相关《典型时间序列模型分析.docx(26页珍藏版)》请在冰点文库上搜索。
典型时间序列模型分析
实验1典型时间序列模型分析
1、实验目的
熟悉三种典型的时间序列模型:
AR模型,MA模型与ARMA模型,学会运用Matlab工具对
对上述三种模型进行统计特性分析,通过对2阶模型的仿真分析,探讨几种模型的适用范围,并且通过实验分析理论分析与实验结果之间的差异。
2、实验原理
AR模型分析:
设有AR
(2)模型,
X(n)=-0.3X(n-1)-0.5X(n-2)+W(n)
其中:
W(n)是零均值正态白噪声,方差为4。
(1)用MATLAB模拟产生X(n)的500观测点的样本函数,并绘出波形
(2)用产生的500个观测点估计X(n)的均值和方差
(3)画出理论的功率谱
(4)估计X(n)的相关函数和功率谱
【分析】给定二阶的AR过程,可以用递推公式得出最终的输出序列。
或者按照一个白噪声通过线性系统的方式得到,这个系统的传递函数为:
这是一个全极点的滤波器,具有无限长的冲激响应。
对于功率谱,可以这样得到,
可以看出,Fxw完全由两个极点位置决定。
对于AR模型的自相关函数,有下面的公式:
\(0)
打⑴
匚⑴…
^(0)
Mp-1)
"1'
cr
0
j,(P)
人9-1)…
l7,L户」
[q\
这称为Yule-Walker方程,当相关长度大于p时,由递推式求出:
口的+叫(—1)+…+琼1刃,
这样,就可以求出理论的AR模型的自相关序列。
1.产生样本函数,并画出波形
2.题目中的AR过程相当于一个零均值正态白噪声通过线性系统后的输出,可以按照上面的方法进行描述。
clearall;
b=[1];a=[10.30.5];%由描述的差分方程,得到系统传递函数
h=impz(b,a,20);%得到系统的单位冲激函数,在20点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的2阶AR过程
plot(x,'r');
ylabel('x(n)');
title('邹先雄——产生的AR随机序列');
gridon;
得到的输出序列波形为:
邹先雄——产生的AR随机序列
2.估计均值和方差
可以首先计算出理论输出的均值和方差,得到mx=0,对于方差可以先求出理论自相
关输出,然后取零点的值。
并且,」,带入有
在最大值处输出的功率,也就是方差,为
a;=r(0)=56
两者合理论值吻
对实际数据进行估计,均值为mean(x)=-0.0703,而方差为var(x)=5.2795,
合得比较好。
程序及运行结果图如下,其中y_mean表示均值,y_var表示方差。
>>clearall;
b=Lll;a=[l0.30.B];%由摒迷的差分方程,僚到索猊倍谨硒数l^i^z(bjaj20);%得到系统的单f立冲數函数,在20点雉已经可以认为值是0randnCstate-J,0).
2,1,500);%产生题设的白囁声随机序別,标准差为2x=filter(bjajw);%通过线形紊统,课到输出就是题目中要卡的2盼AR过程plot甌,r,);
ylabelCkCn));
生的AR龍机序貝N;
gridan;
yl_jn&an=ine3n(x)
y2_var=var(x)
yl_jnean=
-0.0703y2_var=
5.2795
3.画出理论的功率谱密度曲线
理论的功率谱为,
£92恥训丹冲)f"|h(严)「
用下面的语句产生:
delta=2*pi/1000;
w_min=-pi;
w_max=pi;
Fs=1000;
w=w_min:
delta:
w_max;%得到数字域上的频率取样点,范围是[-pi,pi]
Gx=4*(abs(1丿(1+0.3*exp(-i*w)+0.5*exp(-2*i*w)))A2);%计算出理论值
Gx=Gx/max(Gx);%归一化处理
f=w*Fs/(2*pi);%转化到模拟域上的频率
plot(f,Gx);
title('邹先雄一一理论功率谱密度曲线');
gridon;
得到的图形为:
邹先雄一理论功率谱密度曲线
可以看出,这个系统是带通系统。
4•估计自相关函数和功率谱密度
用实际数据估计自相关函数和功率谱的方法前面已经讨论过,在这里仅给出最后的仿真图形。
Mlag=20;%定义最大自相关长度
Rx=xcorr(x,Mlag,'coeff');
m=-Mlag:
Mlag;
stem(m,Rx,'r.');
title('邹先雄自相关函数’);
最终的值为
邹先雄—自相关函数
可以看出,它和上面的理论输出值吻合程度很好。
实际的功率谱密度可以用类似于上面的方
法进行估计,
window=hamming(20);%采用hanmming窗,长度为20
noverlap=10;%重叠的点数
Nfft=512;%做FFT的点数
Fs=1000;%采样频率,为1000Hz
b=[1];a=[10.30.5];%由描述的差分方程,得到系统传递函数
h=impz(b,a,20);%得到系统的单位冲激函数,在20点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的2阶AR过程
[Px,f]=pwelch(x,window,noverlap,Nfft,Fs,'onesided');%估计功率谱密度
f=[-fliplr(f)f(1:
end)];%构造一个对称的频率,范围是[-Fs/2,Fs/2]
Py=[-fliplr(Px)Px(1:
end)];%对称的功率谱
plot(f,10*log10(Py),'b');
title('邹先雄一一实际的功率谱密度曲线');
估计出来的功率谱密度为,
邹先雄一实际的功率谱密度曲线
将两幅图画在一起,可以看到拟合的情况比较好(两者相位刚好相反,但是基本波形相似)
代码如下:
clearall;
delta=2*pi/1000;
w_min=-pi;
w_max=pi;
Fs=1000;
w=w_min:
delta:
w_max;%得到数字域上的频率取样点,范围是[-pi,pi]
Gx=4*(abs(1丿(1+0.3*exp(-i*w)+0.5*exp(-2*i*w)))A2);%计算出理论值
Gx=Gx/max(Gx);%归一化处理
f=w*Fs/(2*pi);%转化到模拟域上的频率结束
plot(f,Gx,'r');
holdon;
title('邹先雄一一理论和实际的功率谱密度曲线拟合');
window=hamming(20);%采用hanmming窗,长度为20
noverlap=10;%重叠的点数
Nfft=512;%做FFT的点数
Fs=1000;%采样频率,为1000Hz
b=[1];a=[10.30.5];%由描述的差分方程,得到系统传递函数
h=impz(b,a,20);%得到系统的单位冲激函数,在20点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的2阶AR过程
[Px,f]=pwelch(x,window,noverlap,Nfft,Fs,'onesided');%估计功率谱密度f=[-fliplr(f)f(1:
end)];%构造一个对称的频率,范围是[-Fs/2,Fs/2]Py=[-fliplr(Px)Px(1:
end)];%对称的功率谱Py=-10*log10(Py);
Py=Py/max(Py);
Py=-Py;Py=3*Py;Py=Py+2.6;%用来归一处理,使两者吻合plot(f,Py,'b');
legend('实际值','理论值');
gridon;
ARMA模型分析
设有ARMA(2,2)模型,
X(n)+0.3X(n-1)-0.2X(n-2)=W(n)+0.5W(n-1)-0.2W(n-2)
W(n)是零均值正态白噪声,方差为4。
(1)用MATLAB模拟产生X(n)的500观测点的样本函数,并绘出波形
(2)用产生的500个观测点估计X(n)的均值和方差
(3)画出理论的功率谱
(4)估计X(n)的相关函数和功率谱
【分析】给定(2,2)的ARMA过程,也可以用递推公式得出最终的输出序列。
或者按照一个白噪声通过线性系统的方式得到,这个系统的传递函数为:
I1+0
円厂1+03^-02尹
对于功率谱,可以这样得到,
对于ARMA过程,当模型的所有极点均落在单位圆内时,才是一个渐进平稳的随机过程。
这个过程的自相关函数不能简单地写成Yule-Walker方程形式,它于模型的参数具有高度的
非线性关系。
1.产生样本函数,并画出波形
题目中的ARMA过程相当于一个零均值正态白噪声通过线性系统后的输出,可以按照上面的方法进行描述。
clearall;
b=[10.5-0.2];a=[10.3-0.2];%由描述的差分方程,得到系统传递函数
h=impz(b,a,10);%得到系统的单位冲激函数,在10点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的(2,2)阶ARMA过程
plot(x,'r');
title('邹先雄一一输出的AR随机序列');
得到的输出序列波形为:
邹先雄一输出的AR随机序列
2.估计均值和方差
可以首先计算出理论输出的均值和方差,得到mx=°,对于方差可以先求出理论自相
关输出,然后取零点的值。
耳(也)=A(»)*
并且,一.,带入有
人(酬)工4{片脚)*机-册)]
在最大值处就是输出的功率,也就是方差,为
对实际数据进行估计,均值为mean(x)=-0.0547,而方差为var(x)=3.8,两者和理论值吻
合的比较好。
附代码及运行结果截图如下:
»clearall;
b=[l0.5-0.2];a=[l0,3-0.2];%由描述的差分方程,得到系统传谨函埶h=iJnpz(bJaJ10);%得到系统的单位冲澈国数,在10点处已经可以认为值是0randn(state7j0);
w=nor»riui(0,2,1,500):
%产生题设的白噪声随机序列,标准差为2x^filterCb^.w);K通过线形系统・得到输出就是题目中要求的佗,2)盼AKMA过程plot仗JF),
Py_jnean=mean(x)
Py_var=var(x)
Pygmean=
-0.1488
Py^var=
3.rgss
3.画出理论的功率谱密度曲线
理论的功率谱为,
耳㈣三耳(如p(屮)卜屮
用下面的语句产生:
delta=2*pi/1000;w_min=-pi;w_max=pi;Fs=1000;
w=w_min:
delta:
w_max;%得到数字域上的频率取样点,范围是[-pi,pi]
NS=1+0.5*exp(-i*w)-0.2*exp(-2*i*w);%分子
DS=1+0.3*exp(-i*w)-0.2*exp(-2*i*w);%分母
Gx=4*(abs(NS./DS)A2);%计算出理论值
Gx=Gx/max(Gx);f=w*Fs/(2*pi);%转化到模拟域上的频率
plot(f,Gx,'b');
title('邹先雄一一理论的功率谱密度曲线');
gridon;
邹先雄一理论的功率谱密度曲线
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
O
5Q
00
O
40
4.估计相关函数和功率谱密度曲线
用实际数据估计自相关函数和功率谱的方法前面已经讨论过,在这里仅给出仿真图形。
%计算理论和实际的自相关函数序列
Mlag=20;%定义最大自相关长度
Rx=xcorr(x,Mlag,'coeff);
m=-Mlag:
Mlag;
stem(m,Rx,'r.');
title('邹先雄一一估计自相关函数’);
最终的值为
邹先雄一估计自相关国数
03
0.6
0.4
0.2
实际的功率谱密度可以用类似于上面的方法进行估计,
window=hamming(20);%采用hanmming窗,长度为20
noverlap=10;%重叠的点数
Nfft=512;%做FFT的点数
Fs=1OOO;%采样频率,为1000Hz
b=[10.5-0.2];a=[10.3-0.2];%由描述的差分方程,得到系统传递函数
h=impz(b,a,10);%得到系统的单位冲激函数,在10点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的(2,2)阶ARMA过程
[Px,f]=pwelch(x,window,noverlap,Nfft,Fs,'onesided');%估计功率谱密度
f=[-fliplr(f)f(1:
end)];%构造一个对称的频率,范围是[-Fs/2,Fs/2]
Py=[fliplr(Px)Px(1:
end)];%对称的功率谱
plot(f,10*log10(Py),'b');
title('邹先雄一一实际的功率谱密度曲线');
估计出来的功率谱密度为
邹先雄一际的功率谱密度曲线
把两幅图画在一起,可以得到下面的图形,可以看出两者的吻合度比较高。
delta=2*pi/1000;w_min=-pi;w_max=pi;Fs=1000;
w=w_min:
delta:
w_max;%得到数字域上的频率取样点,范围是[-pi,pi]
NS=1+0.5*exp(-i*w)-0.2*exp(-2*i*w);%分子
DS=1+0.3*exp(-i*w)-0.2*exp(-2*i*w);%分母
Gx=4*(abs(NS./DS).A2);%计算出理论值
Gx=Gx/max(Gx);f=w*Fs/(2*pi);%转化到模拟域上的频率
plot(f,Gx,'r');
title('邹先雄一一理论和实际的功率谱密度曲线的拟合');
holdon;
window=hamming(20);%采用hanmming窗,长度为20
noverlap=10;%重叠的点数
Nfft=512;%做FFT的点数
Fs=1000;%采样频率,为1000Hz
b=[10.5-0.2];a=[10.3-0.2];%由描述的差分方程,得到系统传递函数
h=impz(b,a,10);%得到系统的单位冲激函数,在10点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的(2,2)阶ARMA过程
[Px,f]=pwelch(x,window,noverlap,Nfft,Fs,'onesided');%估计功率谱密度
f=[-fliplr(f)f(1:
end)];%构造一个对称的频率,范围是[-Fs/2,Fs/2]
Py=[fliplr(Px)Px(1:
end)];%对称的功率谱
Py=10*log10(Py);
Py=Py/max(Py);
Py=-Py;Py=3*Py;Py=Py+4;%用来归一处理,使两者吻合plot(f,Py,'b');
legend('实际值','理论值');
gridon;
邹先雄——理论和实际的功率谱密度曲线的拟合
-EOO-400-300-200-1000100200300400500
3、实验内容
1熟悉实验原理,将实验原理上的程序应用matlab工具实现;
2、设有MA
(2)模型,
x(n)=W(n)-03W(n-1)+0.2W(n-2)
W(n)是零均值正态白噪声,方差为4。
(1)用MATLAB模拟产生X(n)的500观测点的样本函数,并绘出波形
(2)用产生的500个观测点估计X(n)的均值和方差
(3)画出理论的功率谱
(4)估计X(n)的相关函数和功率谱完成4个问题的源代码如下
clearall;
%产生样本函数,并画出波形
b=[1-0.30.2];a=[1];%由描述的差分方程,得到系统传递函数
h=impz(b,a,10);%得到系统的单位冲激函数,在10点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的(2,2)阶ARMA过程
figure
(1);
plot(x,'r');
title('邹先雄——样本函数');
Py_mean=mean(x)
Py_var=var(x)
%画出理论的功率谱密度曲线
delta=2*pi/1000;w_min=-pi;w_max=pi;Fs=1000;
w=w_min:
delta:
w_max;%得到数字域上的频率取样点,范围是[-pi,pi]
NS=1-0.3*exp(-i*w)+0.2*exp(-2*i*w);%分子
DS=1;%分母
Gx=4*(abs(NS./DS).A2);%计算出理论值
Gx=Gx/max(Gx);f=w*Fs/(2*pi);%转化到模拟域上的频率
figure
(2);
plot(f,Gx,'b');
title('邹先雄一一理论的功率谱密度曲线');
%估计相关函数
Mlag=20;%定义最大自相关长度
Rx=xcorr(x,Mlag,'coeff);
m=-Mlag:
Mlag;
figure(3);
stem(m,Rx,'r.');
title('邹先雄估计相关函数’);
%画出估计的功率谱密度曲线
window=hamming(20);%采用hanmming窗,长度为20
noverlap=10;%重叠的点数
Nfft=512;%做FFT的点数
Fs=1000;%采样频率,为1000Hz
[Px,f]=pwelch(x,window,noverlap,Nfft,Fs,'onesided');%估计功率谱密度
f=[-fliplr(f)f(1:
end)];%构造一个对称的频率,范围是[-Fs/2,Fs/2]
Py=[fliplr(Px)Px(1:
end)];%对称的功率谱
figure(4);
plot(f,10*log10(Py),'b');
title('邹先雄一一估计的功率谱密度曲线’);
%对实际和估计两功率谱密度曲线进行拟合
delta=2*pi/1000;w_min=-pi;w_max=pi;Fs=1000;
w=w_min:
delta:
w_max;%得到数字域上的频率取样点,范围是[-pi,pi]
NS=1-0.3*exp(-i*w)+0.2*exp(-2*i*w);%分子
DS=1;%分母
Gx=4*(abs(NS./DS)A2);%计算出理论值
Gx=Gx/max(Gx);f=w*Fs/(2*pi);%转化到模拟域上的频率
figure(5);
plot(f,Gx,'r');
title('邹先雄一一实际和估计两功率谱密度曲线的拟合');
holdon;
window=hamming(20);%采用hanmming窗,长度为20
noverlap=10;%重叠的点数
Nfft=512;%做FFT的点数
Fs=1000;%采样频率,为1000Hz
b=[1-0.30.2];a=[1];%由描述的差分方程,得到系统传递函数
h=impz(b,a,10);%得到系统的单位冲激函数,在10点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500);%产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w);%通过线形系统,得到输出就是题目中要求的(2,2)阶ARMA过程
[Px,f]=pwelch(x,window,noverlap,Nfft,Fs,'onesided');%估计功率谱密度
f=[-fliplr(f)f(1:
end)];%构造一个对称的频率,范围是[-Fs/2,Fs/2]
Py=[fliplr(Px)Px(1:
end)];%对称的功率谱
Py=10*log10(Py);
Py=Py/max(Py);
Py=-Py;Py=3*Py;Py=Py+4;%用来归一处理,使两者吻合
plot(f,Py,'b');
legend('实际值','理论值');
gridon;
样本函数波形为:
邹先雄一样本函数
理论功率谱密度曲线为:
估计相关函数波形为:
邹先雄一估计相关函数
-20-15-10-505101520
估计功率谱密度曲线为:
实际和估计两功率谱密度曲线的拟合截图如下:
邹先雄——实际和估计两功率谱密度曲线的拟合
附程序运行后得到的均值与方差的截图,其中差,大小为3.9324:
y_mean为均值,大小为-0.1127;y_var为方
holdon;
window=hajiuning(20);%采用haruiuiiirig窗*长厦为2Unoverlap=10;%重叠的点数
Nfft=512;%做FFI的点敎
Fs=lOOO;%采样频为1000Hz
b=[l-0,30.2];a=[l];%由IS述的差分方程,得到系统伎邀函数h=impE(bjaU0);%得到系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 典型 时间 序列 模型 分析