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

    文章

    1648

    浏览量

    83032
  • 线性化
    +关注

    关注

    1

    文章

    14

    浏览量

    11908
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于NFC镍锌铁氧体片的介绍

    关于NFC镍锌铁氧体片的介绍
    的头像 发表于 12-04 10:52 45次阅读
    <b class='flag-5'>关于</b>NFC镍锌铁氧体片的<b class='flag-5'>介绍</b>

    线性搜索与二分搜索介绍

    线性搜索(Linear Search):从数组的第一个元素开始,依次将当前元素与目标值进行比较,直到找到目标值或搜索完整个数组。 二分搜索(Binary Search):在有序数组中查找某一特定元素
    发表于 12-01 07:36

    关于系统链接脚本的介绍

    一、队伍介绍 本篇为蜂鸟E203系列分享第四篇,本篇介绍的内容是系统链接脚本。 二、如何实现不同的下载模式? 实现三种不同的程序运行方式,可通过makefile的命令行指定不同的链接脚本,从而实现
    发表于 10-30 08:26

    线性到非线性:工程师必须掌握的Abaqus三大非线性来源

    硕迪科技为您深入剖析Abaqus三大非线性来源:材料非线性、几何非线性、边界条件非线性。掌握工程师必备的非线性
    的头像 发表于 08-07 18:08 925次阅读
    从<b class='flag-5'>线性</b>到非<b class='flag-5'>线性</b>:工程师必须掌握的Abaqus三大非<b class='flag-5'>线性</b>来源

    技术干货 | AD/DA动态分析中的信号窗口处理技术

    前一章详解了TX7006上的线性计算,AD/DA动态分析中的傅里叶变换和动态参数计算。本期文章将为大家继续介绍AD/DA动态分析中的信号窗口。
    的头像 发表于 07-03 13:39 925次阅读
    技术干货 | AD/DA动态<b class='flag-5'>分析</b>中的信号窗口处理技术

    技术干货 | ATX7006线性计算与AD/DA动态分析解析

    想知道如何在ATX7006上进行高精度线性度计算?如何通过傅里叶变换分析AD/DA转换器的动态性能?本文详细解析了线性计算的命令配置、结果获取方法,以及动态测试中的信噪比、谐波失真等关键参数的计算原理。
    的头像 发表于 06-30 10:13 918次阅读
    技术干货 | ATX7006<b class='flag-5'>线性</b>计算与AD/DA动态<b class='flag-5'>分析</b>解析

    无模型自适应控制在永磁同步电机转速中的仿真研究

    摘要:针对永磁同步电机非线性、时变不确定性及难以建立精确的数学模型等问题,不同于动态线性时变模型替代一般非线性系统,提出一种基于模糊过程和系统输出误差的无模型控制器。基于反馈线性化通过
    发表于 06-25 13:01

    无线应用射频微波电路设计

    线性化等放大器的诸多知识点和设计方法。第4章对无源和有源混频器进行详细分析。第5童阐述射频振荡器原理,深入分析柑位噪声和高Q振荡电路,示范大量成熟的电路是本章的一个特点。关于射频频率
    发表于 06-13 17:46

    SC1894 225MHz至3800MHz RF功率放大器线性化电路(RFPAL)技术手册

    SC1894是Scintera 第3代RF PA线性化电路(RFPAL ^™^ ),与前代产品相比,校正性能和功能都有所改善。SC1894是一款完全自适应RFin/RFout预失真线性化
    的头像 发表于 04-08 14:33 888次阅读
    SC1894 225MHz至3800MHz RF功率放大器<b class='flag-5'>线性化</b>电路(RFPAL)技术手册

    SC1905 698MHz至3800MHz RF功率放大器线性化电路(RFPAL)技术手册

    SC1905为SC1894 RF PA线性化电路(RFPAL)的引脚兼容升级版本,支持高达100MHz信号带宽。SC1905为完全自适应、RFin/RFout预失真线性化方案,优化用于较宽范围
    的头像 发表于 04-08 13:48 800次阅读
    SC1905 698MHz至3800MHz RF功率放大器<b class='flag-5'>线性化</b>电路(RFPAL)技术手册

    线性电机(linear motor)介绍

    线性马达一般指线性电机线性马达是一种将电能直接转换成直线运动机械能,而不需要任何中间转换机构的传动装置。它可以看成是一台旋转电机按径向剖开,并展成平面而成。直线电机也称线性电机,
    的头像 发表于 03-25 19:33 2460次阅读
    <b class='flag-5'>线性</b>电机(linear motor)<b class='flag-5'>介绍</b>

    横向线性马达:提升现代制造业自动流程的核心驱动力

    ,横向线性马达不仅提升了生产效率,还为制造业带来了全新的操作体验。本文将分析横向线性马达如何改变现代制造业的自动流程,探讨其在生产过程中扮演的重要角色。
    的头像 发表于 01-18 10:56 775次阅读

    AN-0970: 使用ADuC706x微控制器实现RTD接口和线性化

    电子发烧友网站提供《AN-0970: 使用ADuC706x微控制器实现RTD接口和线性化.pdf》资料免费下载
    发表于 01-14 16:00 1次下载
    AN-0970: 使用ADuC706x微控制器实现RTD接口和<b class='flag-5'>线性化</b>

    线性霍尔元件DH643在投影仪中的应用

    线性霍尔元件在投影仪中的应用主要体现在调焦和位置检测功能上,以下是关于线性霍尔元件在投影仪中应用的详细分析: 一、调焦功能 线性霍尔元件可以
    的头像 发表于 01-11 16:18 890次阅读

    线性负载分为哪些类型

    影响。 居民领域:随着家用电器的普及和智能发展,居民家中的非线性负载也逐渐增多,如电脑、充电器、微波炉等。 三、按谐波含量分 低次谐波非线性负载:主要产生2~5次谐波,这类谐波对电网的影响相对
    发表于 12-18 15:18