- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章数据处理解读
5.1 查表技术5.2 数字滤波技术5.3 量程自动转换和标度变换5.4 测量数据预处理技术 在计算机控制系统中,模拟量信号经过输入过程通道转换成数字量送入计算机。这些数字量的输入方法和表示方式各不相同,有的参数只与单一的被测量相关,有的参数则与多个被测量相关,而且相互之间存在不同的线性或非线性的关系。 此外,输入的数字量除了有用的信号,还往往携带有被控现场和过程通道中的各种干扰信号。因此,采样数据并不能直接用于运算、显示和控制,还必须对其进行加工和处理。 本章主要介绍计算机控制系统中常用的几种数据处理方法,包括查表技术、数字滤波、量程自动转换和标度变换以及数据预处理技术。 在工业过程控制系统中,有些参数的计算非常复杂,用公式计算不但程序很长,而且需要耗费大量的计算时间。还有一些非线性参数,它们的计算是涉及到指数、对数、三角函数以及积分、微分等运算,用公式计算程序设计比较复杂且很难实现。此外,有些参数甚至无法建立相应的数学模型,无法采用常规的方式进行计算。为了解决这些问题,可以考虑采用查表法。 所谓查表法,就是把事先计算或测量到的数据按照一定顺序编制成表格,查表程序的任务就是根据被测参数的量值或中间结果,查出最终所需要的结果。查表法主要包括顺序查表法、计算查表法和对分查表法 。 5.1.1 顺序查表法 顺序查表法是针对无序排列表格的一种查询方法。因为无序表格中所有项的排列没有一定的规律,所以只能按照顺序从第一项开始逐项寻找,直至找到所要查找的关键字为止。顺序查表法对于无序表格或较短表格而言,是一种比较常用的方法。 【例5-1】在以Tab为首地址的ROM单元中,有一长度为100字节的无序表格。 设待查关键字放在keyword单元,试用软件进行查找。若找到则将关键字在表中的位置返回;未找到则返回FFH。 程序如下: unsigned char code Tab[100]; bit flag=0; unsigned char keyword; unsigned char search() { unsigned char i; for(i=0;i100;i++) { if(keyword==Tab[i]) { flag=1; break; } } if(flag= =0) {i=0xff;} return i; } 5.1.2 计算查表法 计算查表法适用于数据按一定的规律排列,并且搜索内容和表格数据地址之间的关系能用公式表示的有序表格。 这种有序表格要求各元素在表中排列的格式及所占用的空间必须一致,而且各元素是严格按顺序排列的。它适用于某些数值计算程序,如功能键地址转移程序、码制转换程序等。 【例5-2】求函数y=x!的值,其中x=1,2, …,7。 如果按照求阶乘的运算,必须做x次连乘,程序设计比较复杂。但若将函数值列制成表格就会发现,每一个x的值所对应的y值在表中的地址可以按照下面的公式进行计算。 y地址=函数表的基地址 + x×2 设函数表的基地址为tab,自变量x存放在argument单元,查表求得的函数值y存放在result单元,则相应的计算查表法C51程序如下。 # include reg51.h int code tab[]={0x00, 0x01, 0x02, 0x06, 0x18, 0x78, 0x2d0 ,0x33b0}; /*定义函数表*/ int result; int search (int argument) { unsigned char offset; offset =2*argument; /*计算*/ result= tab[offset ]; /*查表*/ return result; } 5.1.3 对分查表法 在前面介绍的两种查表方法中,顺序查表法速度比较慢,计算查表法虽然速度很快,但对表格的要求比较严格, 因而都有一定的局限性。 在实际
文档评论(0)