智能仪器第5章 运算程序及数据处理_第1页
智能仪器第5章 运算程序及数据处理_第2页
智能仪器第5章 运算程序及数据处理_第3页
智能仪器第5章 运算程序及数据处理_第4页
智能仪器第5章 运算程序及数据处理_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.1 算术函数算术函数 智能仪器的数值计算程序包括常用数值计算和常用函智能仪器的数值计算程序包括常用数值计算和常用函数计算。常用数值计算主要包括四则运算;常用函数包括数计算。常用数值计算主要包括四则运算;常用函数包括指数函数,对数函数,三角函数,乘方,开方等函数。指数函数,对数函数,三角函数,乘方,开方等函数。三角函数:正弦函数三角函数:正弦函数5.2 测量数据的非数值处理测量数据的非数值处理数据结构:线性表、二叉树、链表、图等。数据结构:线性表、二叉树、链表、图等。1.1线性表线性表 线性表是智能仪器中最简单也是最常用的一种数据结线性表是智能仪器中最简单也是最常用的一种数据结构。一个线性表

2、是构。一个线性表是N个元素为个元素为a1,a2,. an,的集合,各数的集合,各数据元素之间具有据元素之间具有线性线性的位置关系。的位置关系。1.2堆栈堆栈 堆栈是一种特殊形式的线性表,数据写入和读取遵循堆栈是一种特殊形式的线性表,数据写入和读取遵循“后进先出后进先出”的原则,通常是在子程序或响应一个中断保的原则,通常是在子程序或响应一个中断保护现场时使用。护现场时使用。每个堆栈必须设立一个指针指示栈顶的位每个堆栈必须设立一个指针指示栈顶的位置。置。1.3 队列队列 队列是一种队列是一种“先入先出先入先出”的链式结构的线性表。的链式结构的线性表。 新元素新元素必须从排尾加入,要取出的元素必须排

3、头取出。每队列必须必须从排尾加入,要取出的元素必须排头取出。每队列必须设置两个指针分别指向排头和排尾。设置两个指针分别指向排头和排尾。1.4 线性链表线性链表 线性链表的存储方式为链式结构。线性链表的存储方式为链式结构。FIRSTA1A2A3A4 0 节点1 节点 2 节点 3 节点4FREE 0 节点 A 节点B 节点 C .2 线性表查找技术线性表查找技术 2.1 顺序查找顺序查找 顺序查找是从头开始,按顺序把表中元素的关键项逐一的与给定顺序查找是从头开始,按顺序把表中元素的关键项逐一的与给定的关键字进行比较。的关键字进行比较。应用于查找无序数据库,如测量数据。应用于查找无序数据库,如测量

4、数据。2.2 对半查找对半查找 每次截取表的一半,确定查找元素在哪一部分,逐步细分,缩小每次截取表的一半,确定查找元素在哪一部分,逐步细分,缩小了查找范围,从而大大加快了查找速度。了查找范围,从而大大加快了查找速度。应用于查找有序数据库,如应用于查找有序数据库,如升序数据。升序数据。2.3 直接查表法直接查表法 在表中直接搜索的关键项目或直接由一个简单的计算找到数据。在表中直接搜索的关键项目或直接由一个简单的计算找到数据。如求如求SIN(X), X为整数。3 链表的插入,删除和查找链表的插入,删除和查找3.1 插入插入1 判断判断FREE指针是否为指针是否为0,为,为0表示自由表空,不能进行表

5、示自由表空,不能进行 插入;不为插入;不为0则可以进行一下操作。则可以进行一下操作。2 将将Free 指针指向自由表的下一个节点。指针指向自由表的下一个节点。3 确定节点确定节点k的地址。的地址。4 在新节点的指针域内存放在新节点的指针域内存放k+1节点的地址。节点的地址。5 在节点在节点k的指针域内写入新节点的指针。的指针域内写入新节点的指针。6 存放新节点数据。存放新节点数据。Node 1Node KNode K+1Node K+2Node ANode BNode C3 链表的插入,删除和查找链表的插入,删除和查找3.2 删除删除k节点节点1 确定确定k-1节点的地址。节点的地址。2 把节

6、点把节点k+1的地址的地址(在在k中中)存入节点存入节点k-1的指针域。的指针域。3 FREE指针域的原内容存放在节点指针域的原内容存放在节点k的指针域中。的指针域中。4 把节点把节点k的地址存放在的地址存放在FREE的指针域。的指针域。Node K-1Node KNode K+1Node K+2Node ANode BNode C3 链表的插入,删除和查找链表的插入,删除和查找3.3查找查找 链表的查找比较方便,从链表的查找比较方便,从FIRST的指向的第一个节点的指向的第一个节点开始向后逐个查找,查找节点的数据项关键字等于给定值,开始向后逐个查找,查找节点的数据项关键字等于给定值,说明找到

