系统辨识理论及MATLAB仿真——学习笔记(1)

2023-05-16

系统辨识理论及MATLAB仿真学习笔记(1)

  • 前言
  • 目录
  • 第1章 绪论
    • 1.1 建立数学模型的基本方法
    • 1.2 系统辨识的定义
    • 1.3 系统辨识的研究目的
    • 1.4 数学模型的分类
    • 1.5 几种常见的数学模型的数学表示
    • 1.6 系统辨识常用的误差准则
    • 1.7 系统辨识的分类
      • 1.7.1 离线辨识
      • 1.7.2 在线辨识
    • 1.8 辨识的内容和步骤
    • 1.9 系统辨识方法
    • 1.10 系统辨识方法分类
      • 1.10.1 经典系统辨识方法
      • 1.10.2 现代系统辨识方法

前言

系统辨识是指根据系统的实验数据来确定系统的数学模型;

目录

  • 绪论
  • 系统辨识常用输入信号
  • 最小二乘参数辨识方法及原理
  • 极大似然参数辨识方法及其应用
  • 传递函数的时域与频域辨识
  • 神经网络辨识及其应用
  • 模糊系统辨识
  • 智能优化算法辨识
  • 灰色系统辨识

第1章 绪论

为实现自适应控制,要不断估计其模型参数,自适应控制系统是辨识与控制相结合的一个范例,也是辨识在控制系统中的应用;

系统辨识状态估计控制理论是现代控制理论的三大分支;

1.1 建立数学模型的基本方法

所谓模型,就是把关于实际过程的本质部分的信息简写成有用的描述形式。用数学结构和形式来反映实际过程行为特性的模型就是数学模型。

建立数学模型的两种基本方法:

  • 理论分析法(机理分析法)
  • 测试法

理论分析方法只能用于较简单系统的建模,并且对系统的机理要有较清楚的了解;

系统的动态特性必然表现于输入、输出数据中。

利用输入、输出数据所提供的信息来建立系统的数学模型,这种建模方法称为系统辨识;

与理论分析方法相比,测试法的优点是不需要深入了解系统的机理,不足之处是必须设计一个合理的试验以获取所需要的大量信息,而设计合理的试验是很困难的;

在实际研究中,机理已知部分(名义模型)采用理论分析方法,机理未知部分采用测试方法;

平方运算(二乘)

在估计系统参数时,采用误差平方和最小来估计参数时的估计方法为最小二乘估计算法,简称最小二乘法;

1.2 系统辨识的定义

通俗含义是根据被控对象或被辨识系统的输入、输出观测信息来估计它的数学模型

  • L.A.Zadeh(1962):辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所观测系统等价的模型;
  • P.Eykhoff(1974):辨识问题可以归结为用一个模型来表示客观系统(或将要构造的系统)本质特征的一种演算,并用这个模型把客观系统表示成有用的形式;
  • L.Ljung(1978):辨识有3个要素,即数据模型类准则。其中,数据是辨识的基础,准则是辨识的依据,模型类是辨识的范围。辨识就是按照一个准则在一组模型类中选择一个对数据拟合得最好的模型;

1.3 系统辨识的研究目的

通过辨识建立数学模型通常有6个目的

  • 系统仿真
  • 系统预测
  • 系统设计和控制
  • 系统分析
  • 故障诊断
  • 验证机理模型

1.4 数学模型的分类

