当前课程知识点:计算机控制导论 >  第八章 从函数到算法 >  8.2 数值精度问题 >  8.2 数值精度问题

返回《计算机控制导论》慕课在线视频课程列表

8.2 数值精度问题在线视频

8.2 数值精度问题

阅读材料:

    计算机控制系统——分析、设计与实现技术

    ISBN: 978 703 055 8091


相关阅读:

    教材7.2节

下一节:8.3.1 计算时延

返回《计算机控制导论》慕课在线视频列表

8.2 数值精度问题课程教案、知识点、字幕

我们先来看一下数值精度问题

数字控制器的数值精度问题主要来自于模拟量转换为数字量时的量化过程

所谓量化,实际上就是用一个有限精度的数值去近似一个无限精度的数字

由此而产生的精度损失

比如说pi这个值

它是一个无限不循环的小数

在实数轴上有一个点与它对应

这个点是固定的

它可以无限的小

但是我们很多时候是用3.14这个固定数字来表示pi的

3.14和pi之间有效数字的位数差距是很大的

两者之间的距离偏差就是我们所说的量化所引入的数值误差

这个误差我们称为量化误差

它主要取决于我们所选择的有效数字的位数

也就是在把模拟量转换成数字量的时候

所选择的量化区间的数量

比如我们这个例子

是把0到10V的电压用3位二进制数字来表示

这样就把0到10V这个区间划成了8个区间段

每一个段对应一个数字量

在0~1.25V之间

这其间任何一个电压都可以都可以表示为数值“0”

但是当我们提到数值“0”的时候

我们一般认为它所对应的信号是0V电压

这样,数值0所对应的模拟电压和实际输入的模拟电压之间就会产生一定的偏差

这个偏差就是我们所说的

信号重构之后得到的重构信号与原始输入信号之间的差

称为量化误差

除了与量化区间的数量有关系之外

这个误差还与量化的时候我们选择的量化方法有关系

也就是和数值量与模拟电压的映射关系相关

常用的量化取整方法有三种

一种是向下取整的方法

也就是数字量对应的是量化区间的下限模拟输入

在这种情况下,量化误差都是正误差

我们也可以使用向上取整的方法

也就是说用数字量和量化区间的上限来对应

这个时候所有的量化误差都是负的

无论是向上取整还是向下取整

它产生的误差都是单方向的

大量的运算会使这个误差积累

变得越来越大

所以一般情况下,我们不希望用这种方法

很多时候我们选择的是舍入取整的方法

这个时候我们是用量化区间的中间值与数字量对应

产生的量化误差有正有负

统计值恒为0

这是我们最常用的一种方法

但这种方法产生了一个缺点

就是数字0对应的模拟输入不为零

这样就和我们的直观认知产生了冲突

量化误差还和编码有关系

不同的编码形式,它们的误差略有区别

我们可以查相关的表格得到

在数字控制器里面

量化误差最主要的来源是反馈回路当中的AD转换器

AD的精度决定了数字控制器所接收量化误差的大小

为了使误差的平均值为零

我们一般采用舍入取整的方法

同时,为了保证数字变化和我们的直观认知相吻合

AD转换器在做AD转换的时候

是把“0”值(数字0)和模拟电压0相对应

这样,它的误差分布就有了一些变化

在数值0附近

它的量化误差取的是1/2的量化区间大小

但是在最大的满量程刻度处

它的量化误差会稍微增大一些

另一个量化误差的来源是前向通道里面的DA转换器

DA转换器的输出虽然不会直接作用在数字控制器上

但是,它会作用在AD转换器的输入端

经AD转换之后进入数字控制器

对控制运算产生影响

当AD和DA位数相同的时候

这种影响是可以忽略的

但如果它们的位数不相同

这个时候就会引入量化误差

比如我们给出的这个例子

AD用的是三位的AD

DA产生的是两位的数字,接收的是两位的数字输入

这样,对于同样的DA输出

它所产生的模拟信号是不一样的

这个模拟信号在被AD读入的时候

有可能产生三个不同的数字量输入

从而使数字控制器产生不同的运算结果

为了避免这种情况

一般情况下我们要让DA的精度与AD相等

或者是比AD要高一些

量化误差的第三个来源是控制律的数字化环节

也就是控制律当中那些常系数数值化之后所引入的误差

控制率的常系数实际上对应的是D(z)的零点和极点的位置

在没有进行量化之前

这些零极点是分布在z平面任意位置上

量化之后

z平面的实轴和虚轴都变成了整数取值

所以原来分布在任意点的零极点

只能够靠近相近的整数点位置

这样,原来蓝色的零极点就偏移到红色的零极点位置上

这实际上就相当于改变了D(z)零极点的分布

所以D(z)的特性也随之而改变

严重的时候可能会使D(z)的零极点数目减少

比如说图上这两个蓝色的极点

它们原本分布在相邻的两个格子当中

量化之后

它们就汇集到同样的与它们相聚最近的一个整数点的位置上

就是那个红色的极点位置上

这样,原本两个极点就会变成一个极点

使系统的特性发生明显改变

最后一个量化误差的来源是D(z)运算过程当中产生的累积误差

累积误差是随运算量和运算时间的增加而不断变化的

在采用舍入取整的情况下

大多数时候,它的误差可以在0附近波动

