利用相关分析法辨识脉冲响应文档格式.docx
《利用相关分析法辨识脉冲响应文档格式.docx》由会员分享,可在线阅读,更多相关《利用相关分析法辨识脉冲响应文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
M=2^15;
fork=1:
N
x2=A*x0;
x1=mod(x2,M);
v1=x1/(M+1);
v(:
k)=v1;
x0=x1;
end
sita=v;
3.2正态分布白噪声生成函数
functionv=noise(aipi)
%生成正态分布N(0,sigma)
sigma=1;
%标准差
length(aipi)
ksai=0;
fori=1:
12
temp=mod(i+k,length(aipi))+1;
ksai=ksai+aipi(temp);
end
v(k)=sigma*(ksai-6);
3.3M序列生成函数
function[NprM]=createM(n,a)
%生成长度为n的M序列,周期为Np,周期数为r
x=[111111];
%初始化初态
fori=1:
n
y=x;
x(2:
6)=y(1:
5);
x
(1)=xor(y(5),y(6));
U(i)=y(6);
M=U*a;
lenx=length(x);
Np=2^lenx-1;
r=n/Np;
3.4过程仿真函数
functiony=createy(u,K,T1,T2,T0)
n=length(u);
K1=K/(T1*T2);
E1=exp(-T0/T1);
E2=exp(-T0/T2);
x
(1)=0;
y
(1)=0;
fork=2:
x(k)=E1*x(k-1)+T1*K1*(1-E1)*u(k-1)...
+T1*K1*(T1*(E1-1)+T0)*(u(k)-u(k-1))/T0;
y(k)=E2*y(k-1)+T2*(1-E2)*x(k-1)...
+T2*(T2*(E1-1)+T0)*(x(k)-x(k-1))/T0;
u(k-1)=u(k);
x(k-1)=x(k);
y(k-1)=y(k);
3.5相关函数计算函数
functionR_Mz=RMz(Np,r,u,z)
r=r-1;
y=zeros(1,Np);
Np
y(k)=0;
fori=Np+1:
(r+1)*Np
y(k)=y(k)+u(i-k)*z(i);
y(k)=y(k)/(r*Np);
R_Mz=y;
3.5主函数
function[ogyita]=main(time)
%脉冲响应估计误差og
%噪信比yita
N=time*63;
K=120;
T1=8.3;
T2=6.2;
T0=1;
a=1;
sita=U(N);
%生成[01]均匀分布随机数
v=noise(sita);
%利用aipi生成正态分布白噪声
[Npru]=createM(N,a);
%生成长度为N的M序列
y=createy(u,K,T1,T2,T0);
%利用M序列驱动,生成y
z=y+v;
R_Mz=RMz(Np,r,u,z);
%计算相关函数
%计算脉冲响应估计值
g_k=zeros(1,Np);
g_k(1,k)=(R_Mz(1,k)-R_Mz(Np-1))*Np/((Np+1)*a*a*T0);
%计算脉冲响应理论值
Eg=zeros(1,Np);
Eg(1,k)=K/(T1-T2)*(exp(-k*T0/T1)-exp(-k*T0/T2));
%计算脉冲响应估计误差
og=sqrt(norm(Eg-g_k)^2/norm(Eg)^2);
ov=fangcha(v);
%计算噪声方差
oy=fangcha(y);
%计算信号方差
yita=sqrt(oy/ov);
%计算信噪比End
3.5画图函数1
%mainPlot.m
figure
(1)
forn=4:
40
[ogyita]=main(n);
y1(n)=og;
y1=y1(4:
40);
plot([4:
40],y1);
xlabel('
周期数'
);
ylabel('
脉冲响应估计误差'
figure
(2)
y2(n)=yita;
y2=y2(4:
40],y2);
噪信比'
3.5画图函数2
%mainPlot2.m
N=252;
plot([1:
252],y,[1:
252],z);
Legend('
不含噪声的输出序列'
'
含噪声的输出序列'
63],g_k,[1:
63],Eg);
脉冲响应估计值'
脉冲响应理论值'
4数据记录
表1脉冲响应估计值与脉冲响应理论值的比较
t
1
2
3
4
5
6
7
0.79
0.92
1.02
1.04
1.05
1.01
2.03
3.52
4.59
5.32
5.77
6.02
6.11
8
9
10
11
13
14
0.87
0.80
0.74
0.65
0.57
0.50
0.42
6.07
5.94
5.74
5.49
5.21
4.91
4.60
15
16
17
18
19
20
21
0.33
0.23
0.17
0.10
0.05
-0.01
-0.06
4.29
3.99
3.69
3.40
3.12
2.86
2.62
22
23
24
25
26
27
28
-0.10
-0.16
-0.19
-0.22
-0.25
-0.29
-0.28
2.39
2.18
1.98
1.80
1.63
1.48
1.33
29
30
31
32
33
34
35
-0.30
-0.31
-0.32
-0.36
-0.37
-0.39
-0.41
1.20
1.09
0.98
0.88
0.71
0.64
36
37
38
39
41
42
-0.44
-0.46
-0.47
-0.49
-0.51
-0.52
0.58
0.52
0.46
0.41
0.37
0.30
43
44
45
46
47
48
49
-0.53
-0.54
-0.55
-0.56
0.27
0.24
0.21
0.19
0.15
0.13
50
51
52
53
54
55
56
-0.57
0.12
0.11
0.09
0.08
0.07
0.06
57
58
59
60
61
62
63
0.00
0.61
0.04
0.03
5曲线打印
图1信噪比随着周期数增大的变化
图2脉冲响应计算误差随着周期数增大的变化
图3加入噪声前后的输出序列比较
图4脉冲响应理论值与估计值的比较
6结果分析
6.1信噪比脉冲响应计算误差随周期的变化
随着周期数的增加,信噪比减小,说明噪声随着周期数的增加变得更强烈,而计算误差的减小表示周期数的增加使得不确定因素的影响减小,使得计算结果与实际更接近。
6.2加入噪声前后的输出序列比较
加入噪声前后的变化并不大,说明噪声对输出序列影响不大,在第二个周期之后输出序列变得稳定,具有周期变化。
6.3脉冲响应理论值与估计值的比较
随着时间的增加,脉冲响应理论值与估计值全部变小,且差值变小,与实验前的理论推导一致。
7实验体会
通过本次试验,我不仅更深层次的了解了系统辨识的内容,而且也复习和运用了matlab,为以后的工作实践打了一些基础。
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求