第7章智能仪器中的数据处理及算法.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 尽管f2的绝对误差Δf2大于f1的绝对误差Δf1,但我们并不能因此而得出f1的测量较f2精确的结论。恰恰相反, f1的测量误差对f1=1000Hz来讲占0.1%,而f2的测量误差仅仅占f2=1000000Hz的0.001%。 * 显然,要提高测量精度,对于上述三类误差都应采取适当的措施进行防范和处理,以减少或消除这些误差对测量结果的影响。智能仪器的主要优点之一就是可以利用微处理器的数据处理能力减小测量误差,达到提高仪器测量精度的目的。下面介绍智能仪器中几种测量误差的处理方法。 * 为了克服随机干扰引入的误差,可采用硬件方法,也可按统计规律用软件算法实现,即采用数字滤波方法来消除随机误差, * 信号在某一数值范围附近作上下波动 ,在这种情况下仅取一个采样值作依据显然是不准确的。算术平均滤波对信号的平滑程度取决于N。当N较大时,平滑度高,但灵敏度低;当N较小时,平滑度低,但灵敏度高。 * 在这种情况下,才可将A/D转换结果作为被测量的数值去显示或打印。当然也可以通过调整传感器灵敏度或调整A/D转换器基准电压E来使式(8-21)成立。 * 很多传感器的输入输出特性是非线性的,这时测量通道的A/D转换结果Di与被测量xi不成线性关系。 * 当输入信号较大时,选择大量程,衰减器按某一比例对信号进行衰减,而放大器放大倍数很小(通常为1),放大器的输出电压落在A/D转换器要求的范围之内;当输入信号较小时,选择小量程,衰减器不进行衰减(处于直通状态),放大器按某一比例进行放大,放大器的输出电压仍然落在A/D转换器要求的范围之内。 * ADDC A,R2 MOV R2,A INC R1 CJNE R1,#50H,FLT31;累计完16次 MOV R0,#04H FILT32:CLR C MOV A,R2 RRC A MOV R2,A XCH A,R3 RRC A MOV R3,A DJNZ R0,FILT32 RET INPUT: MOV A,R7 RET 【例7-7】滑动平均滤波子程序。 /* 缓冲队列长度N可以依据情况的不同进行改变*/ #define N 12 //设置先进先出队列的变量 char value_buf[N];//先进先出队列变量 char filter() { char count; int sum=0; value_buf[i++]=get_ad(); for(count=0;countN;count++) sum+= value_buf[count]; return(char)(sum/N); } 7.2.3 复合滤波法 在实际应用中,有时既要消除大幅度的脉冲干扰,又要做数据平滑。因此常把前面介绍的两种以上的方法结合起来使用,形成复合滤波。包括:去极值平均滤波算法,限幅平均滤波法,限幅消抖滤波法等。 一、去极值平均滤波算法 算术平均滤波对抑制随机干扰效果较好,但对脉冲干扰的抑制能力较弱,明显的脉冲干扰会使平均值远离实际值。而中值滤波对脉冲干扰的抑制能力却非常有效,因而可以将两者结合起来形成去极值平均滤波,也称中值平均滤波滤波。具体算法是:连续采样N次,去掉一个最大值,去掉一个最小值,再求余下N-2个采样值的平均值, 为了节省计算时间,N-2应为2的整数幂(如2、4、8等),因而常取N为4、6、10等。此外,对于快速变化的被测量,可以先连续采样N次,把各采样值存于缓冲区,然后进行滤波运算;对于慢变化的被测量,可以一边采样一边运算处理,这时不必在RAM中开辟数据缓存区。 ORG 0000H LJMP MAIN ORG 4000H MAIN:CLR A MOV R2,A;0放最大寄存器R2 MOV R6,A MOV R7,A;0放累加和寄存器R6,R7 MOV R4,#0FFH;FFH放最大寄存器R4 MOV R0,#04H DAV1:NOP ;LCALL RDXP ;读A/D结果到A(采样子程序) MOV R1,A;采样数据存R1 ADD A,R7 ;要求连续采样4次,去掉其中最大、最小值, ;求剩下两数据的平均值 ;R2放最大值,R4放最小值 ;R6,R7放累加和及最后结果。 CLR C MOV A,R7 SUBB A,R2 MOV A,R6 SUBB A,#00H MOV A,R7 SUBB A,R4 MOV A,R6 S

文档评论(0)

550008333 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档