技术论坛

 信号采集后三种滤波方法

返回主题列表
作者 主题
奔驰的稻草人
游侠

经验值: 345
发帖数: 5
精华帖: 2
楼主    2022-02-10 16:32:27
主题:信号采集后三种滤波方法 精华帖 

滤波程序全局库

软件版本:TIA15.1

功能:可实现对采集数据的滤波,根据现场不同情况,设置滤波参数,达到理想曲线。

移植性:功能块编写语言均为SCL,方便移植到其它品牌plc。

内容:此库内包含三中滤波程序,一阶滞后滤波法、中位值滤波法、堆栈平均滤波法。

滤波效果如下图:



①一阶滞后滤波法封装: 

代码:

IF #"a (0-1)" >= 1.0 THEN

    #"a (0-1)" := 0.5;

END_IF;


#ms_time := INT_TO_TIME(#time_ms);

#IEC_Timer_0_Instance(IN := NOT #p,

                      PT := #ms_time,

                      Q => #p);

IF #p THEN

    

    #new_value := (1 - #"a (0-1)") * #IN + #"a (0-1)" * #last_value;

    #last_value := #new_value;

    #OUT := #new_value;

END_IF;



②堆栈平均滤波法封装  

代码:

#IEC_Timer_0_Instance(IN:=NOT #TIMER_INOUT,

                      PT:=#time_采集时间,

                      Q=>#TIMER_INOUT);


#S_数组[#"N_采集数量(3-999)"] := #In_输入值;


IF #TIMER_INOUT THEN

   

    FOR #S_j := 1 TO  #"N_采集数量(3-999)" DO

        #S_数组[#S_j-1] := #S_数组[#S_j];

        

    END_FOR;

END_IF;


#T_max := #S_数组[0];

#T_min := #S_数组[0];

FOR #S_j := 0 TO #"N_采集数量(3-999)"-1 DO

    IF #S_数组[#S_j] > #T_max THEN

        #T_max := #S_数组[#S_j];

    END_IF;

    IF #S_数组[#S_j] < #T_min THEN

        #T_min := #S_数组[#S_j];

    END_IF;

    #T_sum := #T_sum + #S_数组[#S_j];

END_FOR;


IF #"MAX/MIN_EN" THEN

#Out_输出结果:=(#T_sum-#T_max- #T_min )/ (#"N_采集数量(3-999)"-2);

ELSE

    #Out_输出结果 := #T_sum / #"N_采集数量(3-999)";

END_IF;


#Out_max := #T_max;

#Out_min := #T_min;



③中位值滤波法封装  

代码:

//n 须为3<n<999的奇数

IF #N < 3 THEN

    #N := 3;

END_IF;

IF #N > 999 THEN

    #N := 999;

END_IF;

#MOD :=#N MOD 2;

IF #MOD = 0 THEN

    #N := #N + 1;

END_IF;


//转换成时间格式

#time_temp := INT_TO_TIME(#time_ms);


//生成脉冲,对n个数堆栈

#IEC_Timer_0_Instance(IN:=NOT #p,

                      PT:=#time_temp,

                      Q=>#p );

IF #p THEN

    FOR #x := 0 TO #N - 2 DO

        #value[#x] := #value[#x + 1];

    END_FOR;

   #value[#N-1] := #IN;

END_IF;

    

 // 将value数组中的数复制到temp_value数组中