7、成功。否则,继续寻找下一个节点,直到查找到说明找到成功。否则,继续寻找下一个节点,直到查找到或指针等于零为止。或指针等于零为止。只能顺序查找。只能顺序查找。FIRSTA1A2A3A4 0 节点1 节点 2 节点 3 节点4.4 排序排序4.1 气泡排序法气泡排序法 气泡排序法是依次比较两个相邻的数据,如果不符合规气泡排序法是依次比较两个相邻的数据,如果不符合规定的递增(递减)顺序,则交换两个数据的位置。定的递增(递减)顺序,则交换两个数据的位置。void Bubble (int a,int N) int i, j, temp; for(j=1; jN; j+) for (i=0; i ai+1

8、) temp = ai; ai = ai+1; ai+1 = temp; 希尔排序是一种容易编程而且运行速度较快的一种方法。希尔排序是一种容易编程而且运行速度较快的一种方法。/方法一方法一void ShellSort(int a, int N) int i, j, t, gap; for (gap=N/2; gap0; gap=gap/2) for(i=gap; i= 0) if(aj aj+gap) t = aj; aj = aj+gap; aj+gap = t; j=j-gap; else break; 希尔排序是一种容易编程而且运行速度较快的一种方法。希尔排序是一种容易编程而且运行速度较

9、快的一种方法。/方法二方法二void ShellSort(int a,int N) int i,j,t,gap; for(gap=N/2; gap0;gap/=2) for(i=gap;i=0 & t 0; gap=gap/2) for(i=gap; i= 0) if(aj aj+gap) t = aj; aj = aj+gap; aj+gap = t; j=j-gap; else break; /方法二方法二void ShellSort(int a,int N) int i,j,t,gap; for(gap=N/2; gap0;gap/=2) for(i=gap;i=0 &

10、t aj);j-=gap) aj+gap = aj; aj+gap = t; 希尔排序法两种不同编程实现的对比:其中方法二的内层循环为希尔排序法两种不同编程实现的对比:其中方法二的内层循环为移动数据,方法一的内层循环为交换数据,方法二程序明显简便,在移动数据,方法一的内层循环为交换数据,方法二程序明显简便,在多数情况下完成排序所需的循环次数也要比方法一要少。多数情况下完成排序所需的循环次数也要比方法一要少。5.3系统误差的数据处理系统误差的数据处理 系统误差:是指按一定规律变化的误差,它表现为相同条系统误差:是指按一定规律变化的误差,它表现为相同条件下多次测量同一物理量时,其误差的大小和符号保

11、持不变或件下多次测量同一物理量时,其误差的大小和符号保持不变或一定规律变化。一定规律变化。系统误差是由于测量系统内部的原因造成的,如仪器内部系统误差是由于测量系统内部的原因造成的,如仪器内部基准、放大器的零点漂移、增益漂移、非线性等。基准、放大器的零点漂移、增益漂移、非线性等。校正系统误差的关键在于建立系统误差模型。校正系统误差的关键在于建立系统误差模型。系统误差的建模一般采用插值法和最小二乘法。系统误差的建模一般采用插值法和最小二乘法。系统误差模型的建立系统误差模型的建立 插值法:就是设法找一个函数插值法:就是设法找一个函数g(x),使,使x i(i=0,1,n)处)处与与f(x i)相等。

12、满足这个条件的函数相等。满足这个条件的函数g(x)称为称为f(x)的插值函数,称的插值函数,称xi为插值节点。在以后的计算中可以用为插值节点。在以后的计算中可以用g(x)近似代替近似代替f(x)。1.1代数插值法代数插值法1.1.1 线性插值:线性插值: 是从一组数据(是从一组数据(x i ,y i)中选取两个有代表性的)中选取两个有代表性的A(x0, y0)、)、B(x1, y1), 然后根据插值原理求出插值原理,求出插值方程。然后根据插值原理求出插值原理,求出插值方程。插值方程求解方法:插值方程求解方法:(见见P.123) 1. 设插值方程为:设插值方程为: 2.按方程按方程10( )np

13、 xa xa01001110ya xaya xa解出解出 代入代入 得出插值方程。得出插值方程。01,a a( )npx1.1.2 抛物线插值:抛物线插值:一般采用分段线性插值,不用抛物线插值。一般采用分段线性插值,不用抛物线插值。抛物线插值是在数据中选取三点:抛物线插值是在数据中选取三点:列出列出3个一元二次方程求解。采用抛个一元二次方程求解。采用抛物线拟合,拟合精度较高。物线拟合,拟合精度较高。00,()yx11,()yx22,()yx插值方程为:插值方程为:021201010210120122021()()()()()()()()()()()()( )x x x xx x x xyyxx

