系统辨识作业和答案汇编Word格式.docx
- 文档编号:13243340
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:19
- 大小:256.72KB
系统辨识作业和答案汇编Word格式.docx
《系统辨识作业和答案汇编Word格式.docx》由会员分享,可在线阅读,更多相关《系统辨识作业和答案汇编Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
不同点:
第2级和第3级模二相加产生的序列,是从第4时刻开始,每隔7个时刻重复一次;
第4级与第3级模2相加产生的,序列,是从第2时刻开始每隔15个时刻重复一次。
第5级与第4级模2相加结果如下:
已知其为M序列。
M序列:
1111100001000110010101
方波信号:
1010101010101010101010
逆重复M:
0101001011101100111111
4.画出广义最小二乘法的离线迭代算法的简单计算框图。
广义最小二乘法的离线迭代算法的简单计算框图如下:
5.考虑如下数学模型
,试用
输入输出数据估计系统参数
。
6.利用最小二乘算法辨识如下模型参数
z(k)-1.5z(k-1)+0.7z(k-2)=u(k-1)+0.5u(k-2)+v(k)
其中,v(k)是零均值白噪声。
当模型阶次为2时,可以获得准确的辨识结果,而模型阶次取3时,只能得到如下一组模型参数辨识结果(括号内为模型参数真值):
a1=-1.08884(-1.5)a2=0.08326(0.7)a3=0.28781(0.0)
b1=1.00000(1.0)b2=0.91116(0.5)b3=0.20558(0.0)
显然,辨识结果已经远远偏离了模型参数真值,试从理论上解释为什么会出现这种现象。
对于n阶系统与n+1阶系统参数估计之间有如下的关系:
对于n+1阶系统
设其待估参数为
则
由题目知n=2时系统参数为准确值,则n=3时按照上式去计算,估算出的系数必远远偏离系统模型参数值。
7.请说明闭环系统不可辨识的原因。
闭环系统不可辨识的原因:
反馈使得一个闭环系统对不同的输入常产生差不多相同的输出,观测的输入输出数据所包含的信息比开环辨识少的多;
输入信号与噪声因反馈而相关:
有偏估计,非一致性估计;
在闭环条件下,用开环辨识方法系统的参数有时也是不可唯一辨识的。
8.设闭环系统前向通道模型为
反馈调节器为
试画出其闭环系统框图,并判断系统是否可辨识?
系统是可以辨识的,由于为非奇异,故在
条件下,参数是可以辨识的。
闭环系统框图如下图所示:
9.对系统模型阶次进行辨识,得到1阶-4阶的参数估计,性能指标与系统模型阶次的关系如下表所示,利用F检验法判断系统模型的阶次。
n=1
n=2
n=3
n=4
n=5
J
51.8
14.63
12.46
12.41
12.40
解:
由F检验法原理知
若
则可以接受系统阶数。
由计算得,t(1,2)=4.13,t(2,3)=0.49,t(3,4)=0.0034,t(4,5)=0
所以系统的阶数为3。
二.编程题
1.
(1)编程产生一组正态分布的白噪声信号,它的均值和方差以及长度可随意调整,将产生的白噪声信号存入数据文件data1.txt
(2)编程产生一组M序列信号,它的幅值和长度可随意调整,将产生的M序列存入数据文件data2.txt
(3)编程产生一组逆重复M序列信号,它的幅值和长度可随意调整,将产生的逆重复M序列存入数据文件data3.txt
(1)functiony=WNoise(N,E,VAR)
%N为长度E为均值VAR为方差
y=randn(1,N);
y=y-mean(y);
y=y/std(y);
y=E+sqrt(VAR)*y;
plot(y)
title('
严晓龙实验:
产生一组正态分布的白噪声信号'
)
savedata1.txty-ascii
调用函数实验:
WNoise(400,0,1),得到数据见data1.txt,如图所示:
(2)functionseq=mseq(a,L,N)
%a为M序列幅值N为长度L为移位单位数
register=randint(1,L)%寄存器初始化
p=zeros(1,L);
%特征向量
p(L-1:
L)=1;
%默认最后两个寄存器相加
temp=0;
fori=1:
N
seq(i)=a*register(L);
temp=sum(register.*p);
register(2:
L)=register(1:
L-1);
%移位
register
(1)=mod(temp,2);
end
x=0:
1/5:
1.2;
stairs(seq);
grid;
set(gca,'
ylim'
[-0.2,1.2]);
ylabel('
M序列'
严晓龙实验:
移位寄存器产生的M序列'
savedata2.txtseq-ascii
mseq(2,40,15),得到数据见data2.txt,和下图:
(3)functionseq=invM(a,L,N)
2^L-1
seq(i)=register(L);
temp=sum(register.*p);
register(2:
register
(1)=mod(temp,2);
seq=[seqseq];
2*(2^L-1)
ifmod(i,2)==1
invm(i)=1;
else
invm(i)=0;
end
seq(i)=a*xor(seq(i),invm(i));
ifmod(i,2*(2^L-1))==0
mseq(i)=seq(2*(2^L-1));
mseq(i)=seq(mod(i,2*(2^L-1)));
seq=mseq;
产生一组逆重复M序列信号'
savedata3.txtseq-ascii
invM(1,10,40),得到数据见data3.txt,和下图
2.12.mat中的数据是单输入单输出系统进行采样后100对输入输出数据,其中input表示系统的输入数据,output表示受到噪声污染后的系统的输出数据。
在辨识过程中,可以认为噪声具有正态分布,其均值为0。
(1)判断该系统的阶次(方法不限)
(2)利用递推最小二乘法进行参数估计。
模型阶数的辨识,一般说来低阶模型描述粗糙,高阶模型精度高。
残差平方总和J(n)是模型阶数的函数
在不同的模型阶数的假设下,参数估计得到的J(n)值亦不同。
讨论如下
(1)当n=1时程序如下:
启动matlab,打开12.mat;
运行下面程序
u=zeros(100,1);
%构造输入矩阵
z=zeros(100,1);
%构造输出矩阵
i=1:
1:
100;
u(i,1)=input(i);
z(i,1)=output(i);
r=100;
forp=1:
(r-2)%利用循环生成观测矩阵
h(p,:
)=[-z(p+1)u(p+1)];
%
hl=h;
forb=1:
(r-2)%生成输出矩阵
zl(b,:
)=[z(b+2)];
zl'
zl'
%根据最小二乘法公式进行参数辩识
c1=hl'
*hl;
c2=inv(c1);
c3=hl'
*zl;
c=c2*c3;
a1=c
(1)
a2=c
(2)
j=0;
fork=4:
hl=[-z(k-1);
u(k-1)]'
;
x=hl*c;
y=z(k)-x;
s=y*y;
j=j+s;
j
仿真结果如下
a1=-0.2576a2=0.6985j=0.8556
(2)当n=2时程序如下(输入输出数据同上,只给出不同于一阶系统的程序不同之处)
其中U、Z分别是作业要求给出得的输入输出,数据输入同上。
%利用循环生成观测矩阵。
(r-2)
)=[-z(p+1)-z(p)u(p+1)u(p)];
%生成输出矩阵。
%输出辩识参数
b1=c(3)
b2=c(4)
%求J(n)
%开始求K
h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]'
x=h1'
*c;
y=z(k)-x;
s=y*y;
仿真结果如下:
a1=-0.4362a2=0.2407b1=1.8844b2=-1.1313
j=0.5977
(3)当n=3时程序如下
forp=2:
(r-1)
)=[-z(p+1)-z(p)-z(p-1)u(p+1)u(p)u(p-1)];
forb=2:
)=[z(b+1)];
a1=c
(1)
a3=c(3)
b1=c(4)
b2=c(5)
b3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 辨识 作业 答案 汇编