回复:中值滤波算法,对窗口值变小的处理,想在本次执行程序里直接改变

Siemens_PLC编程精英训练营

西门子1847工业学习平台

  • 帖子

    1108
  • 精华

    0
  • 被关注

    15

论坛等级:侠圣

注册时间:2018-09-30

钻石 钻石 如何晋级?

发布于 2024-04-18 21:27:06

3楼

实现窗口值变小时直接使用新窗口值,可以分3种情况讨论:

1、尾指针大于新窗口值指向的最后位置

那么用缓存区里最新的值覆盖向前覆盖

  FOR #tempK := 1 TO #windowSize - 1 DO

                #statBuffer[#tempK] := #statBuffer[#statActualWindowSize - #windowSize + #tempK];

            END_FOR;

2、尾指针小于新窗口值指向的最后位置,但存满过

那么原则上也是用缓存区里最新的值覆盖向前覆盖,因为存在翻转的情况,因此得借助临时存储区

3、尾指针小于新窗口值指向的最后位置,但没存满过

那么应该等尾指针过了新窗口值指向的最后位置,再执行用缓存区里最新的值覆盖向前覆盖




评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1542条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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