系统辨识经典辨识方法
系统辨识

1. 模型与系统1)模型:把关于实际系统的本质的部分信息简缩成有用的描述形式。
它用来描述系统的运动规律,是系统的一种客观写照或缩影,是分析、预报、控制系统行为的有力工具。
模型是实体的一种简化描述。
模型保持实体的一部分特征,而将其它特征忽略或者变化。
不同的简化方法得到不同的模型。
2)系统:有些书里也称为过程,按某种相互依赖关系联系在一起的客体的集合。
本身的含义是比较广泛的,可以指某个工程系统、某个生物学系统,也可以指某个经济的或社会的系统。
这里所研究的“对象”是抽象的,重要的是其输入、输出关系。
2. 残差和新息1)新息(输出预报误差):是过程输出预报值与实测值之间的误差。
(P13)过程输出预报值: 输出预报误差: 过程输出量: 2)残差:是滤波估计值和实测值之差。
3. 系统可辨识的条件最小二乘方法满足开环可辨识条件;激励信号是持续激励,阶次至少要(na+nb+1)阶。
可辨识条件:为了辨识动态系统,激励信号u 必须在观测的周期内对系统的动态持续地激励。
满足辨识对激励信号最起码的要求的持续激励信号应具备的条件,称“持续激励条件”。
4. 建立数学模型1)建立方法:①理论分析法:机理法或理论建模,“白箱”问题②测试法:系统辨识,“黑箱”问题③两者结合:“灰箱”理论问题2)基本原则:①目的性-明确建模的目的,如控制、预测等。
因为不同的建模目的牵涉到的建模方法可能不同,它也将决定对模型的类型、精度的要求。
②实在性-模型的物理概念要明确。
③可辨识性-模型的结构要合理,输入信号必须是持续激励的;另外数据要充足。
④节省性-待辨识的模型参数个数要尽可能地少。
以最简单的模型表达所描述的对象特征。
5. 辨识:就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。
1)试验设计:包括输入信号(幅度、频带等)、采样时间、辨识时间(数据长度)、开环或闭环辨识、离线或在线辨识(P19)目的:使采集到的数据序列尽可能多地包含过程特性的内在信息。
系统辨识1

系统辨识系统辨识是指对于一个系统的理解和认识,包括对该系统的组成部分、功能特点、作用范围、运行规律等方面的全面把握和分析。
系统辨识是一项专业性很强的技能,需要掌握相关的知识和方法,才能够准确地识别和理解一个系统,为下一步的研究和分析提供基础。
下面将结合案例,详细介绍系统辨识的实施过程、方法和重要性。
一、系统辨识的实施过程1、确定研究对象系统辨识的第一步是确定研究的对象。
这要求我们明确需要研究的系统是什么,它所包括的组成部分、作用范围和影响因素是什么。
例如,如果我们要研究一个电子商务平台的运营情况,就需要明确该平台的组成部分(如前端界面、后端数据处理、用户管理等)、作用范围(如哪些地区、哪些用户群体)、影响因素(如网络带宽、访问量、用户体验等)。
2、了解基本信息了解基本信息是进行系统辨识的重要步骤。
这一步要求对研究对象的整体概貌有一定的了解,了解它的背景、发展历程、目标定位等基本信息。
比如,如果要研究一个企业的运营情况,就需要了解该企业的业务范围、组织架构、发展历程等基本信息,从而对该企业的整体方针、战略、目标等有所了解。
3、分析组成部分组成部分是实施系统辨识的重要内容,它要求我们对研究对象的每个组成部分进行详细分析,进而深入理解整个系统的运行机理。
分析组成部分时,需要考虑以下几点:(1)确定组成部分组成部分包括哪些子系统、模块、模型等。
例如,对于一个银行的信用卡系统,可能包括信用卡开户、交易查询、账单查询、信用额度管理、还款管理等多个子系统。
(2)了解功能特点了解每个组成部分的功能特点是进行系统辨识的核心内容。
这需要我们理解每个组成部分的作用、目标、功能、定位等,并对其运行机理进行深入分析。
例如,信用卡开户系统的功能可能包括用户信息采集、信用评估、授权审核等,每个功能都需要进行详细的分析和研究。
(3)掌握关键指标对于每个组成部分,需要掌握一些关键的指标,如响应时间、系统稳定性、正确率等。
这些指标可以帮助我们评估一个组成部分的表现,并判断其在系统中的重要性和优先级。
系统辨识方法

