系统辨识大作业

发布 2021-05-05 15:45:28 阅读 9546

系统辨识。

大作业。1.考虑如下系统。

式中,为白噪声。

取初值,。分别选择m序列和方差为1的正态分布白噪声作为输入信号,采用递推最小二乘算法进行参数估计,迭代l=400步停止计算。

要求。i) 给出基本迭代公式;

ii) 画出程序流程框图;

iii) 画出输入输出数据曲线、参数估计曲线、误差曲线;

提示:产生长度为l方差为1的正态分布白噪声的matlab命令为 randn(l,1)。)

答:选择如下形式的辨识模型。

设输入信号的取值是。

1.从到的m序列,采用4位移位寄存器产生,幅度为0.03;

2. 方差为1、长度为l的正态分布白噪声,用randn(l,1)命令产生;

i) 基本的迭代公式为。

ii) 程序流程框图。

iii) 源**与输入输出曲线、参数估计曲线、误差曲线。

最小二乘递推算法辨识程序(输入信号采用m序列)

clear清理工作间变量。

l1=15m序列的周期。

l2=400迭代l2步后停止。

y1=1;y2=1;y3=1;y4=0四个移位寄存器的输出初始值。

用4位移位寄存器生成m序列。

for i=1:l1开始循环,长度为l1

x1=xor(y3,y4第一个移位寄存器的输入是第三个与第四个移位寄存器的输出的“或”

x2=y1第二个移位寄存器的输入是第一个移位寄存器的输出。

x3=y2第三个移位寄存器的输入是第二个移位寄存器的输出。

x4=y3第四个移位寄存器的输入是第三个移位寄存器的输出。

y(i)=y4取出第四个移位寄存器的幅值为"0"和"1"的输出信号,即m序列。

if y(i)>0.5,u(i)=-0.03如果m序列的值为"1", 辨识的输入信号取“-0.03”

else u(i)=0.03如果m序列的值为"0", 辨识的输入信号取“0.03”

end小循环结束。

y1=x1;y2=x2;y3=x3;y4=x4; %为下一次的输入信号做准备。

end大循环结束,产生输入信号u

figure(1第1个图形。

stem(u),grid on显示出输入信号径线图并给图形加上网格。

z(2)=0;z(1)=0设z的前两个初始值为零。

for k=3:15循环变量从3到15

z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); 输出采样信号。

endfigure(2第2个图形。

stem(z),grid on显示出输出信号径线图并给图形加上网格。

rls递推最小二乘辨识。

c0=[0.001 0.001 0.001 0.001直接给出被辨识参数的初始值,即一个充分小的实向量。

p0=10^6*eye(4,4直接给出初始状态p0,即一个充分大的实数单位矩阵。

e=0.000000005取相对误差e=0.000000005

c=[c0,zeros(4,14被辨识参数矩阵的初始值及大小。

e=zeros(4,15相对误差的初始值及大小。

num=0迭代次数初始化。

for k=3:15开始求k

h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]'

x=h1'*p0*h1+1;

x1=inv(x开始求k(k)

k1=p0*h1*x1求出k的值。

d1=z(k)-h1'*c0; c1=c0+k1*d1; %求被辨识参数c

e1=c1-c0求参数当前值与上一次的值的差值。

e2=e1./c0求参数的相对变化。

e(:,k)=e2把当前相对变化的列向量加入误差矩阵的最后一列

c0=c1新获得的参数作为下一次递推的旧参数。

c(:,k)=c1把辨识参数c 列向量加入辨识参数矩阵的最后一列

p1=p0-k1*k1'*[h1'*p0*h1+1]; 求出 p(k)的值。

p0=p1给下次用。

num=num+1迭代次数加1

if num==l2

break如果参数收敛情况满足要求,终止计算。

end小循环结束。

end大循环结束。

c,e显示被辨识参数及其误差(收敛)情况。

分离参数。a1=c(1,:)a2=c(2,:)

b1=c(3,:)b2=c(4,:)

ea1=e(1,:)ea2=e(2,:)

eb1=e(3,:)eb2=e(4,:)

figure(3第3个图形。

i=1:15横坐标从1到15

plot(i,a1,'r',i,a2,':i,b1,'g',i,b2画出a1,a2,b1,b2的各次辨识结果。

title('parameter identification with recursive least squares method') 图形标题。

figure(4第4个图形。

i=1:15横坐标从1到15

plot(i,ea1,'r',i,ea2,'g',i,eb1,'b',i,eb2,'r:')画出a1,a2,b1,b2的各次辨识结果的收敛情况。

title('identification precision图形标题。

输入输出曲线:

参数估计曲线和误差曲线:

最小二乘递推算法辨识程序(输入信号采用正态白噪声)

clear清理工作间变量。

l2=400迭代l2步后停止。

产生白噪声输入信号。

u=randn(l2,1产生长度为l2、方差为1的正态白噪声作为输入。

figure(1绘制输入信号图形。

stem(u),grid on显示出输入信号径线图并给图形加上网格。

z(2)=0;z(1)=0设z的前两个初始值为零。

for k=3:15循环变量从3到15

z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); 输出采样信号。

endfigure(2绘制输出信号图形。

stem(z),grid on显示出输出信号径线图并给图形加上网格。

rls递推最小二乘辨识。

c0=[0.001 0.001 0.001 0.001直接给出被辨识参数的初始值,即一个充分小的实向量。

p0=10^6*eye(4,4直接给出初始状态p0,即一个充分大的实数单位矩阵。

e=0.000000005取相对误差e=0.000000005

c=[c0,zeros(4,14被辨识参数矩阵的初始值及大小。

e=zeros(4,15相对误差的初始值及大小。

num=0迭代次数初始化。

for k=3:15开始求k

系统辨识大作业

系统辨识大作业 递推增广最小二乘法。题目一 已知一系统为两输入单输出系统,观测数据受有色噪声污染,噪信比为n s 0.1。系统经2000次采样,存放于文件中。系统输入u1为7级m序列,u2为u1的63步移位序列。模型类可选为 a q 1 y k b1 q u1 k b2 q u2 k w k c q...

系统辨识大作业

第一题 输入 x 1.01 2.03 3.02 4.01 5 6.02 7.03 8.04 9.03 10 y 9.6 4.1 1.3 0.4 0.05 0.1 0.7 1.7 3.8 9.1 用cftool工具箱拟合 linear model poly2 f x p1 x 2 p2 x p3 co...

系统辨识大作业

专业班级 自动化09 3 学号 09051325 姓名 吴恩。设某物理量与满足关系式,实验获得一批数据如下表,试辨识模型参数。15分 解答 问题描述 由题意知,这是一个已知模型为y ax2 bx c,给出了10组实验输入输出数据,要求对模型参数a,b,c进行辨识。问题求解 这里对该模型参数辨识采用最...