数学模型的分类

  • 按提供的实验信息分为:黑箱灰箱白箱
  • 按概率角度分为:确定性模型随机性模型(确定性模型所秒描述的系统,当状态确定后,其输出响应是唯一确定的。而随机性模型所描述的系统,当状态确定后,其输出响应是不确定的)
  • 按模型与时间的关系分为:静态模型动态模型(静态模型用于描述系统处于稳态时(各状态变量的各阶导数为零)的各状态变量之间的关系,一般不是时间的函数。动态模型用于描述系统处于过渡过程时的各状态变量之间的关系,一般为时间的函数;)
  • 按时间刻度分为:连续模型离散模型
  • 按参数与实践的关系分为:定常模型时变模型
  • 按参数与输入/输出的关系分为:线性模型非线性模型
  • 按模型的表达形式分为:参数模型非参数模型(非参数模型是指从一个实际系统的实验过程中,直接或间接地所获得的响应,是确定性的模型。采用推理的方法所建立的模型则为参数模型,它可以由非参数模型转化而来。
  • 按参数的性质分为:分布参数模型和集中参数模型
  • 按输入/输出个数分为:单输入单输出模型多输入多输出模型
  • 按模型的使用形式分为:离线模型在线模型

对系统进行试验,获取全部数据后,运用辨识算法对数据进行集中处理,以得到模型参数的估计值,这种方法称为离线辨识。而在线辨识需要知道模型的结构和阶次,当获得新的输入、输出数据之后,采用递推辨识法对原来的参数估计值进行修正,得到新的参数估计值;

1.5 几种常见的数学模型的数学表示

时域中常用的数学模型

  • 微分方程
  • 差分方程
  • 状态方程

复数域中常用的数学模型

  • 传递函数
  • 结构图

频域中常用的数学模型

  • 频率特性

系统辨识中常用的数学模型

  • 离散脉冲响应函数
  • 线性差分方程
  • 状态空间模型

1.6 系统辨识常用的误差准则

辨识时采用的误差准则是辨识问题的3要素之一,是用来衡量模型接近实际系统的标准。

误差准则常被表示为误差的泛函数

误差函数一般指模型与实际系统的误差

误差的确定分为输出误差准则输入误差准则广义误差准则

系统辨识中一般采用输出误差准则

1.7 系统辨识的分类

根据描述系统数学模型的不同

  • 线性系统辨识和非线性系统辨识
  • 集中参数系统辨识和分布参数系统辨识

根据系统的结构

  • 开环系统辨识
  • 闭环系统辨识

根据参数估计方法

  • 离线辨识和在线辨识

此外还有

  • 经典系统辨识和近代系统辨识
  • 系统结构辨识和系统参数辨识

其中,离线辨识与在线辨识是系统辨识中常用的两个基本概念;

1.7.1 离线辨识

离线辨识要求把被辨识对象从整个系统中分离出来,然后将大量输入、输出数据存储起来,并按照一定的辨识算法进行数据处理。如果系统的模型结构已经选好,阶数也已确定,在获得全部数据之后,用最小二乘法、极大似然法或其他估计方法,对数据进行集中处理后,得到模型参数的估计值,这种方法称为离线辨识;

离线辨识的优点是参数估计值的精度较高,对于计算时间没有苛刻的限制;缺点是需要存储大量数据,运算量也大

1.7.2 在线辨识

在线辨识时,系统的模型结构和阶数时事先确定好的。当获得一部分新的输入、输出数据后,在线估计采用递推方法进行处理,从而得到模型新的估计值。在线辨识不要求存储从过去到现在的全部输入、输出信息,而是在某个初值下,不断利用新信息进行递推算法从而不断修正模型参数的估计值。这就要求计算机在一个采样周期内,能够完成一次递推运算,要求递推算法有足够快的收敛速度;

在线辨识的优点是所要求的计算机存储量较小,辨识计算时运算量较小,适合于实时控制;缺点时参数估计的精度较差,要求足够高的计算速度,相应地会增加设备费用;

1.8 辨识的内容和步骤

辨识就是从一组观测到的含有噪声的输入、输出数据中提取数学模型的方法

  1. 明确辨识的目的
  2. 掌握先验知识
  3. 利用先验知识
  4. 试验设计
  5. 数据预处理
  6. 模型结构选取和辨识
  7. 模型参数辨识
  8. 模型检验

模型验证方法

  • 用不同时间段内采集的数据分别建模,如果模型基本符合,则认为模型时可靠的
  • 用采集到的部分数据进行建模,用其余的试验数据进行预测。然后与相同条件下实际测量到的数据进行比较,如果相差较小,可认为模型正确
  • 利用不同试验方法得到的结果相互验证。
  • 利用模型和实测数据的残差进行验证。

1.9 系统辨识方法

以飞行器的系统辨识为例,其系统辨识方法包括4个方面

  • 信号激励(充分激励出飞行器的运动模态以保证产生的数据能够充分反映飞行器的物理特性)
  • 信号测量
    • 试验数据采集
    • 试验数据的处理(漂移、跳点、噪声)
  • 辨识模型的建立
  • 系统辨识方法

1.10 系统辨识方法分类

系统辨识方法包括经典系统辨识方法和现代系统辨识方法

1.10.1 经典系统辨识方法

  • 阶跃响应法
  • 脉冲响应法
  • 频率响应法
  • 相关分析法
  • 谱分析法
  • 最小二乘法
  • 极大似然法

最小二乘法是一种经典的和最基本的方法,但其是有偏差的,为了克服其缺陷,形成了一些以最小二乘法为基础的系统辨识方法

  • 广义最小二乘法
  • 辅助变量法
  • 增广最小二乘法
  • 广义最小二乘法
  • 最小二乘两步法和随机逼近算法

1.10.2 现代系统辨识方法

  • 集员系统辨识法(集员辨识是假设在噪声或噪声功率未知但有界的情况下,利用数据提供的信息给参数或传递函数确定一个总是包含真参数或传递函数的成员集)
  • 神经网络系统辨识法
  • 模糊逻辑系统辨识法
    • 模型结构的辨识
      • 模糊网格法
      • 自适应模糊网格法
      • 模糊聚类法
      • 模糊搜索树法
    • 模型参数的估计
  • 智能算法系统辨识法
    • 遗传算法
    • 蚁群算法
    • 粒子群算法
    • 差分进化算法
参考书籍:《系统辨识理论及MATLAB仿真》——刘金琨
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

系统辨识理论及MATLAB仿真——学习笔记(1) 的相关文章

随机推荐

  • DIY遥控船(一):电调和舵机的驱动[使用STC89C52]

    在动力模型中 xff0c 有两样东西是最基本 最必要的 xff0c 即舵机和无刷电机 舵机提供转动特定角度的功能 xff0c 而无刷电机需要由电调 xff0d xff0d 电子调速器驱动 舵机 舵机又叫伺服电机 xff0c 可以按照输入的指
  • GD32VF103之CRC

    在GD32VF103内部有一个CRC 循环冗余校验计算单元 xff0c 使用它可以对数据的完整性和正确性进行校验 xff0c 比如固件的完整性和正确性校验 通信数据的校验等 它使用固定的32位多项式 xff1a 0x4C11DB7 xff1
  • GD32VF103之GPIO最小配置

    longan nano是Sipeed xff08 矽速科技 xff09 推出的开发板 xff0c 使用兆易创新的gd32vf103cbt6芯片 xff0c 该芯片是基于芯来科技的Nuclei Bumblebee处理器的32位通用微控制器 x
  • Linux控制I2C/SMBus设备

    平台 xff1a 树莓派 bcm2835 Raspberry Pi 3 Model B Rev 1 2 I2C是Philips开发的一种两线通信协议 xff0c 常用于一些对速度要求不高的小型器件上 SMBus是系统管理总线 xff0c 基
  • ArduPilot/APM源码学习笔记(一)

    最近开始学习ArduPilot APM飞控的源码 xff0c 源码托管在github上 源码链接 xff1a https github com diydrones ardupilot 飞控主页 xff1a http ardupilot co
  • GRUB2引导修复

    本来是想把GRUB2装到U盘 xff0c 却不小心把电脑的GRUB搞坏了 原因可能是我执行命令grub install时没有加任何参数 xff0c 由于不知道没有参数怎么执行 xff0c 我赶紧ctrl 43 c终止了安装 xff0c 最后
  • ardupilot的libraries之PID

    在源码的libraries中 xff0c 有两个关于PID的源文件文件夹 xff0c 一个叫AC PID xff0c 另一个是PID AC PID中又细分为AC HELI PID AC P和AC PID xff0c 这里我们只讨论AC PI
  • stm32串口HAL库的DMA发送问题

    本文使用stm32f411ret的串口1的DMA方式发送数据 xff0c 刚开始调试的时候发现串口只能发送一次数据 xff0c 之后就把系统hang住了 通过网上搜资料和不断尝试 xff0c 发现问题是中断回调函数没有写的原因 使用HAL库
  • stm32的HAL库i2c从机实现

    stm32的i2c默认就是slave模式 xff0c 本文基于HAL库实现中断方式的接收和发送 xff0c 首先是初始化gpio和i2c xff0c 代码如下 xff1a I2C HandleTypeDef I2cHandle void H
  • openBLT-系统结构及框架

    openBLT 系统结构及框架 前言1 框架1 1设备层1 2中间件1 2 1 COM1 2 2 BACKDOOR1 2 3 FILE 1 3应用层 前言 openBLT 是开源的小型嵌入式系统bootloader xff0c 目前支持ST
  • 磁力计的基本工作原理

    http www dzsc com data html 2010 11 29 87454 html ST集成传感器方案实现电子罗盘功能
  • Ubuntu(ROS+雷达)修改udev/rules/更改ttyUSB 使端口绑定

    前提 xff1a 1 Linux xff08 Ubuntu xff09 系统 xff0c 本版本为Ubuntu16 04 2 确定USB口可以使用 xff08 拔插U盘看看有没有弹出文件夹窗口 xff09 参考博客 xff1a https
  • CAN总线 标准帧/扩展帧滤波器设置

    在CAN协议里 xff0c 报文的标识符不代表节点的地址 xff0c 而是跟报文的内容相关的 因此 xff0c 发送者以广播的形式把报文发送给所有的接收者 节点在接收报文时 根据标识符 CAN ID 的值决定软件是否需要该报文 xff1b
  • http之 半包 粘包

    短连接 xff1a 连接 gt 传输数据 gt 关闭连接 HTTP是无状态的 xff0c 浏览器和服务器每进行一次HTTP操作 xff0c 就建立一次连接 xff0c 但任务结束就中断连接 也可以这样说 xff1a 短连接是指SOCKET连
  • Ardupilot飞控编译环境搭建

    构建环境 Ardupilot具有完整的开发库 xff0c 其编译代码可以直接下载 xff0c 在Windows上 xff0c 可以利用Cygwin编译器来进行下载并编译 xff0c 对此怒飞垂云的教程中有详细的下载方法 xff1a 飞控固件
  • 转:跳点搜索算法JPS及其优化(万字长文)

    欢迎关注作者git博客 1 引言 寻路算法用途众多 xff0c 例如在游戏和地图中 A 算法已经众所周知 xff0c 对于其优化也是层出不穷 xff0c 然而性能并没有取得突破性进展 本文介绍JPS的效率 多线程 内存 路径优化算法 为了测
  • socket编程——sockaddr_in结构体操作

    socket编程 sockaddr in结构体操作 sockaddr结构体 sockaddr的缺陷 xff1a struct sockaddr 是一个通用地址结构 xff0c 这是为了统一地址结构的表示方法 xff0c 统一接口函数 xff
  • Resource not found: rgbd_launch 解决方案

    Resource not found rgbd launch 解决方案 操作环境问题描述解决方案 操作环境 虚拟机 xff1a VMware 系统版本 xff1a Ubuntu 18 04 ROS版本 xff1a Melodic 摄像头 x
  • ModuleNotFoundError: No module named ‘cv2‘

    ModuleNotFoundError No module named 39 cv2 39 问题描述模块安装模块安装问题解决 问题描述 系统环境 xff1a ubuntu 18 04 操作内容 xff1a 配置DenseFusion运行环境
  • 系统辨识理论及MATLAB仿真——学习笔记(1)

    系统辨识理论及MATLAB仿真学习笔记 xff08 1 xff09 前言目录第1章 绪论1 1 建立数学模型的基本方法1 2 系统辨识的定义1 3 系统辨识的研究目的1 4 数学模型的分类1 5 几种常见的数学模型的数学表示1 6 系统辨识