系统辨识与MATLAB仿真附录
例2.1 用乘同余法产生随机数 (见光盘 FLch2sjxleg1.m)
①编程如下:
A=6; N=100; %初始化;
x0=1; M=255;
for k=1:N %乘同余法递推100次;
x2=A*x0; %x2和x0分别
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示xi和xi-1;
x1=mod (x2,M); %将x2存储器的数除以M,取余数放x1(xi)中;
v1=x1/256; %将x1存储器的数除以256得到小于1的随机数放v1中;
v(:,k)=v1; % 将v1中的数(
)存放在矩阵存储器v的第k列中,v(:,k)
%表示行不变、列随递推循环次数变化;
x0=x1; %xi-1= xi;
v0=v1;
end %递推100次结束;
v2=v %该语句末无‘;’,实现矩阵存储器v中随机数放在v2中,%且可直接显示在MATLAB的window中;
k1=k;
%grapher %以下是绘图程序;
k=1:k1;
plot(k,v,k,v,'r');
xlabel('k'), ylabel('v');tktle('(0-1)均匀分布的随机序列')
② 程序运行结果如图2.5所示。
图2.5 采用MATLAB产生的(0,1)均匀分布的随机序列图
③ 产生的(0-1)均匀分布的随机序列
在程序运行结束后,产生的(0,1)均匀分布的随机序列,直接从MATLAB的window界面中copy出来如下(v2中每行存6个随机数):
v2 =
0.0234 0.1406 0.8438 0.0820 0.4922 0.9609
0.7852 0.7266 0.3750 0.2578 0.5508 0.3164
0.9023 0.4336 0.6094 0.6680 0.0234 0.1406
0.8438 0.0820 0.4922 0.9609 0.7852 0.7266
0.3750 0.2578 0.5508 0.3164 0.9023 0.4336
0.6094 0.6680 0.0234 0.1406 0.8438 0.0820
0.4922 0.9609 0.7852 0.7266 0.3750 0.2578
0.5508 0.3164 0.9023 0.4336 0.6094 0.6680
0.0234 0.1406 0.8438 0.0820 0.4922 0.9609
0.7852 0.7266 0.3750 0.2578 0.5508 0.3164
0.9023 0.4336 0.6094 0.6680 0.0234 0.1406
0.8438 0.0820 0.4922 0.9609 0.7852 0.7266
0.3750 0.2578 0.5508 0.3164 0.9023 0.4336
0.6094 0.6680 0.0234 0.1406 0.8438 0.0820
0.4922 0.9609 0.7852 0.7266 0.3750 0.2578
0.5508 0.3164 0.9023 0.4336 0.6094 0.6680
0.0234 0.1406 0.8438 0.0820
第二章的白噪声产生程序
例2.2 用乘同余法产生(见光盘 FLch2bzsheg2.m)
1 编程如下:
A=6; x0=1; M=255; f=2; N=100; %初始化;
x0=1; M=255;
for k=1: N %乘同余法递推100次;
x2=A*x0; %分别用x2和x0表示xi+1和xi-1;
x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(xi)中;
v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中;
v(:,k)=(v1-0.5 )*f; %将v1中的数(
)减去0.5再乘以存储器f中的系数,存放在矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环次数变化;
x0=x1; % xi-1= xi;
v0=v1;
end %递推100次结束;
v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且可直接显示在MATLAB的window中;
k1=k;
%grapher %以下是绘图程序;
k=1:k1;
plot(k,v,k,v,'r');
xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')
② 程序运行结果如图2.6所示。
图2.6 采用MATLAB产生的(-1,+1)均匀分布的白噪声序列
③ 产生的(-1,1)均匀分布的白噪声序列
在程序运行结束后,产生的(-1,1)均匀分布的白噪声序列,直接从MATLAB的window界面中copy出来如下(v2中每行存6个随机数):
v2 =
-0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219
0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672
0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188
0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531
-0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328
0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359
-0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844
0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359
-0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219
0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672
0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188
0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531
-0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328
0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359
-0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844
0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359
-0.9531 -0.7188 0.6875 -0.8359
*另外,书中图2.3白噪声的产生如下:
显然,只要在例2.2程序的初始化部分中给N=300,f=6,运行程序就可以得到如图2.3所示的(-3,3)的白噪声过程.
①编程如下:
A=6; x0=1; M=255; f=6; N=300; %初始化;
x0=1; M=255;
for k=1: N %乘同余法递推100次;
x2=A*x0; %分别用x2和x0表示xi+1和xi-1;
x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(xi)中;
v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中;
v(:,k)=(v1-0.5 )*f; %将v1中的数(
)减去0.5再乘以存储器f中的系数,存放在矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环次数变化;
x0=x1; % xi-1= xi;
v0=v1;
end %递推100次结束;
v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且可直接显示在MATLAB的window中;
k1=k;
%grapher %以下是绘图程序;
k=1:k1;
plot(k,v,k,v,'r');
xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')
② 程序运行结果如图2.3所示。
图2.3 白噪声过程
第二章的M序列产生程序
例2.3 用移位寄存器产生M序列的MATLAB软件实现(见光盘 FLch2bzsheg3.m)
① 编程如下:
X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出
m=60; %置M序列总长度
for i=1:m %1#
Y4=X4; Y3=X3; Y2=X2; Y1=X1;
X4=Y3; X3=Y2; X2=Y1;
X1=xor(Y3,Y4); %异或运算
if Y4==0
U(i)=-1;
else
U(i)=Y4;
end
end
M=U
%绘图
i1=i
k=1:1:i1;
plot(k,U,k,U,'rx')
xlabel('k')
ylabel('M序列')
title('移位寄存器产生的M序列')
② 程序运行结果如图2.8 所示。
图2.8 软件实现的移位寄存器产生的M序列图
.
③ '四级移位寄存器产生的M序列
M =
Columns 1 through 10
-1 1 -1 1 1 1 1 -1 -1 -1
Columns 11 through 20
1 -1 -1 1 1 -1 1 -1 1 1
Columns 21 through 30
1 1 -1 -1 -1 1 -1 -1 1 1
Columns 31 through 40
-1 1 -1 1 1 1 1 -1 -1 -1
Columns 41 through 50
1 -1 -1 1 1 -1 1 -1 1 1
Columns 51 through 60
1 1 -1 -1 -1 1 -1 -1 1 1
i1 =
60
PAGE
6
_1121925980.unknown
_1121926015.unknown