技术论坛

模拟通道求平均值!!!

作者 主题
侠客

经验值: 651
发帖数: 123
精华帖: 3
主题:【求助】模拟通道求平均值!!!


只看楼主 楼主 2021-06-28 11:43:04

        最近有个项目,需要求特定时间内模拟通道采集的平均值(采集时间30~300秒设定);

现在自己的做法如下:(不知道能不能够买足客户要求,求大神给指点一二);

        1、开始采集和结束采集都有信号;

        2、开始采集执行后,根据数据变化触发沿进行数据叠加及叠加次数累加;

        3、结束采集时,叠加数据/叠加次数得到平均值;

现在有个问题,采集来的数据有时候不稳定,忽大忽小(大与小的范围及时间长短不确定,解释一下:有时候可能连续采集几秒都是大数据或小数据);

        我的解决办法是,加条件判断,大于或小于多少范围忽略该数值,不计入数据叠加及次数叠加;

        现在不确定这种方法能不能满足客户需求,还请大神指点一二;

        感谢!!!


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1702703&b_id=50

奇侠

经验值: 8261
发帖数: 1375
精华帖: 14
回复:模拟通道求平均值!!!


只看楼主 1楼 2021-06-28 12:52:34

采集数据后先进行上、下限滤波,超限的扔掉


 
以下网友喜欢您的帖子:

  
至圣

经验值: 35347
发帖数: 13995
精华帖: 54
回复:模拟通道求平均值!!!


只看楼主 3楼 2021-06-29 16:22:03

用队列:fifo,比如你设置为300个元素的数组,最后一个是最新的值,这样你就可以根据需要从后向前取值求平均,下一个周期数据前移一个地址。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
奇侠

经验值: 6478
发帖数: 1289
精华帖: 0
回复:模拟通道求平均值!!!


只看楼主 4楼 2021-06-30 08:41:07

没那么难吧?求平均值不就是累加除以次数吗?


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
至圣

经验值: 16000
发帖数: 2417
精华帖: 42
回复:模拟通道求平均值!!!


只看楼主 5楼 2021-06-30 08:51:21
以下是引用link_wxm在2021-06-28 11:43:04的发言 >楼主

        最近有个项目,需要求特定时间内模拟通道采集的平均值(采集时间30~300秒设定);

现在自己的做法如下:(不知道能不能够买足客户要求,求大神给指点一二);

        1、开始采集和结束采集都有信号;

        2、开始采集执行后,根据数据变化触发沿进行数据叠加及叠加次数累加;

        3、结束采集时,叠加数据/叠加次数得到平均值;

现在有个问题,采集来的数据有时候不稳定,忽大忽小(大与小的范围及时间长短不确定,解释一下:有时候可能连续采集几秒都是大数据或小数据);

        我的解决办法是,加条件判断,大于或小于多少范围忽略该数值,不计入数据叠加及次数叠加;

        现在不确定这种方法能不能满足客户需求,还请大神指点一二;

        感谢!!!

  1. 如果不能确定是不是干扰, 就保留所有数据;周期性干扰平均值会滤除;

  2. 如果是指定某个时间段, 你可以采用迭代求平均值, 省空间


描述:

  1.    次数n; 平局值av, 当前值v;

  2. 每个中断周期, av = (n*av  + v)/ (n + 1) = av*n/(n+1) + v /(n+1);

    也就是av= av * n/(n+1) + v/(n + 1);


     这个方法不需要保存所有数据, 也不需要累计值; 特别适合当前值非常大的情况;


不忘初心
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
模拟通道求平均值!!!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。