【分享】中位值平均滤波法

已锁定

宁ゐ玉碎

  • 帖子

    179
  • 精华

    0
  • 被关注

    27

论坛等级:侠圣

注册时间:2007-04-16

黄金 黄金 如何晋级?

【分享】中位值平均滤波法

3708

6

2016-01-05 11:09:14


DATA_BLOCK DB98
    STRUCT
          AI   :  ARRAY[1..100] OF  
                                 STRUCT
                                     V:    ARRAY[1..10]  OF  INT;
                                 END_STRUCT;
    END_STRUCT
BEGIN

END_DATA_BLOCK

//==========================================================================

FUNCTION FC98 : WORD

VAR_INPUT
    AI_Value  :  WORD;  // PIW值
    AI_ID     :  INT;   //序号从1开始不重复
END_VAR

VAR_Temp
    N  :  INT;
    MaxV: INT;
    MinV: INT;
    Add : DINT;
END_VAR  

        FOR N:= 10 TO 2  BY -1 DO    //转轮
            DB98.AI[AI_ID].V[N]:=DB98.AI[AI_ID].V[N-1];     
        END_FOR;
        DB98.AI[AI_ID].V[1]:=WORD_TO_INT(AI_Value);   //最新值充进 [1]
        MaxV:=-32767;
        MinV:=32767;
        Add :=0;
        FOR N:= 1 TO 10  BY 1 DO   
           IF   DB98.AI[AI_ID].V[N]  >= MaxV  THEN     
                MaxV:=DB98.AI[AI_ID].V[N];       //取的最大值
           END_IF;
           IF   DB98.AI[AI_ID].V[N]  <= MinV  THEN
                MinV:=DB98.AI[AI_ID].V[N];       //取的最小值
           END_IF;
           Add:=Add+DB98.AI[AI_ID].V[N];         //所有值累加
        END_FOR;
          
         FC98:=DINT_TO_WORD((Add-MaxV-MinV)/8);  //去掉最大和最小值,得平均值

END_FUNCTION
【分享】中位值平均滤波法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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