回复:不排序中值滤波库(已经完成测试)

凌飞翼

  • 帖子

    3395
  • 精华

    26
  • 被关注

    91

论坛等级:奇侠

注册时间:2007-11-11

普通 普通 如何晋级?

发布于 2010-11-15 15:36:58

5楼

程序运行步骤详解

读数--需要滤波的数据(整型,取值范围-32000~32000)
表长--参与滤波计算数据区数据个数(长整型,取值范围4~64)
最大值--存储在数据区内的最大值
最小值--存储在数据区内的最小值
输出--数据区内去除最大值和最小值后的平均值
输出=(总和-最大值-最小值)/(表长-2)
前值--前一次的输出值


读入存储区特征单元16B。
读数大于数据区最大值时,如果最大值标志位=0,直接舍弃,令最大值标志位=1,直接输出前值。
读数大于数据区最大值时,如果最大值标志位=1,记入数据区。
读数小于数据区最小值时,如果最小值标志位=0,直接舍弃,令最小值标志位=1,直接输出前值。
读数大于数据区最小值时,如果最小值标志位=1,记入数据区。
记入数据:
读数写入当前指针指向的数据单元。
最小值标志位、最大值标志位复位。
将前值传递给最大值、最小值寄存器(实现最大值、最小值寄存器的初始化,该值在下面将要进行的比较、替换操作结束后得到数据区的最大值和最小值)。
当前指针如果已经是表尾,令当前指针指向数据区开始单元,否则下移。
累加数据区数据,同时与最大值、最小值寄存器比较,找出最大值、最小值。
从累加器减掉当前最大值,减掉当前最小值之后,用(数据个数-2)去除,得到平均值。
刷新存储区的特征单元16B。
制冷、热工-许可证试验室承建,给了我深究测量与控制的绝好机会。分享-值得期待!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。