IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 关于线性连续系统转换到离散系统的方法 -> 正文阅读

[人工智能]关于线性连续系统转换到离散系统的方法

关于线性连续系统转换到离散系统的方法

虽然通常在分析设计控制器时,总是针对连续系统设计的。但是若要将其在实际工程中应用起来,则免不了需要将它转换为离散的形式。本文主要对连续系统转换到离散系统的几种方法进行了汇总,便于之后的翻阅。

参考资料:

1.传递函数

线性连续系统的一种重要的表示形式为传递函数。将传递函数进行离散化的方法就是z变换,将传递函数中的"s"变量全部用"z"替换即可。
G ( s ) ? G ( z ) G(s) \longrightarrow G(z) G(s)?G(z)
常见的三种"s"与"z"的对应关系分别如下所示,其中 T T T表示采样时间。

  • 前项差分变换
    z = 1 + T s (1) z=1+Ts \tag{1} z=1+Ts(1)

  • 后项差分变换
    z = 1 1 ? T s (2) z=\frac{1}{1-Ts} \tag{2} z=1?Ts1?(2)

  • 双线性变换(Tustin变换)
    z = 1 + T s / 2 1 ? T s / 2 (3) z=\frac{1+Ts/2}{1-Ts/2} \tag{3} z=1?Ts/21+Ts/2?(3)

2.状态空间方程

线性连续系统的另一种重要的表示形式为状态空间方程。一般来说,将状态空间方程进行离散化的方法有两种,分别为欧拉法和零阶保持法。下面分别进行介绍。
{ x ˙ = A x + B u y = C x + D u ? { x ( k + 1 ) = A z x ( k ) + B z u ( k ) y ( k ) = C z x ( k ) + D z u ( k ) \begin{cases} \dot{x}=Ax+Bu \\ y=Cx+Du \end{cases} \longrightarrow \begin{cases} x(k+1)=A_zx(k)+B_zu(k) \\ y(k)=C_zx(k)+D_zu(k) \end{cases} {x˙=Ax+Buy=Cx+Du??{x(k+1)=Az?x(k)+Bz?u(k)y(k)=Cz?x(k)+Dz?u(k)?

2.1.欧拉法

欧拉法利用了泰勒展开式的一阶近似,将状态导数表示为了如下形式
x ˙ = x ( k + 1 ) ? x ( k ) T (4) \dot{x}=\frac{x(k+1)-x(k)}{T} \tag{4} x˙=Tx(k+1)?x(k)?(4)
将上式代入状态空间方程,可以得到离散化状态空间方程
{ x ( k + 1 ) = A z x ( k ) + B z u ( k ) y ( k ) = C z x ( k ) + D z u ( k ) (5) \begin{cases} x(k+1)=A_zx(k)+B_zu(k) \\ y(k)=C_zx(k)+D_zu(k) \end{cases} \tag{5} {x(k+1)=Az?x(k)+Bz?u(k)y(k)=Cz?x(k)+Dz?u(k)?(5)
上式中, A z = I + T A , B z = T B , C z = C , D z = D A_z=I+TA,B_z=TB,C_z=C,D_z=D Az?=I+TA,Bz?=TB,Cz?=C,Dz?=D

2.2.零阶保持法

我们知道,线性系统的状态空间方程的解可以表示为
x ( t ) = e A ( t ? t 0 ) x ( t 0 ) + ∫ t 0 t e A ( t ? τ ) B u ( τ ) d τ (6) x(t)=e^{A(t-t_0)}x(t_0)+\int_{t_0}^t{e^{A(t-\tau)}Bu(\tau)d\tau} \tag{6} x(t)=eA(t?t0?)x(t0?)+t0?t?eA(t?τ)Bu(τ)dτ(6)
上式中, e A ( t ? t 0 ) e^{A(t-t_0)} eA(t?t0?)表示系统的状态转移矩阵, e A e^A eA的形式称为矩阵指数。

定义时间间隔为 T = t k + 1 ? t k T=t_{k+1}-t_{k} T=tk+1??tk?,且假设在时间间隔内 A ( t ) , B ( t ) , u ( t ) A(t),B(t),u(t) A(t),B(t),u(t)保持不变。则式(6)可以写成
x ( t k + 1 ) = e A T x ( t k ) + ∫ 0 T e A ( T ? τ ) d τ B u ( t k ) = e A T x ( t k ) + e A T ∫ 0 T e ? A τ d τ B u ( t k ) (7) \begin{aligned} x(t_{k+1})&=e^{AT}x(t_k)+\int_{0}^T{e^{A(T-\tau)}d\tau}Bu(t_k) \\ &=e^{AT}x(t_k)+e^{AT}\int_{0}^T{e^{-A\tau}d\tau}Bu(t_k) \end{aligned} \tag{7} x(tk+1?)?=eATx(tk?)+0T?eA(T?τ)dτBu(tk?)=eATx(tk?)+eAT0T?e?AτdτBu(tk?)?(7)
由式(7)可以确定, A z = e A T , B z = e A T ∫ 0 T e ? A τ d τ B A_z=e^{AT},B_z=e^{AT}\int_{0}^T{e^{-A\tau}d\tau}B Az?=eAT,Bz?=eAT0T?e?AτdτB

在计算矩阵 B z B_z Bz?时,由于存在矩阵指数的积分运算,在实际使用时可能会比较麻烦。当矩阵 A A A可逆时,矩阵指数的积分运算可以进行简化,如式(8)所示。具体推导过程详见Optimal State Estimation Kalman, H Infinity, and Nonlinear Approaches
∫ 0 T e ? A τ d τ = [ I ? e ? A T ] A ? 1 (8) \int_{0}^T{e^{-A\tau}d\tau}=[I-e^{-AT}]A^{-1} \tag{8} 0T?e?Aτdτ=[I?e?AT]A?1(8)
以上介绍的两种离散化方法中,零阶保持法在精确度和稳定性方面优于欧拉法。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:43:23  更:2022-04-18 17:46:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/8 3:26:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码