0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于线性化的分析介绍和应用

MATLAB 来源:djl 作者:姜宇 2019-09-17 14:16 次阅读

1 为什么要探讨线性化

注:这里所说的线性化,包括下面会用到的"Exact Linearization", 都是指基于一阶泰勒展开的线性化近似,而不是基于微分几何的全局线性化或者输出反馈线性化。

很多人看到这个题目,或许第一感觉会是:“为什么要研究线性化?线性化不就是一阶泰勒展开吗?这再简单不过了,用小学数学就好啦!”

在理论上,这一点也没错。比如我们要在原点线性化如下的非线性模型,相信大多数人不假思索的就能告诉我:线性化的结果是 y = u。

关于线性化的分析介绍和应用

既然如此,我们为什么还要探讨线性化呢? 答案很简单,上面一个例子是理论上的,也就是经过很大程度上简化了的,几乎完美的。

那么实际上,工程中需要线性化的问题是什么样的呢?

假如有这样一个航天飞机的模型。工程师现在想把控制器参数优化一下。为此,他需要线性化从飞机控制器的输入到导航控制器的输入之间这个可能含有几千个模块,几万个信号的子系统。

很显然,想要解析的泰勒展开这样一个模型,在实际中是相当费时费力的。

关于线性化的分析介绍和应用

那么,我们来看看难点都在哪:

1. 没有非线性方程

理论上,动态系统总是可以用光滑的ODE来建模。而实际上,在工程应用中,系统往往是用框图来搭建的,比如用Simulink等软件。 用框图来建模有非常多的好处,比如可以方便的模块化,通过观察某个具体的信号值来debug, 还有其他的好处就不一一列举了。但是像这样复杂的框图模型是很难等价的转化成一组非线性方程组的。甚至有些模块,根本就不存在解析表达式。所以,很难对一个非线性方程去求偏导数来获得泰勒一阶展开项。

2. 不光滑

有些模块或许存在解析数学表达式,但是根本不可导;有些可能存在大量的奇异点;有些甚至导数无从定义,比如enabled subsystem, triggered subsystem等。

3. 多重采样时间

在很多实际模型里面,有些模块是连续的,例如积分器。有些模块是离散的,采样时间可以是0.1秒,可以是10秒,甚至可以是无穷大,比如constant block。那么,最后线性化出来的系统到底应该是连续的,还是离散的?

4. 牵一发而动全局

假设,在最理想的情况下:我们真的把这个模型对应的非线性方程组表示出来了, 并且最终验证了模型的准确性,然后成功的进行了线性化。可是,第二天模型的作者表示:”我把某几个子系统里的几条信号删掉了,然后把其它几条信号的连接方式重新设计了一下,你再帮我泰勒展开一下吧“。很不幸,这很大程度上意味着我们之前的解析方程组被彻底改变了,所有的工作需要重头在来过。这样的分析方式在实际的工程开发中是很不现实的,因为时间成本太高。

2 数值扰动

既然解析方法不行,那么应该怎么做呢?

一个比较传统而且有效的方法是数值扰动。

来看看第一个例子:

关于线性化的分析介绍和应用

我们可以在输入端输入一个常数,比如说du = 0.1。 然后, 我们测量输出信号,发现:

dy = 0.0998

两者相除,我们得到了一个基于数值线性化的结果:

y = 0.998*u

如果用更小的du,事实上我们可以得到更精确的结果。

现在这个方法看起来比解析方法好用了很多。在某种程度上,它的思想其实就是把整个系统当成是一个黑箱,通过输入输出来进行辨识。

事实上,对于比较小和比较简单的模型,数值扰动的效果都还是不错的。

1. 延时的处理

关于线性化的分析介绍和应用

在这个例子中,“黑箱”里有一个隐藏的很深的延时模块。在这种情况下,我们给这个系统提供扰动输入,然后去测量输出的时候,会发现输出信号过了很久都没有发生变化。由此,我们很有可能会错误的把这个系统线性化成一个0增益! 当然了,如果事先能知道其中有一个这样的Delay block,是可以采取一些措施来进行更好的辨识的。但即使如此,自动控制原理告诉我们,在频域上逼近一个Delay Block的一个很好的方式是用Pade Approximation。 但是这种逼近用数值扰动是很难做到的,特别是对于复杂的,含有多个具有不同时间长度的延时环节的系统。