系统辨识方学习总结一.系统辨识的定义关于系统辨识的定义,Zadeh是这样提出的:“系统辨识就是在输入和输出数据观测的基础上,在指定的一组模型类中确定一个与所测系统等价的模型”。
L.Ljung也给“辨识即是按规定准则在一类模型中选择一个与数据拟合得最好的模型。
出了一个定义:二.系统描述的数学模型按照系统分析的定义,数学模型可以分为时间域和频率域两种。
经典控制理论中微分方程和现代控制方法中的状态空间方程都是属于时域的范畴,离散模型中的差分方程和离散状态空间方程也如此。
一般在经典控制论中采用频域传递函数建模,而在现代控制论中则采用时域状态空间方程建模。
三.系统辨识的步骤与内容(1)先验知识与明确辨识目的这一步为执行辨识任务提供尽可能多的信息。
首先从各个方面尽量的了解待辨识的系统,例如系统飞工作过程,运行条件,噪声的强弱及其性质,支配系统行为的机理等。
对辨识目的的了解,常能提供模型类型、模型精度和辨识方法的约束。
(2)试验设计试验设计包括扰动信号的选择,采样方法和间隔的决定,采样区段(采样数据长度的设计)以及辨识方式(离线、在线及开环、闭环等的考虑)等。
主要涉及以下两个问题,扰动信号的选择和采样方法和采样间隔(3)模型结构的确定模型类型和结构的选定是决定建立数学模型质量的关键性的一步,与建模的目的,对所辨识系统的眼前知识的掌握程度密切相关。
为了讨论模型和类型和结构的选择,引入模型集合的概念,利用它来代替被识系统的所有可能的模型称为模型群。
所谓模型结构的选定,就是在指定的一类模型中,选择出具有一定结构参数的模型M。
在单输入单输出系统的情况下,系统模型结构就只是模型的阶次。
当具有一定阶次的模型的所有参数都确定时,就得到特定的系统模型M,这就是所需要的数学模型。
(4)模型参数的估计参数模型的类型和结构选定以后,下一步是对模型中的未知参数进行估计,这个阶段就称为模型参数估计。
(5)模型的验证一个系统的模型被识别出来以后,是否可以接受和利用,它在多大程度上反映出被识别系统的特性,这是必须经过验证的。
系统辨识经典辨识方法

经典辨识方法报告1. 面积法辨识原理分子多项式为1的系统 11)(111++++=--s a sa s a s G n n nn Λ……………………………………………()由于系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取微分方程的系数来辨识系统的传递函数。
在求得系统的放大倍数K 后,要先得到无因次阶跃响应y(t)(设τ=0)。
大多数自衡的工业过程对象的y(t)可以用下式描述来近似1)()()()(a 111=++++--t y dtt dy a dt t y d a dt t y d n n n nK ……………………………() 面积法原则上可以求出n 为任意阶的各系数。
以n=3为例,注意到1|)(,0|)(d |)(d |)(d 23====∞→∞→∞→∞→t t t t t y dtt y dt t y dt t y …………………………() 将式()的y(t)项移至右边,在[0,t]上积分,得⎰-=++t dt t y t y a dtt dy a dt t y d a 01223)](1[)()()(…………………………………() 定义⎰-=tdt t y t F 01)](1[)(……………………………………………………………()则由式()给出的条件可知,在t →∞⎰∞-=01)](1[a dt t y ……………………………………………………………()将式a 1y(t)移到等式右边,定义 )()]()([)()(a 201123t F dt t y a t F t y a dtt dy t =-=+⎰…………………………………()利用初始条件()当t →∞时)(a 22∞=F …………………………………………………………………… ()同理有a 3=F 3(∞)以此类推,若n ≥2,有a n =F n (∞)分子、分母分别为m 阶和n 阶多项式的系统当传递函数的形式如下所示时111111)()(11)(u h K m n s a s a s a s b s b s b K s G n n n n m m m m ∞=≥++++++++=----ΛΛ…………………………………定义∑∞=----+=++++++++==1111111111)()(1)(i ii m m m m n n nn s c s b s b s b s a s a s a s P s P Ks G ΛΛ………………………………由于⎰∞--=-0**)](1[)](1[dte t h t h L st …………………………………………则)](1[*t h -的Laplace 变换为: ∑∑∞=∞=-+=-=-111*1)(11)](1[i iii i i s C sC s sP s t h L ……………………………………定义一阶面积1A 为:11110011lim )](*1[lim )](*1[c sC sC t h L dt t h A i ii i i i s s =+=-=-=∑∑⎰∞=∞=-→∞→………令 )1(1)]([1*1s c s t h L +=……………………………………………………………定义二阶面积为:2122**0012)1)(1()]()([limc s c s c sc dtd h h A i i i i i i is t=++=-=∑∑⎰⎰∞=∞=-→∞τττ…同理,令 )...1(1)]([11221*1---++++=i i i s c s c s c s t h L ……………………………………定义i 阶面积为i i c A =。
利用Matlab进行系统辨识的技术方法

利用Matlab进行系统辨识的技术方法在Matlab中进行系统辨识的技术方法主要有参数估计法和非参数估计法两种。
1.参数估计法:参数估计法是通过拟合已知输入和输出数据的数学模型来估计系统的参数。
常用的参数估计方法包括最小二乘法(OLS)、最小二乘法(LSE)、最小二乘法(MLE)和极大似然估计法(MLE)等。
a) 最小二乘法(OLS):OLS方法通过最小化实际输出与模型预测输出之间的误差平方和来估计系统参数。
在Matlab中,可以使用lsqcurvefit函数来实现最小二乘法的系统辨识。
b) 最小二乘法(LSE):LSE方法是通过最小化实际输出与模型预测输出之间的误差平方和来估计系统参数。
在Matlab中,可以使用lsqnonlin函数来实现最小二乘法的系统辨识。
c) 最小二乘法(MLE):MLE方法是通过最大化似然函数来估计系统参数。
在Matlab中,可以使用mle函数来实现最大似然估计法的系统辨识。
2.非参数估计法:非参数估计法不需要事先指定系统的数学模型,而是直接根据输入和输出数据的统计特性进行系统辨识。
常用的非参数估计方法包括频域方法、时域方法和时频域方法等。
a) 频域方法:频域方法通过对输入和输出数据进行频谱分析来估计系统的频率响应。
常用的频域方法包括傅里叶变换、功率谱密度估计和频率响应函数估计等。
在Matlab中,可以使用fft函数和pwelch函数来实现频域方法的系统辨识。
b) 时域方法:时域方法通过对输入和输出数据进行时间序列分析来估计系统的时域特性。
常用的时域方法包括自相关函数估计和互相关函数估计等。
在Matlab中,可以使用xcorr函数来实现时域方法的系统辨识。
c) 时频域方法:时频域方法结合了频域方法和时域方法的优势,可以同时估计系统的频率响应和时域特性。
常用的时频域方法包括短时傅里叶变换和小波变换等。
在Matlab中,可以使用spectrogram函数和cwt函数来实现时频域方法的系统辨识。
系统辨识基础--经典辨识方法

