今天看到同事写的一个算法,在这里和大家分享一下:

针对压力传感器的零点漂移,AD采样值在零点附近来回波动,这样的AD值根本没办法使用,但是如果直接限制幅度,会造成正压起始点和负压起始点抬高,又要显示从0开始,这就需要在限制幅度的基础上增加AD值平均分散法(自己乱命名的)。

优点:解决显示和输出非常稳定。(将波动值限制了,基本上用户用不到这样靠近零点的压力)

缺点:被做了算法的这段压力段与实际压力有微小的差异,接着看。

假如:输入压力的AD值范围是-1000~1000 , 但是在 -50<0<50这一段非常不稳定,其他的段就是线性的;然后-200<0<200是客户不用的(要用也没关系)。

int Display_number;

if(-200<ADC_Value<200)

{

if(-50<ADC_Value<50) Display_number = 0;                                 //          1

if(50<=ADC_Value<100)Display_number=ADC_Value-50;            //           2

if(-50<=ADC_Value<-100)Display_number=ADC_Value+50;         //           3

if(100<=ADC_Value<200)Display_number=ADC_Value*X+Y;        //           4

if(-100<=ADC_Value<-200)Display_number=ADC_Value*X+Y;      //           5

}

第一句 就是将跳动的ADC值-50<ADC_Value<50直接不要,丢掉。

第二句 就是往正压方向的<100的ADC值范围50-100的显示为0-50

第三句 就是往负压方向的<-100的ADC值范围-500~-100显示为0~-50

第四句和第五句就是关键了;先讲第四句,第五句和第四句差不多。 简单屡一下就是输入量ADC_Value是100~<200,输出量就是Display_number是60~200,这里觉得有点迷糊的同学自己先屡屡;现在列出二元一次方程:

100X+Y=60;

200X+Y=200;

我们用代入消元法,将第一句变形 Y= 60 -100X;带入第二句:

200X + 60 - 100X = 200;   X=1.4;  将X带入第一句,得出Y= -80;

这样子就在200的时候输入和输出对应上了。

就相当于把<50的设为0 , 把50-<100的设为0-<50 , 把100-<200的设为60-<200 ;

把最后一段的压力100个点平均分散给140个点,是不是AD值平均分散法。还可以将这个总数个数拉长或缩短,视情况而定。

二元一次方程式解决零点漂移相关推荐

  1. Flume实战-解决零点漂移-时间戳拦截器

    对于日志,flume sink写入HDFS时,如果按照时间生成文件,在没有明确指定时间的情况下,会读取服务器时间作为创建文件的依据,这会导致日志的实际生成日期与文件不符. 这种情况下,可以通过拦截器在 ...

  2. 数据仓库:如何解决ODS数据零点漂移问题

    本篇文章讲解的是从业务库同步数据至数仓导致的零点漂移,查看flume+kafka同步数据导致的零点漂移参考该文章:业务数据采集_零点漂移处理方法(Flume+Kafka+HDFS) 一.数据零点漂移概 ...

  3. 压力传感器零点漂移与零点漂移补偿

    压力传感器零点漂移是指在规定的测试条件下,当输入压力为零时,输出值随时间正向.负向或上.下跳动超过规定指标.为了防潮.防雨水.防有害气体的侵蚀,压力传感器的电路板是按密封结构设计和制造的.如果没有把表 ...

  4. 电子电路复习之零点漂移现象

    零点漂移现象(温漂):元件参数的变化.老化.电源电压波动.温度变化等等因素都会引起输出电压的变化,在阻容耦合电路中,漂移电压都会降落在耦合电容上,而在直接耦合的放大电路中,漂移电压则会传递到下一级进一 ...

  5. 业务数据采集_零点漂移处理方法(Flume+Kafka+HDFS)

    最近做了一个业务数据采集,总体架构就是 Flume-taildir source + kafka channel => Kafka => Flume-kafka source + memo ...

  6. 零点漂移 时间戳拦截器

    零点漂移 原因:Sink端写入到HDFS时,如果按照时间生成文件,在未指定具体时间的情况下,会读取服务器时间作为创建文件的依据,从而导致日志产生错误 假设按天生成文件,一个文件在23:59:59产生, ...

  7. 零点漂移、零点补偿问题

    零点漂移是什么意思_零点漂移怎么克服 来源:网络整理 作者 关键词:零点漂移放大电路 零点漂移概念(零漂)可描述为:指当放大电路输入信号为零(即没有交流电输入)时,由于受温度变化,电源电压不稳等因素的 ...

  8. 9-2 什么是零点漂移 产生零点漂移的主要原因是什么 差动放大电路为什么能抑制零点漂移

    9-2  什么是零点漂移?产生零点漂移的主要原因是什么?差动放大电路为什么能抑制零点漂移? 答:由于集成运放的级间采用直接耦合方式,各级的静态工作点相互影响,前一级的静态工作点的变化将会影响到后面各级 ...

  9. 9-2 什么是零点漂移?产生零点漂移的主要原因是什么?差动放大电路为什么能抑制零点漂移?

    9-2  什么是零点漂移?产生零点漂移的主要原因是什么?差动放大电路为什么能抑制零点漂移? 答:由于集成运放的级间采用直接耦合方式,各级的静态工作点相互影响,前一级的静态工作点的变化将会影响到后面各级 ...

最新文章

  1. Matlab怎么计算信号的能量,用Matlab求离散讯号的能量与功率怎么编程
  2. JQuery 表单校验插件 validate 使用纪录
  3. Python组织文件 实践:将文件的不同版本备份为ZIP文件
  4. Android --- 控件属性的属性值为 @null
  5. python3精要(31)-生成器函数yield
  6. Qt QWidget实现手势缩放和平移(一)
  7. php页面防刷,PHP防止刷新重复提交页面的示例代码
  8. LNMP环境下搭建SVN服务器
  9. CS106 错误拒绝访问
  10. 排序算法性能和使用场景总结
  11. Linux下安装了conda以后pychram无法使用
  12. Kali下的钓鱼工具setoolkit和社工字典工具Cupp
  13. 外语学习的真实方法及误区(描述得非常深刻)
  14. 百度地图迁徙大数据_百度地图迁徙大数据:复工后北上广深城内出行年后首次大幅增长...
  15. K - Tourists' Tour(图染色)
  16. oracle安装实训心得,oracle实训总结
  17. 平稳与非平稳随机信号的理解
  18. 关于微软学术搜索项目
  19. 如何用python实现输入1~5的数字能够对应打出周一~周五的程序
  20. 性格色彩测试android程序开发之九--sqlite数据库

热门文章

  1. UOS全盘安装系统再次分区及扩容方法
  2. 中英文词性标注对照表
  3. 【历史上的今天】8 月 28 日:微软联合创始人控诉苹果、谷歌等众企业侵权;人工智能医学领域先驱出生
  4. 问题 C: 3.15 人口问题  现有13亿人口,设每年增长0.8%,编写程序,计算多少年后达到26亿?
  5. 单元测试/白盒测试/黑盒测试
  6. linux开机报ata错误,Linux 系統出現 ATA SError DevExch 的錯誤解法
  7. 计算机ata考试试题答案,计算机ATA考试(高级)第一套试卷
  8. RocketMQ 三种发消息的方式
  9. [附源码]Nodejs计算机毕业设计网上游戏商店设计Express(程序+LW)
  10. 【论文精读】Image stitching method by multi-feature constrained alignment and colour adjustment