现在,你也许已经可以看出此处存在的一个矛盾: 数值扰动是把整个模型当成一个黑箱,不需要知道黑箱里面的信息;但是我们实际上是知道这个黑箱里所有模块的具体情况的。可是这些信息在数值扰动的过程中没法有效的利用上。

2. 一些特殊的模块

再看看下面这个例子:

关于线性化的分析介绍和应用

如我们用数值扰动来线性化这个模型,那么我们会遇到两个不同的情况:

扰动的足够小,我们得到的是一个0增益的线性化结果;

扰动信号大到一定的程度,我们会得到一个线性的关系。

那么,哪个结果是对的呢?

答案是:都对,也都不对。这取决于用户的具体问题。

如果用户故意用这样一组quantizer, 目的就是想分析在一个很小的范围内此模型的动态。在此情况下,a是所期望的。还有一种可能,就是用户本身是不想用Quantizer的,但是在用数字电路实现某个部件的时候,不得已的让一个本来应该是线性增益的关系变成了这样的Quantization的结果。那么在这种情况,b是用户所期望的。

对于这样一个特殊的模块,我们的确可以通过调整干扰信号的大小来得到不同的结果。但是假设有无数多个类似这样的模块存在于某个模型中,有些模块是属于情况a,有些属于情况b,那么整个基于数值扰动的线性化结果就无法如用户所期望的了。

Simulink Control Design和Block-by-Block

Simulink Control Design工具箱的一大特点就是它提供了Block-by-Block的线性化方法。这个方法有时也叫Exact Linearization(不同于基于微分几何的全局线性化)。简单来讲,在线性化的过程中,每个模块会先被线性化,算出各自的Jacobian矩阵。然后由Simulink Control Design工具箱把这些信息有效的整合在一起(这是一个非常复杂的过程),从而计算出整个模型的线性化结果。

看下面这个例子:

关于线性化的分析介绍和应用

线性化通路上有3个模块,他们的Jacobian分别是cos(0) = 1, n阶的pade approximation的状态空间表达式和1。那么对于这个简单的系统而言,整个线性化的结果就是这三个线性系统的级联。

在第二个例子中:

关于线性化的分析介绍和应用

用户可以打开Quantizer的窗口:

关于线性化的分析介绍和应用

把Treat as gain when linearizing的选项打上勾,这样就会使得这个模块被线性化成一个线性增益。

Simulink Control Design工具箱还带有各种高级的功能。例如,对于一些很难线性化的模块,用户可以自己配置此模块的线性化结果,用于整个模型或者子系统的线性化。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数字电路
    +关注

    关注

    193

    文章

    1600

    浏览量

    80490
  • 线性化
    +关注

    关注

    1

    文章

    14

    浏览量

    11711