其中
Lh i 1t s1c1 sc2s2 1 ci 1 si 1
h
9
进一步利用下式
e s t 1 s ts2 t2 si ti
1 ! 2 !
i!
可得 得
L1h*t 1h*testdt Misi
0
i0
Mi
0
1h*t
ti
i!
dt
1Aisi1Misi11
i1 i0
a4 4 4.1207
b1 7.5 7.50402
b2 17.5 17.5233
h
15
4.3 脉冲响应法
ut
yt
1 ut
过 程 yt
0
t
0
t
gk1hkhk1
T0
h
16
ut
过程
yt
gt,0
模型参数 调整机构
~yt +
-
模型
gt,
图4.6 “学习法”原理
h
17
由脉冲响应求过程的传递函数-一阶过程
条件
增益K
a1
噪声 情况
无测量噪 声
有测量噪 声(方差 为0.01)
采样时间 4秒 1.5秒
1.5秒
数据长度 12 30
30
1.0 0.999984 0.999965
1.00204
10.0 11.7097 10.2171
11.5776
a2
6.5 6.52053 6.49897
6.47451
参数
真值 估 计 值
h
14
例 4.2
G s4s41 1s.5 5 3 7s 21 .7 5 7 .s 52 s 7 1.5s1
系统辨识的经典方法