14、 xxx x x xx x x xyxx xxpx 2210p xa xa xa设插值公式为:设插值公式为:系统误差的数据处理系统误差的数据处理1.2 最小二乘法最小二乘法最小二乘法:对随机误差通常选择最小二乘法:对随机误差通常选择“误差误差平方和最小平方和最小”这一标准来进行衡量和逼近这一标准来进行衡量和逼近结果,这样使得模型比较符合实际关系,结果,这样使得模型比较符合实际关系,同时函数表达式也比较简单。同时函数表达式也比较简单。具体方法是设被逼近函数为具体方法是设被逼近函数为f(x i),逼近函数为逼近函数为g(x i ),x i为为x上的离散点上的离散点逼近误差为:逼近误差为:( )(

15、)( )iiif xg xV x记21( )niVx令min 利用偏导求极值的方法可解出拟合方程参数。2 系统误差的标准数据校正法系统误差的标准数据校正法 对于难以用公式表达系统误差的仪器,通过在量程范对于难以用公式表达系统误差的仪器,通过在量程范围内的若干个校正数据,建立校正数据表,在校正数据之围内的若干个校正数据,建立校正数据表,在校正数据之间采用线性插值来减少误差。这是仪器消除系统误差的通间采用线性插值来减少误差。这是仪器消除系统误差的通用方法。用方法。3 非线性校正非线性校正 3.1 校正函数:如热敏电阻和热电偶。校正函数:如热敏电阻和热电偶。 3.2 用插值法进行校正用插值法进行校正

16、 3.2.1 等距节点分段直线校正法:如热电偶(等距节点分段直线校正法:如热电偶(P 127) 3.2.2 非等距节点分段直线校正法:如涡街流量计。非等距节点分段直线校正法:如涡街流量计。4 零位误差和增益误差的校正方法零位误差和增益误差的校正方法 基本思路是仪器启动后每隔一定的时间,分别测量基本思路是仪器启动后每隔一定的时间,分别测量Vref和和GND,完成自动校准。,完成自动校准。放大放大电路电路AD转换转换主机主机5 温度误差的补偿温度误差的补偿 仪器的模拟电路部分均受温度变化的影响。在高准确度仪器的模拟电路部分均受温度变化的影响。在高准确度测量仪器中,需进行温度补偿。测量仪器中,需进行

17、温度补偿。ViVref5.4 随机误差的数据处理随机误差的数据处理随机误差由外部窜入仪表的随机干扰引起,是指在相随机误差由外部窜入仪表的随机干扰引起,是指在相同条件下测量同一个量时,其测量值无法预测,但在多次同条件下测量同一个量时,其测量值无法预测,但在多次测量中符合统计规律的误差。测量中符合统计规律的误差。主要有工频串共模干扰、高主要有工频串共模干扰、高频干扰或电网干扰。频干扰或电网干扰。减少随机干扰的方法:减少随机干扰的方法:硬件滤波和软件数字滤波。硬件滤波和软件数字滤波。硬件滤波和软件数字滤波的特点:硬件滤波和软件数字滤波的特点:1)硬件滤波速度快,适合小信号测量,采用抗混叠)硬件滤波速

18、度快,适合小信号测量,采用抗混叠滤波器可消除混叠现象。滤波器可消除混叠现象。2)数字滤波成本低,滤波方式灵活,可根据现场情)数字滤波成本低,滤波方式灵活,可根据现场情况改变软件滤波器特性。况改变软件滤波器特性。数字滤波算法:限幅滤波、中位值滤波、算数平均滤波、数字滤波算法:限幅滤波、中位值滤波、算数平均滤波、递推平均滤波、加权递推平均滤波递推平均滤波、加权递推平均滤波。1) 限幅滤波限幅滤波当测量值超过规定范围时,剔除测量值。尖脉冲干扰信号当测量值超过规定范围时,剔除测量值。尖脉冲干扰信号随时可能窜入智能仪器中,使测量的信号突然增大,造成严重随时可能窜入智能仪器中,使测量的信号突然增大,造成严重失真。失真。对于随机干扰,限幅滤波是一种非常有效的方法。对于随机干扰,限幅滤波是一种非常有效的方法。2) 中位值滤波中位值滤波中位值滤波是对被测量连续采样中位值滤波是对被测量连续采样N次(一般的次(一般的N取奇数),取奇数),然后把然后把N次采样值按大小排队,其中间值为本次采样值。中位次采样值按大小排队,其中间值为本次采样值。中位值滤波能有效克服因偶然造成的波动或由仪器不稳定引起的误值滤波能有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论