1、书书书文章编号 : 1674-7070( 2012) 01-0001-28系统辨识( 6):多新息辨识理论与方法丁锋1, 2, 3摘要多新息辨识是系统辨识的一个重要分支 新息是能够改善参数估计精度或状态估计精度的有用信息 首先 , 详细讨论了线性回归模型的各种多新息辨识方法 , 包括多新息投影算法 、多新息随机梯度算法 、多新息遗忘梯度算法 、变递推间隔多新息随机梯度算法 、多新息最小二乘辨识方法 、变递推间隔多新息最小二乘算法等 ; 然后 , 给出了方程误差类系统 、输出误差类系统 、输入非线性系统的随机梯度辨识算法 、多新息随机梯度算法和多新息最小二乘辨识算法 ; 最后 , 简单说明了多新
2、息辨识理论可以发展到多新息观测器和多新息卡尔曼滤波理论 关键词迭代辨识 ; 递推辨识 ; 参数估计 ; FIR模型 ; 方程误差模型 ; CAR 模型 ; CARMA模型 ; CARAR 模型 ; CARARMA 模型 ; 输出误差模型 ; OEMA 模型 ; OEAR 模型 ; 辅助模型辨识 ; 多新息辨识 ; 递阶辨识 ; 耦合辨识中图分类号 TP273文献标志码 A收稿日期 2011-12-14资助项目 国家自然科学基金 ( 60973043)作者简介丁锋 , 男 , 博士 , 教授 , 博士生导师 , 主要从事系统辨识 、过程建模 、自适应控制方面的研究 fding jiangnan
3、edu cn1 江南大学 物联网工程学院 , 无锡 , 2141222 江南大学 控制科学与工程研究中心 , 无锡 ,2141223 江南大学 教育部轻工过程先进控制重点实验室 , 无锡 , 2141220 引言这是一个信息时代 , 是一个知识爆炸时代 , 归根结底是信息科学和自动化科学高度发展的时代 控制论和控制科学给我们认识世界提供了系统的方法论 , 给我们改造世界提供了最高效和最有力的手段 控制科学跨越时空的伟大成就 自动化电子产品的问世 、电子设备计算能力和信息处理能力的提升 、自动化设备和装备的出现 , 彻底改变了我们的生活方式 新思想 、新理论 、新原理 、新概念的诞生都是科学史上
4、的重要里程碑 就研究建立系统数学模型的理论与方法的系统辨识而言 , 辅助模型辨识思想 、多新息辨识理论 、递阶辨识原理 、耦合辨识概念的诞生 , 有助于推动系统辨识学科的研究进程 1-6动态系统的数学模型是控制科学的基础 系统辨识是使用观测信息 ( 即系统的输入输出数据 ) 建立描述事物运动规律的数学模型 典型的随机梯度辨识方法 、最小二乘辨识方法就是利用系统输入输出信息计算模型的参数 为了实时 ( real-time) 获得系统模型参数 , 提出了递推辨识方法 , 它可以在线 ( on-line) 递推计算模型参数 它的基本思想是当前时刻模型参数估计等于前一时刻参数估计加上增益向量与新息 (
5、 innovation) 的乘积进行校正 , 这样的递推计算方式可以提高计算效率 所谓新息就是指能够改善参数估计精度或状态估计精度的有用信息 回顾辨识的发展史 , 自 1967 年国际自动控制联合会 ( IFAC, Inter-national Federation of Automatic Control) 每 3 年组织一次 “辨识与系统参数估计 ”专题讨论会以来 , 系统辨识参数估计方法和各种辨识应用软件工具得到长足发展 , 辨识方法的 ( 有界 ) 收敛性 、收敛速率 、估计误差上界的研究也取得了丰富的成果 但是 , 诞生新辨识方法族的确不多 , 可见提出新的辨识思想 、辨识理论 、辨
6、识原理 、辨识概念是极其重要的 近年来 , 本文作者等提出和创立了辅助模型辨识思想 ( auxiliarymodel identification idea) 7-11、多新息辨识理论 ( multi-innovation identi-fication theory) 12-14、递阶辨识原理 ( hierarchical identification princi-ple) 15-18、耦合辨识概念 ( coupled identification concept) 19和参数估计误差界理论 ( parameter estimation error bound theory) , 发展了时
7、不变系统的鞅收敛定理 ( martingale convergence theorem) , 建立了研究时变系统参数估计误差界的鞅超收敛定理 ( martingale hypercovergence the-orem) 等 , 进而提出和发展了辅助模型辨识方法 20-23、多新息辨识方法 24-30、递阶辨识方法 31-36、耦合辨识方法 19以及现存方法和新提出方法在不同条件下的性能分析等一系列研究成果 , 形成了一套理论体系 这些方法与最小二乘法 、卡尔曼滤波算法 、最小均方算法一样 , 可用于解决多种模型的参数估计 、自适应滤波和预测 ( adaptive filtering and p
8、re-diction) 、自适应信号处理 ( adaptive signal processing)和构成自适应控制等问题 本文作者拓展了新息辨识的概念 , 将标量新息扩展到新息向量 , 将向量新息扩展到新息矩阵 , 从而提出和建立了一种基于新息的辨识理论与方法 , 简称为多新息辨识理论与方法 最近 , 作者的多新息随机梯度型辨识方法和多新息最小二乘辨识方法 Reg-ular Paper 分别发表在控制领域国际期刊 Automati-ca2007 年第 1 期 12和 IEEE Transactions on Sys-tems, Man, and Cybernetics, Part B: Cy
9、bernetics2010年第 3 期 13本文首先介绍用于线性回归模型的多新息辨识理论 , 详细推导了多新息随机梯度辨识方法 , 介绍了一些多新息梯度型辨识算法 , 推导了 ( 变递推间隔 )多新息最小二乘算法 , 给出了一些派生的多新息最小二乘类辨识算法 ; 其次将多新息辨识理论用于有色噪声干扰的方程误差类系统和输出误差类系统 ,以及输入非线性系统的辨识 , 讨论了多新息随机梯度算法和多新息最小二乘算法 ; 最后将多新息辨识理论应用于观测器设计和卡尔曼滤波 , 提出了多新息观测器和多新息卡尔曼滤波器 本文较长 , 为便于阅读 , 特将本文框架结构列示如下 0 引言1 多新息辨识理论11 什
10、么是多新息辨识方法 ?12 变递推间隔多新息辨识方法13 多新息辨识的相关成果2 多新息随机梯度辨识方法 ( MISG)3 多新息梯度型辨识算法 ( MIGT)4 多新息最小二乘辨识方法 ( MILS)5 变递推间隔多新息最小二乘辨识方法 ( V-MILS)6 多新息最小二乘类辨识算法 ( MILST)7 方程误差类系统 ( EET)71 受控自回归系统 ( CAR)72 受控自回归滑动平均系统 ( CARMA)73 受控自回归自回归系统 ( CARAR)74 受控自回归自回归滑动平均系统( CARARMA)8 输出误差类系统 ( OET)81 输出误差系统 ( OE)82 输出误差滑动平均系
11、统 ( OEMA)83 输出误差自回归系统 ( OEAR)84 Box-Jenkins 系统 ( BJ)9 输入非线性受控自回归自回归滑动平均系统 ( IN-CARARMA)10 多新息观测器和多新息卡尔曼滤波器 ( MI-Observer and MI-KF)101 多新息观测器 ( MI-Observer)102 多新息卡尔曼滤波器 ( Multi-innova-tion Kalman filter)11 结语1 多新息辨识理论多新息辨识理论是本文作者 1994 年在其博士论文 时变参数系统辨识及其应用 中提出的 37, 其第 1 篇多新息辨识论文 “时变系统辨识的多新息方法 ”发表在 自
12、动化学报 1996 年第 1 期上 24, 而另一篇关于多新息辨识方法的 Regular paper“Perform-ance analysis of multi-innovation gradient type identifi-cation methods ( 多新息梯度型辨识方法 : 多新息随机梯度 、多新息遗忘梯度算法的性能分析 ) ”发表在控制界国际期刊 Automatica2007 年第 1 期上 12多新息辨识方法是受文献 38 算法间断迭代思想的启发 , 最初用类比方法 , 直接给出了变递推间隔多新息广义投影辨识算法的数学表达式 24 当时尚无法给出详细的理论推导 , 后经过深
13、入研究 , 从理论上详细推导了多新息投影辨识算法 、多新息随机梯度算法 、多新息最小二乘辨识算法 、变递推间隔多新息最小二乘算法等 这使得多新息辨识算法有了严密的数学基础 12, 14, 23, 27, 39 本文研究多新息辨识理论与一些多新息辨识方法 11 什么是多新息辨识方法 ?在此文之前的连载论文讨论的一些辨识算法 ,如最小二乘类和随机梯度类算法的一个共同特点 :都是利用单新息修正技术的单新息辨识方法 ( singleinnovation identification method) , 即对于标量系统y( t) = T( t) + v( t) ,其中 y( t) R 为输出 , ( t
14、) Rn为输入输出数据2丁锋 系统辨识 ( 6) : 多新息辨识理论与方法 DING Feng System identification Part F: Multi-innovation identification theory and methods构成的信息向量 , Rn为待辨识的参数向量 ,v( t) R 为零均值随机噪声 估计上式参数向量 的最小二乘辨识算法或随机梯度等辨识算法有下列形式 :( t) =( t 1) + L( t) e( t) ,其中 L( t) Rn为算法增益向量 ( gain vector) , e( t) : =y( t) T( t)( t 1) R 为标量新
15、息 ( scalar innova-tion) , 即单新息 ( single innovation) 这个算法可以这样描述 : t 时刻的参数估计向量( t) 是用增益向量 L( t) 与标量新息 e( t) 的乘积 , 对t 1 时刻参数估计向量( t 1) 进行修正 , 即( t)是在( t 1) 的基础上加上增益向量 L( t) 与新息e( t) 的乘积 这种方法也称为新息修正辨识方法或新息辨识方法 上述算法中新息 e( t) 是标量 , 我们把这个标量新息加以推广 , 就导出了多新息辨识方法 ( multi-in-novation identification method) 24
16、多新息辨识理论( multi-innovation identification theory) 就是将单新息修正技术加以推广 , 从新息修正角度提出多新息修正技术辨识的概念 , 建立多新息修正辨识方法 , 简称多新息辨识方法 顾名思义 , 多新息算法就是将新息加以推广 对标量系统而言 , 将算法中的标量新息 e( t) R 推广为新息向量 E( p, t) Rp, 即多新息 ( multi-innova-tion) , 为使矩阵乘法维数兼容 , 增益向量 L( t) Rn须推广为增益矩阵 ( gain matrix) ( p, t) Rn p, 那么多新息辨识算法可以写作( t) =( t
17、1) +( p, t) E( p, t) ,其中 ( p, t) Rn p为增益矩阵 ( gain matrix) , E( p,t) Rp为新息向量 ( innovation vector) , p1 为新息长度 ( innovation length) 多新息辨识算法就是从这里命名的 多新息辨识算法 t 时刻参数估计( t) 是用增益矩阵 ( p, t) 与新息向量 E( p, t) 的乘积对 t 1 时刻参数估计( t 1) 进行修正的 我们把基于多新息的辨识理论称为多新息辨识理论 ( multi-innovationidentification theory) , 把基于多新息的辨识方
18、法称为多新息辨识方法 1 2 变递推间隔多新息辨识方法传统递推辨识方法 ( 如最小二乘算法 ) 的一个典型特征是 , 参数估计每更新计算一次 , 即当 t = 1, 2,3, 都计算一次参数估计 , 亦即递推间隔 ( recursiveinterval) 为 1 这类辨识算法有一个最大缺点 : 当系统输入输出包含了不可信数据 , 即 “坏数据 ”时 , 或某些数据采集不到 , 即存在损失数据 ( missing-data) 时 ,算法无法跳过这些数据点 , 以避开坏数据对参数估计的影响 为此 , 我们提出了变递推间隔的递推辨识算法 , 它与多新息辨识算法相结合 , 便导出本文要讨论的变递推间隔
19、多新息辨识算法 多新息辨识方法又可分为多新息最小二乘法 、多新息随机梯度方法 、多新息投影算法等 定义可得到的数据点序列 ( 正整数序列 ) :1 = t0 t1 t2 ts 1 ts, ( 1)即所有 y( ts) 和 ( ts) , s =1, 2, 都可量测得到 变递推间隔多新息辨识算法 ( interval-varying multi-in-novation identification algorithm) 是通过新息向量 , 即多新息来进行修正的一种参数估计方法 , 后一时刻的参数估计( ts) 是在( ts 1) 的基础上依靠增益矩阵 ( p, ts) Rn p与新息向量 ( 多
20、新息 ) E( p, ts) Rp的乘积来修正的 , 亦即( ts) =( ts 1) +( p, ts) E( p, ts) ,其中 ts为计算参数估计的时间点 , t*s: = ts ts 11,s =1, 2, 3, 为递推间隔 传统辨识方法是变递推间隔多新息辨识方法的一个特例 例如 , 当 t*s1 和 p =1 时 , 我们就得到传统辨识方法 ; 当 p = 1 时 , 就得到变递推间隔辨识方法 ; 当 t*s1 时 , 就得到多新息辨识方法 由于变递推间隔多新息辨识方法引入了新息长度参量 , 采用了间断迭代 、变递推间隔方式 , 使得其具有克服坏数据对参数估计的影响 , 可以提高参
21、数估计精度 , 在处理损失数据系统 ( missing-data sys-tem) 以及不规则采样系统 ( irregularly sampled-datasystems) 10的辨识问题上具有独到的特点 1 3 多新息辨识的相关成果多新息辨识已经成为一个崭新的辨识领域 , 多新息辨识理论也可以用于研究各种模型的辨识问题 例如 :1) 多新息随机梯度辨识算法 、多新息遗忘梯度辨识算法的性能分析 12;2) 输出误差滑动平均模型的辅助模型多新息增广随机梯度辨识方法 29;3) 基于辅助模型的多输入单输出系统多新息最小二乘辨识方法 23;4) 多输入多输出系统多新息随机梯度辨识算法的一致收敛性 3
22、9;5) 多率多输入系统多新息随机梯度辨识算法3学报 : 自然科学版 , 2012, 4( 1) : 1-28Journal of Nanjing University of Information Science and Technology: Natural Science Edition, 2012, 4( 1) : 1-28及其收敛性 40;6) Box-Jenkins 模型的基于辅助模型的多新息广义增广随机梯度算法 41;7) 基于前向神经网络的多新息随机梯度辨识算法 42;8) 随机系统多新息辨识在衰减激励条件下的性能分析 43;9) 时变多变量系统多新息投影算法的均方收敛性 26
23、;10) 多新息随机梯度辨识方法 27;11) 衰减激励条件下确定性系统多新息算法的收敛性分析 25;12) 时变系统辨识的多新息方法 24;13) 基于辅助模型的输出误差系统多新息随机梯度算法及其收敛性 44;14) 基于辅助模型的多输入单输出系统多新息随机梯度辨识方法 45;15) 非均匀采样数据系统的辅助模型多新息广义增广随机梯度算法 41, 46;16) 多变量输入非线性系统的辅助模型多新息随机梯度辨识算法 47;17) 基于辅助模型的多率多输入系统多新息随机梯度参数估计 48;18) 多新息随机梯度型辨识方法与多新息最小二乘类辨识方法 492 多新息随机梯度辨识方法 ( MISG)最
24、小二乘辨识算法有快的收敛速度 , 但计算量大 , 因为需要计算协方差阵 随机梯度算法的计算量小 , 但收敛速度慢 为了改进随机梯度辨识方法的收敛速度 , 可引入新息长度 , 从而导出多新息随机梯度算法 多新息随机梯度算法 ( MISG) 就是在随机梯度算法 ( SG) 与最小二乘算法 ( LS) 的收敛速度和计算量之间找到折中 本节利用多新息理论 , 通过引入新息长度 , 研究线性回归模型的多新息随机梯度算法 ,以及派生的多新息遗忘梯度算法 、多新息投影算法 、多新息广义投影算法等 本节主要内容引自 Automatica2007 年第 1 期上论文 “Performance analysis
25、of multi-innovation gradi-ent type identification methods” 12考虑下列线性回归模型 ( linear regression mod-el) 的辨识问题 :y( t) =T( t) + v( t) , ( 2)其中 y( t) R 为输出 , ( t) Rn为输入输出数据构成的回归信息向量 , Rn为待辨识的参数向量 ,v( t) R 为零均值随机噪声 辨识系统 ( 2) 参数向量 的随机梯度算法 ( SG)如下 ( t) =( t 1) +( t)r( t)e( t) , ( 3)e( t) = y( t) T( t)( t 1) ,
26、 ( 4)r( t) = r( t 1) +( t) 2, r( 0) =1 ( 5)众所周知 , 随机梯度算法的收敛性慢 , 为了提高参数估计收敛速度 , 将标量新息 e( t) R 扩展为新息向量 12:E( p, t) =e( t)e( t 1)e( t p +1)Rp,其中正整数 p 表征新息长度 , 且e( t i) = y( t i) T( t i)( t i 1) 一般情况下 , 人们总是认为 ( t 1) 时刻的参数估计值( t 1) 比之前 t i 时刻 ( i =2, 3, 4, , p 1) 的估计值( t i) 更接近真参数向量 因此 , 为简化 , 新息向量可以合理取
27、为E( p, t) =y( t) T( t)( t 1)y( t 1) T( t 1)( t 1)y( t p +1) T( t p +1)( t 1)Rp ( 6)定义信息矩阵 ( p, t) 和堆积输出向量 Y( p, t) 为( p, t) = ( t) , ( t 1) , , ( t p +1) Rn p,Y( p, t) = y( t) , y( t 1) , , y( t p +1) TRp那么新息向量可以表述成E( p, t) = Y( p, t) T( p, t)( t 1) 因为 E( 1, t) = e( t) , ( 1, t) =( t) , Y( 1, t) = y
28、( t) ,所以随机梯度算法 ( 3) 可以等价为( t) =( t 1) +( 1, t)r( t) Y( 1, t) T( 1, t)( t 1) 这就是新息长度为 1 的 “多 ”新息随机梯度算法 把上式 ( 1, t) 和 Y( 1, t) 中的 “1”换为 p, 就得到新息长度为 p 的多新息随机梯度算法 :( t) =( t 1) +( p, t)r( t)E( p, t) 线性回归模型 ( 2) 的多新息随机梯度算法 ( MI-SG, Multi-Innovation Stochastic Gradient algorithm) 的基本方程为4丁锋 系统辨识 ( 6) : 多新息
29、辨识理论与方法 DING Feng System identification Part F: Multi-innovation identification theory and methods( t) =( t 1) +( p, t)r( t)E( p, t) , ( 7)E( p, t) = Y( p, t) T( p, t)( t 1) , ( 8)r( t) = r( t 1) +( p, t) 2, r( 0) =1,( 9)Y( p, t) = y( t) , y( t 1) , , y( t p +1) T,( 10)( p, t) = ( t) , ( t 1) , , (
30、t p +1) ( 11)由于这个算法里 E( p, t) Rp是一个新息向量 , 即多新息 , 又是从随机梯度算法派生出来的 , 这就是多新息随机梯度算法名称的来历 当 p = 1 时 , 多新息随机梯度算法就退化为随机梯度算法 为方便起见 , 设 t 为当前时刻 , 我们把 y( t) 和( t) 称为当前数据 , y( t i) 和 ( t i) ( t =1, 2, )称为过去数据 式 ( 6) 新息向量 E( p, t) 第 1 元为当前新息 , 其余为过去新息 与随机梯度算法相比 , 多新息随机梯度算法有下列优点 121) 在每步递推计算参数估计时 , 随机梯度算法( 3) ( 5
31、) 只使用了当前数据 y( t) 和 ( t) , 以及当前新息 ; 而多新息随机梯度算法 ( 7) ( 11) 不仅使用了当前数据和新息 , 而且使用了过去数据 y( t i) ,( t i) : i =1, 2, , p 1 和新息 这是潜在改善算法收敛性的原因 2) 多新息随机梯度辨识算法重复使用了系统数据 : 在时刻 t, MISG 算法使用的数据为 y( t i) ,( t i) : i =0, 1, , p 1 ; 而在时刻 t +1, MISG 算法使用的数据为 y( t +1 i) , ( t +1 i) : i =0, 1, p 1 因此 , 在两次相邻时刻递推计算参数估计时
32、 , 重复利用的数据为 y( t i) , ( t i) : i = 0, 1, p 2 这是多新息随机梯度算法改善参数估计精度原因 3) 在相同数据长度下 , 增加 p 能减小参数估计误差 换句话说 , 大 p 导致高精度的参数估计 , 因此 ,新息长度 p 的引入能改善参数估计精度 然而 , MISG算法比 SG 算法计算量有所增加 , 这种增加的计算量是可容忍的 , 是计算机完全可以胜任的 下面给出派生的几个典型多新息梯度型辨识算法 1) 多新息随机梯度算法为了进一步加快随机梯度算法的收敛速度 , 可将式 ( 9) 修改为 r( t) = r( t 1) +( t) 2 修改后的算法也称
33、为多新息随机梯度算法 ( MISG 算法 ) 12:( t) =( t 1) +( p, t)r( t)E( p, t) , ( 12)E( p, t) = Y( p, t) T( p, t)( t 1) , ( 13)r( t) = r( t 1) +( t) 2, r( 0) =1, ( 14)Y( p, t) = y( t) , y( t 1) , , y( t p +1) T,( 15)( p, t) = ( t) , ( t 1) , , ( t p +1) ( 16)2) 多新息遗忘梯度算法在式 ( 9) 或 ( 14) 中引入遗忘因子 , 可得到多新息遗忘因子随机梯度算法 , 简
34、称多新息遗忘梯度算法 ( MIFG, Multi-Innovation Forgetting Gradient algo-rithm) ( MIFG 算法 ) 12:( t) =( t 1) +( p, t)r( t)E( p, t) , ( 17)E( p, t) = Y( p, t) T( p, t)( t 1) , ( 18)r( t) =r( t 1) +( t) 2,0 1, r( 0) =1, ( 19)Y( p, t) = y( t) , y( t 1) , , y( t p +1) T,( 20)( p, t) = ( t) , ( t 1) , , ( t p +1) ( 2
35、1)3) 多新息投影算法比较随机梯度算法与投影算法的差别 , 直接用( p, t) 2代替式 ( 7) 中 r( t) , 或将式 ( 9) 修改为r( t) =( p, t) 2, 就得到多新息投影算法 ( MI-Proj, Multi-Innovation Projection algorithm) 12:( t) =( t 1) +( p, t)( p, t) 2E( p, t) , ( 22)E( p, t) = Y( p, t) T( p, t)( t 1) , ( 23)Y( p, t) = y( t) , y( t 1) , , y( t p +1) T,( 24)( p, t)
36、 = ( t) , ( t 1) , , ( t p +1) ( 25)从下节可知 , 这是一个简化多新息投影算法 4) 多新息广义投影算法如果取 r( t) =q1i =0( p, t i) 2, 或直接取r( t) =( q, t) 2( q 为记忆长度 ) , 就得到多新息广义投影算法 ( MIGP, Multi-Innovation GeneralizedProjection algorithm) :( t) =( t 1) +( p, t)r( t)E( p, t) , ( 26)E( p, t) = Y( p, t) T( p, t)( t 1) , ( 27)r( t) =( q
37、, t) 2, qp, ( 28)Y( p, t) = y( t) , y( t 1) , , y( t p +1) T,( 29)( p, t) = ( t) , ( t 1) , , ( t p +1) ( 30)当然 , 我们还可以得到带遗忘因子的广义投影算法等 多新息辨识算法的初值选择类似其他递推算法 , 可取为( 0) =1n/p0, p0=106MISG 算法 ( 12) ( 16) 随 t 增加 , 计算参数估计向量( t) 的步骤如下 5学报 : 自然科学版 , 2012, 4( 1) : 1-28Journal of Nanjing University of Informa
38、tion Science and Technology: Natural Science Edition, 2012, 4( 1) : 1-28 令 t =1:( 0) =1n/p0, r( 0) = 1, p0= 106, 1n是一个元均为 1 的 n 维列向量 采集输入输出数据 u( t) 和 y( t) , 由式 ( 15)构造堆积输出向量 Y( p, t) , 由式 ( 16) 构造信息矩阵( p, t) 由式 ( 13) 计算新息向量 E( p, t) , 由式 ( 14)计算 r( t) 根据式 ( 12) 刷新参数估计向量( t) t 增 1, 转到第 2 步 MISG 算法计算
39、参数估计( t) 的流程如图 1所示 图 1 MISG 算法计算参数估计( t) 的流程Fig1 The flowchart of computing the parameterestimate( t) in the MISG algorithm仿真试验如下 例 1 考虑下列仿真对象 12:A( z) y( t) = B( z) u( t) + v( t) ,A( z) =1 + a1z1+ a2z2=1 1. 35z1+0. 75z2,B( z) = b1z1+ b2z2=0. 214z1+0. 428z2,其中 u( t) 和 y( t) 分别是系统输入和输出 , z1为单位后移算子 z1
40、y( t) = y( t 1) 定义: = a1, a2, b1, b2T= 1.35, 0.75, 0.214, 0.428T,( t) : = y( t 1) , y( t 2) , u( t 1) , u( t 2) T,那么这个系统可以写成式 ( 2) 的形式 仿真时 , 输入 u( t) 采用零均值 、单位方差的不相关持续激励信号系列 , v( t) 采用零均值 、方差为2=0. 502的白噪声序列 , 系统的噪信比 ( noise-to-signal ratio) 为 ns= 82. 17% 应用随机梯度算法( 3) ( 5) ( 即在 MISG 算法中取 p = 1) 和多新息随
41、机梯度算法 ( 12) ( 16) ( 新息长度 p =2, 3, 5, 8) 估计这个系统的参数 , SG 参数估计和不同新息长度下的 MISG 参数估计及其误差如表 12, 参数估计误差 =( t) /随 t 变化曲线如图 2 所示 为与递推最小二乘算法 ( RLS) 比较 , 图 2 画出了递推最小二乘算法 ( RLS) 参数估计误差曲线 ( 最下面一条曲线 ) , RLS 参数估计及其误差如表 3 所示 从表 13 和图 2, 我们能看出 : MISG 估计 ( p2) 比 SG 估计有更高的精度 ; 随着新息长度 p 增加 ,MISG 算法给出的参数估计误差越来越小 , 并随着数据长
42、度 t 增加而趋于零 随着新息长度增加 , MISG估计越来越接近 RLS 估计 Matlab 程序如下 把下列程序写到 MISG_SG_RLS_ex1 m 文件中 ,依次运行 p =1, 2, 3, 5 和 p =8, 可得到上述例子的仿真结果 ( 参数估计表和误差曲线图 ) 1 % *2 % Filename: MISGSGRLSex1 m for the MISG, SG, RLSalgorithms *3 % The ARX models: A( z) y( t) = B( z) u( t) + v( t) *4 % The noise variance sigma2 =0. 502
43、*5 % The MISG algorithm with the innovation length p =1, 2, 3,5 and 8 *6 % *7 clear; clf; format short g8 M = The SG or MISG algorithm for ARX models9 sigma =0. 5; % The noise variance sigma2 =0. 50210 FF =1; % The forgetting factor lambda11 p =1; % The innovation length p =1, 2, 3, 5 and 81213 Plot
44、Length =3000; length1 = PlotLength +100;14 na =2; nb =2; n = na + nb;15 a = 1, 1. 35, 0. 75; b = 0, 0. 214, 0. 428; d =1;16 par0 = a( 2: na +1) , b( 2: nb +1) ;17 p0 =1e6; P = eye( n) * p0; r =1;18 par1 = ones( n, 1) /p0; parLS = par1;19 %Compute the noise to signal ratio20 sy = fintegral( a, b) ; s
45、v = fintegral( a, d) ;21 deltans = sqrt( sv/sy) * 100* sigma;22 sy, sv, deltans23 %Generate the input output data24 rand( state, 1) ; randn( state, 0) ;25 %u = ( rand( length1, 1) 0. 5) * sqrt( 12) ; % v = randn( length1, 1) ;26 u = idinput( length1, rgs, 0, 1, 1, 1) ;27 v = idinput( length1, rgs, 0
46、, 1, 1, 1) * sigma;28 y = ones( n, 1) /p0;29 for t = n +1: length16丁锋 系统辨识 ( 6) : 多新息辨识理论与方法 DING Feng System identification Part F: Multi-innovation identification theory and methods30 y( t) = par0* y( t 1: 1: t na) ; u( t 1: 1: t nb) + v( t) ;31 end32 %Identification33 jj =0; j1 =0;34 for t =10* n: length1,35 jj = jj +1;36 varphi = y( t 1: 1: t na) ; u( t 1: 1: t nb) ;37 Phi = varphi; Y = y( t: 1: t p +1) ;38 for i =1: p 139 Phi = Phi, y( t 1 i: 1: t na i) ; u( t 1 i: 1: t nb i) ;40 end41 %Compute the SG or MISG pa