⎧T
⎨⎩τ
= 2(t2 − t1) = 2t1 − t2
对于以上结果,也可在
⎧⎪⎨tt34
≤τ,
= 0.8T
+τ
,
⎪⎩t5 = 2T +τ ,
y(t3 ) = 0 y(t4 ) = 0.55 y(t5 ) = 0.87
这几点上对实际曲线的拟合精度进行检验。
系统辨识的经典方法
频率响应法
频率响应法-1
; 阶跃响应法辨识原理
¾ 在系统上施加一个阶跃扰动信号,并测定出对象的响应随时间 而变化的曲线,然后根据该响应曲线,通过图解法而不是通过 寻求其解析公式的方法来求出系统的传递函数,这就是阶跃响 应法系统辨识。
¾ 如果系统不含积分环节,则在阶跃输入下,系统的输出将渐进 于一新的稳定状态,称系统具有自平衡特性,或自衡对象。
+ b1s + a1s
+ +
b0 a0
,
n>m
¾ 对应的频率特性可写成:
G(
jω)
=
bm ( an (
jω)m +" + b2 ( jω)2 + b1( jω)n +" + a2 ( jω)2 + a1(
jω) + b0 jω) + a0
=
(b0 − b2ω 2 (a0 − a2ω 2
+ b4ω 4 + a4ω 4
系统辨识的经典方法
肖志云
内蒙古工业大学信息工程学院自动化系
系统辨识的经典方法
1
引言
2
阶跃响应法
3
频率响应法
4
相关分析法
系统辨识课件-经典的辨识方法

ˆ (t ) Ru (t )dt Ruz ( ) g
0
此为辨识过程脉冲响应的理论依据
2 Ru ( ) u ( ) 白噪声输入时 ˆ 1 g ( ) Ruz ( ) 2 u
4.5.2 用M序列作输入信号的离散算法
第4章 经典的辨识方法
4.1 引言 ● 辨识方法的分类 ▲ 经典的辨识方法 (Classical Identification) :首先获得系统的非参数模型(频 率响应,脉冲响应,阶跃响应),通过特定方法,将非参数模型转化成参数 模型 (传递函数)。 ① 阶跃响应辨识方法 (Step Response Identification) ② 脉冲响应辨识方法 (Impulse Response Identification) ③ 频率响应辨识方法 (Frequency Response Identification) ④ 相关分析辨识方法 (Correlation Analysis Identification) ⑤ 谱分析辨识方法 (Spectral Analysis Identification) ▲ 现代的辨识方法 (Modern Identification):假定一种模型结构,通过模型与过 程之间的误差准则来确定模型的结构参数)。 ① 最小二乘类辨识方法 (Least Square Identification) ② 梯度校正辨识方法 (Gradient Correction Identification) ③概率逼近辨识方法(Probability Approximation Identification) 经典的辨识方法 1)首先得到系统的非参数模型; 2)由非参数模型转换成参数模型。
K 1 lim h1 (t )
hr (t ) [ K r 1 hr 1 ( )]d
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r =
1.0000 0.9996
0.9996 1.0000
此时原传递函数和辨识所得传递函数的阶跃响应对比如下图:
图1.2原传递函数和辨识所得传递函数的阶跃响应对比
由上图可以看出,在未加入噪声之前,采用面积法辨识结果很精确,并且,分子可以为阶次低于分母的任意阶次。
1.2.2加入噪声为便于对来自,仍取系统传递函数如下:b1=M(1,1)
b2=M(2,1)
%求分母系数a1,a2,a3
N=[1 0 0;A1 1 0;A2 A1 1]*[b1;b2;0]+[A1;A2;A3];
fprintf('分母多项式系数为:')
a1=N(1,1)
a2=N(2,1)
a3=N(3,1)
%求辨识所得传递函数
num1=[b2 b1 1];
当传递函数的形式如下所示时
…………………………………(1.9)
定义
………………………………(1.10)
由于 …………………………………………(1.11)
则 的Laplace变换为:
……………………………………(1.12)
定义一阶面积 为:
………(1.13)
令
……………………………………………………………(1.14)
a3=sum3
%绘制辨识后的传递函数
dt=0.01;
t=0:dt:50;
num2=1;
den2=[a3 a2 a1 1];
fprintf('系统辨识后的传递函数为:')
G=tf(num2,den2)
h=step(num2,den2,t);%辨识所得传递函数阶跃响应
plot(t,y,'black',t,h,'blue');
fprintf('原系统传递函数为:')
G=tf(num,den)
L=length(t);
cs=randn(1,L);%产生噪声
cs=cs/std(cs);
cs=cs-mean(cs);
cs=pj+fc*cs;
cs=cs';
y=step(num,den,t)+cs;%加入噪声
Length=length(y);
定义二阶面积为:
…(1.15)
同理,令
……………………………………(1.16)
定义 阶面积为 。由此可得:
…(1.17)
上式可写成如下形式:
………………………(1.18)
………………………(1.19)
通过该系数矩阵,即可求出传递函数分子分母系数的值。
1.2程序设计
1.2.1传递函数形式如式1.1的系统
grid;
xlabel('t/s');
ylabel('y(t)');
fprintf('相关系数:'); %求相关系数
r=corrcoef(y,h)
运行以上程序结果如下:
原系统传递函数为:
G =
s^2 + 3 s + 1
-------------------------
2 s^3 + 5.5 s^2 + 3 s + 1
……………………………(1.2)
面积法原则上可以求出n为任意阶的各系数。以n=3为例,注意到
…………………………(1.3)
将式(2.1.2)的y(t)项移至右边,在[0,t]上积分,得
…………………………………(1.4)
定义
……………………………………………………………(1.5)
则由式(2.1.3)给出的条件可知,在t→∞
由上图可以看出,辨识所得结果比较准确。
1.2.1传递函数形式如式(1.9)的系统(无噪声)
取系统传递函数如下:
MATLAB程序如下:
clc%清空工作区
clear
dt=0.01; %设置采样时间
t=0:dt:20; %设置时间长度
num=[1 3 1]; %分子多项式系数
den=[2 5.5 3 1]; %分母多项式系数
D(i)=sum4;
end
A4=sum4
%求A5
sum5=0;
for(i=1:Length-1)
sum5=sum5+(D(i)-A4*(y(i)+y(i+1))/2)*dt;
end
A5=sum5
%求分子系数b1,b2
M=(-1)*(inv([A3,A2;A4,A3]))*[A4;A5];
fprintf('分子多项式系数为:')
y=step(num,den,t);
Length=length(y);%数据长度
plot(t,y);
grid;
xlabel('t/s');
ylabel('y(t)');
%进行辨识设计
fprintf('辨识参数结果:');
%求a1
sum1=0;
for(i=1:Length)
sum1=sum1+(1-y(i))*dt;
A(i)=sum1;
end
A1=sum1
%求A2
sum2=0;
for(i=1:Length-1)
sum2=sum2+(A(i)-A1*(y(i)+y(i+1))/2)*dt;
B(i)=sum2;
end
A2=sum2
%求A3
sum3=0;
for(i=1:Length-1)
sum3=sum3+(B(i)-A2*(y(i)+y(i+1))/2)*dt;
G =
1
-------------------------
3 s^3 + 2 s^2 + 5.2 s + 1
Continuous-time transfer function.
辨识参数结果:
a1 =
5.2048
a2 =
2.0608
a3 =
2.8388
系统辨识后的传递函数为:
G =
1
-----------------------------------
end
A5=sum5
%求分子系数b1,b2
M=(-1)*(inv([A3,A2;A4,A3]))*[A4;A5];
fprintf('分子多项式系数为:')
b1=M(1,1)
b2=M(2,1)
%求分母系数a1,a2,a3
N=[1 0 0;A1 1 0;A2 A1 1]*[b1;b2;0]+[A1;A2;A3];
den1=[a3 a2 a1 1];
fprintf('辨识所得传递函数为:')
G=tf(num1,den1)
h=step(num1,den1,t);
plot(t,y,'black',t,h,'blue');
legend('原传递函数','辨识所得传递函数');
title('原传递函数与辨识所得传递函数的阶跃响应对比')
……………………………………………………………(1.6)
将式a1y(t)移到等式右边,定义
…………………………………(1.7)
利用初始条件(2.1.3)当t→∞时
……………………………………………………………………(1.8)
同理有a3=F3(∞)
以此类推,若n≥2,有an=Fn(∞)
1.1.2分子、分母分别为m阶和n阶多项式的系统
取系统传递函数如下:
MATLAB程序如下:
clc%清空工作区
clear
dt=0.01;%设置采样时间
t=0:dt:50;%设置时间长度
num=1;%此系统分子为1
den=[3 2 5.2 1];%分母多项式系数
%绘制原传递函数阶跃响应曲线
fprintf('原系统传递函数为:')
G=tf(num,den)
fprintf('A1-A5阶面积分别为:')
%求A1
sum1=0;
for(i=1:Length-1)
sum1=sum1+(1-(y(i)+y(i+1))/2)*dt;
A(i)=sum1;
end
A1=sum1
%求A2
sum2=0;
for(i=1:Length-1)
sum2=sum2+(A(i)-A1*(y(i)+y(i+1))/2)*dt;
B(i)=sum2;
end
A2=sum2
%求A3
sum3=0;
for(i=1:Length-1)
sum3=sum3+(B(i)-A2*(y(i)+y(i+1))/2)*dt;
C(i)=sum3;
end
A3=sum3
%求A4
sum4=0;
for(i=1:Length-1)
sum4=sum4+(C(i)-A3*(y(i)+y(i+1))/2)*dt;
F(i)=sum1;
end
a1=sum1
%求a2
sum2=0;
for(i=1:Length)
sum2=sum2+(F(i)-a1*y(i))*dt;
f(i)=sum2;
end
a2=sum2
%求a3
sum3=0;
for(i=1:Length)
sum3=sum3+(f(i)-a2*y(i))*dt;