发表于:2003-08-11 11:45:00
楼主
前几天做了一个项目现场信号干扰非常大。因采集信号附近有变频器等设备,对信号干扰很大,数据出来就象老式汽车的车速表,左右摆动非常大,用硬件做了很多滤波均效果不好,因波动频率非常低,可户的要求是象现在的高档汽车的车速表要非常平稳的变化,(比喻)现场做了一个小程序(脚本),思路实际就是取上10个数据求平均值,供大家评正。谁还有高招可在此交流啊。
“fk_dl”为有干扰的信号输入字段名,“fkp_dl”为软件滤波后供采集系统使用后的字段名,可惜在这不能显示图象,否则可让大家看看效果波形图象
fkp_dln=8
fkp_dl8 = fkp_dl7:fkp_dl7 = fkp_dl6:fkp_dl6 = fkp_dl5
fkp_dl5 = fkp_dl4:fkp_dl4 = fkp_dl3:fkp_dl3 = fkp_dl2
fkp_dl2 = fkp_dl1:fkp_dl1 = fkp_dl0:fkp_dl0 = fk_dl
if fkp_dl8 <=10 then fkp_dln=fkp_dln-1
if fkp_dl7 <=10 then fkp_dln=fkp_dln-1
if fkp_dl6 <=10 then fkp_dln=fkp_dln-1
if fkp_dl5 <=10 then fkp_dln=fkp_dln-1
if fkp_dl4 <=10 then fkp_dln=fkp_dln-1
if fkp_dl3 <=10 then fkp_dln=fkp_dln-1
if fkp_dl2 <=10 then fkp_dln=fkp_dln-1
if fkp_dl1 <=10 then fkp_dln=fkp_dln-1
if fkp_dln=0 then fkp_dln=1
fkp_dl=(fkp_dl8 + fkp_dl7 + fkp_dl6 + fkp_dl5 + fkp_dl4 + fkp_dl3 + fkp_dl2 + fkp_dl1)/fkp_dln