收藏 人收藏

    评论

    相关推荐

    线性光耦与线性光耦的差别

    呢?本文就将为大家介绍线性光耦与非线性的光耦区别。 光电耦合器分为两种:一种为非线性光耦,另一种为线性光耦。 非
    的头像 发表于 11-16 10:28 156次阅读

    横向线性马达的技术特点分析

    横向线性马达是一种新型的电动驱动装置,以其独特的结构和工作原理在工业自动、机器人技术以及电子设备等领域得到了广泛应用。本文将深入探讨横向线性马达的技术特点,包括其结构优势、性能指标以及应用场景。
    的头像 发表于 10-09 11:15 198次阅读
    横向<b class='flag-5'>线性</b>马达的技术特点<b class='flag-5'>分析</b>

    构建语音控制机器人 - 线性模型和机器学习

    轮子并识别音频信号,但它仍然无法通过语音命令控制或按预定义路径行驶。 线性控制模型 首先要解决的问题是实现直线驱动。为此,我们使用线性模型来控制提供给车轮的电压。使用线性模型适合对汽车系统进行建模,因为
    的头像 发表于 10-02 16:31 170次阅读
    构建语音控制机器人 - <b class='flag-5'>线性</b>模型和机器学习

    放大电路动态分析的基本方法

    等效为线性电路的方法。这种方法的核心在于,当晶体管在小信号(微变量)情况下工作时,其在静态工作点附近小范围内的特性曲线可以用直线近似代替,从而将其线性化。 具体步骤如下: 确定静态工作点 :首先,需要利用图解法或近似估算法
    的头像 发表于 09-23 10:31 793次阅读

    热电阻温度变送器线性化采用什么方法

    对热电阻温度变送器进行线性化处理。本文将介绍热电阻温度变送器线性化的方法。 热电阻温度变送器的基本原理 热电阻温度变送器主要由热电阻元件、测量电路和输出电路组成。热电阻元件是一种电阻值随温度变化的元件,常见
    的头像 发表于 08-11 15:09 804次阅读

    隔离电压线性采集电路原理分析

    最近买了一个隔离的线性采集电路的图纸,将其主要电路分享与各位道友,电路采用线性光耦和运算放大器做的隔离采集电路,可以将信号通过运算放大器+线性光耦隔离后传递给后级电路。
    的头像 发表于 07-17 11:39 2498次阅读
    隔离电压<b class='flag-5'>线性</b>采集电路原理<b class='flag-5'>分析</b>

    线性电路的基本特点是什么

    线性电路是一类具有非线性特性的电路,其输出与输入之间的关系不是线性的。非线性电路在电子技术、通信技术、自动控制等领域有着广泛的应用。本文将详细分析
    的头像 发表于 07-09 11:15 816次阅读

    什么是线性电路和非线性电路

    线性电路和非线性电路是电子学中两个基本的概念。它们的区别主要在于电路元件的输入-输出关系是否满足线性关系。下面我们将介绍线性电路和非
    的头像 发表于 07-09 11:14 3043次阅读

    线性霍尔传感器工作原理及特点应用

    线性型霍尔集成传感器是一种基于霍尔效应原理的传感器,它能够将磁场强度的变化转化为线性输出的电信号。以下是关于线性型霍尔集成传感器的详细介绍
    的头像 发表于 06-09 14:15 2392次阅读

    请问IMC300的热敏电阻输入引脚是否具有内部线性化功能?

    IMC300 的热敏电阻输入引脚是否具有内部线性化功能?
    发表于 05-28 07:28

    线性稳压器的分类介绍

    线性稳压器是一种电源管理集成电路,用于将输入电压稳定在恒定的输出电压。 线性稳压器根据输出电压的正负性可以分为正电压用和负电压用两大类。负电压用的线性稳压器种类相对较少。在这两大类中,线性
    的头像 发表于 02-25 15:00 732次阅读
    <b class='flag-5'>线性</b>稳压器的分类<b class='flag-5'>介绍</b>

    线性稳压器工作原理介绍

    线性稳压器是一种电源管理集成电路,它通过连续调整其内部通过元件(如晶体管)的电流来输出恒定电压。这种调整是通过改变晶体管的工作区域(线性区域),使得输入电压与输出电压之间的差值乘以通过电流等于耗散
    的头像 发表于 02-04 10:27 1162次阅读
    <b class='flag-5'>线性</b>稳压器工作原理<b class='flag-5'>介绍</b>

    SD8067:线性锂离子电池充电芯片应用介绍

    电子发烧友网站提供《SD8067:线性锂离子电池充电芯片应用介绍.pdf》资料免费下载
    发表于 12-27 10:01 0次下载

    SD5088系列低压差线性稳压器应用介绍

    电子发烧友网站提供《SD5088系列低压差线性稳压器应用介绍.pdf》资料免费下载
    发表于 12-22 10:44 0次下载

    怎么判断是不是线性电路

    怎么判断是不是线性电路  判断一个电路是否为线性电路需要了解线性电路的定义和特征,并通过分析电路的性质来验证。下面是一个详尽、详实、细致的介绍
    的头像 发表于 12-15 11:20 1708次阅读