MOVE_BLK(IN:=#value[0],

             COUNT:=1000,

             OUT=>#temp_value[0]);

    

    //对temp_value数组中数从小到大排序

    FOR #j := 0 TO #N - 3 DO

        FOR #i := #j TO #N - 2 DO

            IF #temp_value[#j] > #temp_value[#i + 1] THEN

                #value_temp := #temp_value[#i + 1];

                #temp_value[#i + 1] := #temp_value[#j];

                #temp_value[#j] := #value_temp;

            END_IF;

        END_FOR;

    END_FOR;

    

    //在排好序的数组中,取中间数做为输出

     #OUT := #temp_value[(#N - 1) / 2];


三种滤波方法全局库.rar

编辑不易给个赞呗


仰天大笑出门去我辈岂是蓬蒿人
WWCWWC
至圣

经验值: 71760
发帖数: 8032
精华帖: 145
1楼    2022-02-10 16:33:50
主题:回复:信号采集后三种滤波方法

点赞是必须的,辛苦了。

baby_nine
侠客

经验值: 995
发帖数: 46
精华帖: 0
2楼    2022-02-10 16:44:44
主题:回复:信号采集后三种滤波方法
感谢分享,辛苦了。不知西门子工业库中是否有官方的滤波程序
QQ: 854960333@qq.com
Zaxife
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
3楼    2022-02-10 16:44:57
主题:回复:信号采集后三种滤波方法

我一直以来都喜欢一阶滤波,简单方便。

ABBCCC
至圣

经验值: 24344
发帖数: 4846
精华帖: 6
4楼    2022-02-10 16:46:51
主题:回复:信号采集后三种滤波方法

 论坛有你更精彩!

谨慎低调
企鹅村
侠圣

经验值: 3821
发帖数: 541
精华帖: 0
5楼    2022-02-10 16:52:37
主题:回复:信号采集后三种滤波方法

谢谢分享,我先去学习下基础知识

甜甜蜜蜜
狂奔的龟
侠圣

经验值: 2309
发帖数: 278
精华帖: 0
6楼    2022-02-10 17:17:10
主题:回复:信号采集后三种滤波方法

能分享知识就值得点赞!!

脚踏实地的走下去!
和光同尘
奇侠

经验值: 6758
发帖数: 1106
精华帖: 1
7楼    2022-02-10 20:12:51
主题:回复:信号采集后三种滤波方法

谢谢分享,点赞!

阳阳爸
侠圣

经验值: 3578
发帖数: 614
精华帖: 0
8楼    2022-02-10 20:36:08
主题:回复:信号采集后三种滤波方法

下载不了啊

简单的重复就能完成复杂的任务!
liuliusheng
至圣

经验值: 26250
发帖数: 5838
精华帖: 5
9楼    2022-02-11 10:11:36
主题:回复:信号采集后三种滤波方法

能下载呀,点赞!

天天学习,天天进步.
笨笨笨笨
奇侠

经验值: 7127
发帖数: 1022
精华帖: 2
10楼    2022-02-11 11:15:20
主题:回复:信号采集后三种滤波方法

点赞,这个是真的干货

心有多远路就有多远
RENHQ
至圣

经验值: 68945
发帖数: 12231
精华帖: 59
11楼    2022-02-14 14:17:06
主题:回复:信号采集后三种滤波方法

感谢分享~~

Q群:https://jq.qq.com/?k=9BDuEgf6
JL4_207
侠圣

经验值: 4542
发帖数: 809
精华帖: 2
12楼    2022-02-14 14:46:52
主题:回复:信号采集后三种滤波方法

太专业了,有点看不懂了,,,

,,赞一个

暂无
执着siemens
侠圣

经验值: 2302
发帖数: 276
精华帖: 2
13楼    2022-02-14 19:33:36
主题:回复:信号采集后三种滤波方法


感谢分享!

胖头陀
奇侠

经验值: 9587
发帖数: 432
精华帖: 0
14楼    2022-02-15 08:04:49
主题:回复:信号采集后三种滤波方法


感谢分享!

芳季
至圣

经验值: 66651
发帖数: 14762
精华帖: 100
15楼    2022-02-15 08:10:23
主题:回复:信号采集后三种滤波方法

感觉使用1500的基本都是高手。

有没有一种滤波方法可以把输入信号中断近似n赫兹成分的波动去除?

重点,只对n赫兹附近的波动做去除。去除深度可调,附近半径可调。其他频率不去除。

ortho123
侠士

经验值: 1189
发帖数: 157
精华帖: 0
16楼    2022-02-15 08:11:24
主题:回复:信号采集后三种滤波方法

感谢分享,必须赞

Ready_OK
至圣

经验值: 15530
发帖数: 1735
精华帖: 0
17楼    2022-02-15 08:12:09
主题:回复:信号采集后三种滤波方法

 

为大神分享干货点赞!


海纳百川,厚德务实!
HUANGZE75
至圣

经验值: 63263
发帖数: 12670
精华帖: 121
18楼    2022-02-15 08:46:59
主题:回复:信号采集后三种滤波方法


非常不错图文并茂,三种滤波方法对比效果明显。

yzm_cumt
至圣

经验值: 18269
发帖数: 2653
精华帖: 14
19楼    2022-02-15 09:11:03
主题:回复:信号采集后三种滤波方法


,做成全局库确实不错,可用性与可移植性都不错

sometimes you have to be your own hero!
启善
奇侠

经验值: 7486
发帖数: 630
精华帖: 1
20楼    2022-02-15 09:11:09
主题:回复:信号采集后三种滤波方法


谢谢大神分享,必须点赞。

新兴电工
至圣

经验值: 12783
发帖数: 1212
精华帖: 2
21楼    2022-02-15 09:53:50
主题:回复:信号采集后三种滤波方法


绝对是干货

革命尚未成功,同志仍需努力.
匆匆又三年
侠圣

经验值: 3279
发帖数: 310
精华帖: 8
22楼    2022-02-15 11:30:58
主题:回复:信号采集后三种滤波方法

一阶滤波公式写错了吧,应该是 #new_value := (1 - #"a (0-1)") * #last_value + #"a (0-1)" * #IN;

有事联系邮箱 203161926@qq.com
Zaxife
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
23楼    2022-02-15 13:49:47
主题:回复:信号采集后三种滤波方法

你说的这种叫陷波器,以前模拟电路中经常见到的,原理上就是低通滤波+高通滤波。用电阻、电容、电感拼凑就能够做到。

其实,现在用电阻、电容、运放组成0衰减陷波器的更好。


说到电阻电容,想到的肯定是积分、微分了,所以某一个频率陷波器就是根据频率周期判断2个周期采集的2个值之间相减的绝对值必须小于(低通)或者大于(高通)某个范围值。

嗯,如果学过傅立叶的应该都知道这个,FFT运算就是太费时了,不过有个查表法可以提高效率...


好嘞,以上纯粹我瞎扯淡的。

呼啦啦水电费
侠圣

经验值: 2878
发帖数: 268
精华帖: 15
24楼    2022-02-15 14:03:31
主题:回复:信号采集后三种滤波方法


必须给赞,感谢楼主的分享。

清风逝,尘飞扬
f1968
侠圣

经验值: 3713
发帖数: 148
精华帖: 0
25楼    2022-02-15 20:40:13
主题:回复:信号采集后三种滤波方法

有时滤波对于信号处理是必需的算法,谢谢分享!

魔笛库卡
侠圣

经验值: 2312
发帖数: 428
精华帖: 0
26楼    2022-02-16 08:43:08
主题:回复:信号采集后三种滤波方法

楼主,谢谢你的分享。真心感谢!





学无止境
XBin
侠圣

经验值: 4162
发帖数: 72
精华帖: 0
27楼    2022-02-16 09:10:44
主题:回复:信号采集后三种滤波方法

感谢分享!!

Siemens automation
奇侠

经验值: 5538
发帖数: 626
精华帖: 6
28楼    2022-02-16 14:01:29
主题:回复:信号采集后三种滤波方法


。下载下来仔细看一下。

来不及说再见
游侠

经验值: 383
发帖数: 36
精华帖: 1
29楼    2022-02-16 18:34:06
主题:回复:信号采集后三种滤波方法


牛 逼格拉斯!!!


FOR BETTER
holdkcsxyz
至圣

经验值: 13012
发帖数: 1814
精华帖: 22
30楼    2022-02-17 12:54:50
主题:回复:信号采集后三种滤波方法

简单的信号不需要滤波;复杂的信号又过滤不了;滤波权重的算法比滤波算法本身还复杂.

锋言锋语
至圣

经验值: 23682
发帖数: 3381
精华帖: 52
31楼    2022-02-17 13:23:24
主题:回复:信号采集后三种滤波方法

这个用编程计算的话, 首先,缓存一段数据, 然后,用福利也变化求出对应频率的分量。

用缓存减去分量。

不忘初心
坏笨笨
侠士

经验值: 1547
发帖数: 373
精华帖: 4
32楼    2022-02-18 14:05:05
主题:回复:信号采集后三种滤波方法

有,西门子1500自带,带通滤波

坏笨笨
侠士

经验值: 1547
发帖数: 373
精华帖: 4
33楼    2022-02-18 14:07:18
主题:回复:信号采集后三种滤波方法

西门子库自带,带通滤波

手机用户20190530876633
新手

经验值: 30
发帖数: 2
精华帖: 0
34楼    2022-02-18 15:58:15
主题:回复:信号采集后三种滤波方法

hahahahhahahahahaaaa

yacado
侠圣

经验值: 3804
发帖数: 500
精华帖: 3
35楼    2022-02-18 18:06:39
主题:回复:信号采集后三种滤波方法

谢谢分享,给楼主点赞。

和光同尘
奇侠

经验值: 6758
发帖数: 1106
精华帖: 1
36楼    2022-02-18 18:27:25
主题:回复:信号采集后三种滤波方法

谢谢分享!

贤贤易色
奇侠

经验值: 8091
发帖数: 1308
精华帖: 6
37楼    2022-02-24 08:33:31
主题:回复:信号采集后三种滤波方法

我感觉也写错了,你不说我都不知道,,百度了一下:一阶滤波算法是比较常用的滤波算法,它的滤波结果=a*本次采样值+(1-a)*上次滤波结果,其中,a为0~1之间的数。一阶滤波相当于是将新的采样值与上次的滤波结果计算一个加权平均值。a的取值决定了算法的灵敏度,a越大,新采集的值占的权重越大,算法越灵敏,但平顺性差;相反,a越小,新采集的值占的权重越小,灵敏度差,但平顺性好。

养活一团春意思,撑起两根穷骨头
zrc4043
游民

经验值: 104
发帖数: 1
精华帖: 0
38楼    2022-02-24 13:24:44
主题:回复:信号采集后三种滤波方法

感谢分享。

神舟一百
游民

经验值: 109
发帖数: 6
精华帖: 0
39楼    2022-02-25 08:30:03
主题:回复:信号采集后三种滤波方法

真是好东西,辛苦了


我爱吾家
至圣

经验值: 15067
发帖数: 2859
精华帖: 0
40楼    2022-02-28 11:15:08
主题:回复:信号采集后三种滤波方法

感谢楼主分享

又单又纯
侠客

经验值: 717
发帖数: 159
精华帖: 0
41楼    2022-03-02 10:59:49
主题:回复:信号采集后三种滤波方法

还是喜欢看这样的贴子,而不是一些假大空的开天辟地的

Letham
至圣

经验值: 13923
发帖数: 2004
精华帖: 43
42楼    2022-03-03 12:50:05
主题:回复:信号采集后三种滤波方法

有图,滤波后效果一目了然

人生就像一场旅行!
水清H
侠客

经验值: 726
发帖数: 48
精华帖: 1
43楼    2022-03-05 11:05:49
主题:回复:信号采集后三种滤波方法

仔细看了一下堆栈平均滤波法的代码,发现了一个小Bug,不知道对不对。

n个数据没采集完时,也就是数组里数据量小与n时,算平均值时还是除以n,会导致输出结果不对。

等到采集的数据量大于等于n时就没问题了。


工控小学seng
游民

经验值: 61
发帖数: 1
精华帖: 0
44楼    2022-03-14 15:41:45
主题:回复:信号采集后三种滤波方法


V16怎么打开这个程序啊之前我记得可以打开的找不到了

毕加索
游民

经验值: 92
发帖数: 1
精华帖: 0
45楼    2022-03-14 15:45:56
主题:回复:信号采集后三种滤波方法


,学习下,感谢

不断攀登
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
46楼    2022-03-18 08:07:31
主题:回复:信号采集后三种滤波方法

很好的分享。

邮箱 yongquancun@126.com
不断攀登
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
47楼    2022-03-18 09:41:17
主题:回复:信号采集后三种滤波方法

一阶滞后滤波  公式错了  楼主改下吧。

邮箱 yongquancun@126.com
ligp99
侠圣

经验值: 4018
发帖数: 831
精华帖: 0
52楼    2022-04-14 17:31:41
主题:回复:信号采集后三种滤波方法

他们说公式有错?

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