这种量化误差是在控制运算过程当中不断积累的

随着运算时间的增加和运算量的增加

量化误差的大小会发生变化

其最终影响取决于算法

计算机控制导论课程列表:

课程说明

-关于课程版本

-教材或阅读材料

-名人堂

-关于虚拟实验

-关于考核

-课程学习规范

-课程大纲测试

-线上学习建议

-学习合同

第一章 课程简介

-学习任务

--学习任务

-1.1 什么是计算机控制

--1.1 什么是计算机控制

-1.2 为什么学习计算机控制

--1.2 为什么学习计算机控制

-1.3 怎样学习计算机控制

--1.3 怎样学习计算机控制

-【思政讨论】钱学森:我对系统学认识的历程

-第1周作业

-用户需求调查问卷

第二章 计算机控制基础

-学习任务

--学习任务

-2.1 概述

--2.1 概述

-2.2 典型形式

--2.2.1 操作指导系统

--2.2.2 直接数字控制系统

--2.2.3 监督控制系统

--2.2.4 分布式控制系统

--2.2.5 现场总线控制系统

--2.2.6 网络控制系统

-第2周思维导图

-【思政阅读】马少梅,范建文:回望历史——记录我国自动化仪表的成长与发展

-第2周作业

第三章 信号的采样与重构

-学习任务

--学习任务

-3.1 信号采样

--3.1.1 信息与信号

--3.1.2 采样过程

--3.1.3 采样定理

-3.2 信号重构

--3.2.1 香农重构

--3.2.2 保持法重构

-第3周思维导图

-【思政讨论】连续和离散:从信息科学的观点理解经典

-第3周作业

第四章 系统的数学描述

-学习任务

--学习任务

-4.1 回顾:连续系统的数学描述

--4.1 回顾:连续系统的数学描述

-4.2 离散对象的数学描述

--4.2.1 离散对象的数学描述

--4.2.2 仿真实例:建立离散对象的模型

--4.2.3 仿真实例:获取离散对象的模型

-4.3 系统模型的运算

--4.3.1 系统模型的运算

--4.3.2 仿真实例:基于解析表示

--4.3.3 仿真实例:基于图形表示

-第4周思维导图

-【思政讨论】日记:我参与了第一台智能可编程序调节器的设计

-第4周作业

第五章 系统的性能分析

-学习任务

--学习任务

-5.1 回顾:连续系统的性能分析

--5.1 回顾:连续系统的性能分析

-5.2 离散系统的指令响应

--5.2.1 离散系统的指令响应

--5.2.2 仿真实例:基于LabVIEW的指令响应

-5.3 离散系统的性能描述

--5.3.1 离散系统的性能描述

--5.3.2 稳定性

--5.3.3 鲁棒性

--5.3.4 仿真实例:基于LabVIEW的性能指标计算

-第5周思维导图

-第5周作业

-LabVIEW辅助设计(1)

-【思政讨论】谢旭凯和谢绪恺判据

第六章 模拟化设计方法

-学习任务

--学习任务

-6.1 模拟化设计

--6.1 模拟化设计

-6.2 离散化方法

--6.2.1 离散化方法

--6.2.2 前向差分法

--6.2.3 后向差分法

--6.2.4 双线性变换法

--6.2.5 脉冲响应不变法

--6.2.6 阶跃响应不变法

--6.2.7 零极点匹配法

--6.2.8 仿真实例:离散化方法

-第6周思维导图

-第6周作业

-LabVIEW辅助设计(2)

-【思政讨论】是什么卡了我们的脖子?

第七章 数字化设计方法

-学习任务

--学习任务

-7.1 数字化设计

--7.1.1 什么是数字化设计

--7.1.2 怎样进行数字化设计

-7.2 解析法

--7.2.1 Ragazzini法

--7.2.2 基于LabVIEW的辅助设计

-7.3 试探法

--7.3.1 频域设计法

--7.3.2 仿真实例:基于LabVIEW的频域设计

--7.3.3 根轨迹设计法

--7.3.4 仿真实例:基于LabVIEW的根轨迹设计

-第7周思维导图

-第7周作业

-LabVIEW辅助设计(3)

-【思政讨论】数控系统概述

第八章 从函数到算法

-学习任务

--学习任务

-8.1 可控实现形式

--8.1 可控实现形式

-8.2 数值精度问题

--8.2 数值精度问题

-8.3 计算时延问题

--8.3.1 计算时延

--8.3.2 程序结构的影响

--8.3.3 对采样周期的影响

-第8周思维导图

-第8周作业

第九章 硬件约束

-学习任务

--学习任务

-9.1 硬件约束的抽象化

--9.1 硬件约束的抽象化

-9.2 选择运算平台

--9.2 选择运算平台

-9.3 选择I/O设备接口

--9.3 选择I/O设备接口

-9.4 处理I/O接口数据

--9.4.1 数字滤波

--9.4.2 标度变换

-第9周思维导图

-第9周作业

第十章 工程实现

-学习任务

--学习任务

-10.1 需求分析

--10.1 需求分析

-10.2 架构设计

--10.2 架构设计

-10.3 任务调度策略

--10.3 任务调度策略

-10.4 可靠设计模式

--10.4 可靠性设计模式

-第10周思维导图

-第10周作业

期末考试

-期末考试卷【互评】

8.2 数值精度问题笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。