原标题:毛刺满天飞的1000Hz风墙试验数据,均值滤波窗口开多大才合适?
导读:
本文为风墙试验数据处理手记。试验以1000Hz高频采集原始数据,信号中毛刺噪声密集,需借助均值滤波进行平滑降噪。核心问题在于滤波窗口宽度的选取:窗口过小则毛刺抑制不彻底,过大又...
本文为风墙试验数据处理手记。试验以1000Hz高频采集原始数据,信号中毛刺噪声密集,需借助均值滤波进行平滑降噪。核心问题在于滤波窗口宽度的选取:窗口过小则毛刺抑制不彻底,过大又会造成信号迟滞、峰值与细节被抹平。文中结合试验数据特点,分析不同窗口尺寸下的滤波效果与权衡关系,为高速采样信号的降噪参数选择提供实践参考。
上周三早上七点半,试验室里风墙的风机刚预热完,低频的嗡嗡声贴着地面滚过来,我盯着采集软件的屏幕,新来的小张凑过来看了一眼,眉头立刻皱起来:“哥,这曲线怎么这么毛?跟心电图似的,是不是传感器坏了?”
我让他别急,把采样频率那一栏指给他看——1000Hz,说白了,设备每秒钟要抓一千个数据点,抓得这么密,传感器自己那点抖动、电源里混进来的杂波、甚至旁边插线板接触不良的小火花,全被它一五一十记了下来,数据不是坏了,是它太诚实。
先聊聊为什么非得用1000Hz,做风墙试验,我们真正关心的是墙面测点的风压、来流的脉动风速,这些量里最快的变化,结合前期预试验估一下涡脱频率,一般也就几百赫兹,按采样定律,采样频率至少得是目标频率的两倍,但实际没人卡着两倍干——万一信号里混了更高的成分又没滤干净,折回低频段就是假象,我的习惯是给到关心频率的三倍往上,再配上采集卡前端的抗混叠低通,1000Hz就这么定下来的,就像拍蜂鸟的翅膀,普通帧率拍出来只能看见一团虚影,想看清每一次扇动,快门就必须快。
数据密是密了,毛病也跟着来,把曲线放大看,又粗又毛:50Hz的工频干扰从电源线里钻进来,风机底座的振动顺着安装架爬上传感器,再加上探头自身的热噪声,一层层叠上去,直接拿这种原始曲线去算平均风压、算极值,要么算不准,要么每次结果都在跳,这时候,就该均值滤波上场了。
均值滤波的原理说出来特别朴素:每次抓N个相邻的点,求个平均,当作这一小段的结果;窗口往右挪一格,再算一次,一路滚过去,打个比方,就像看一个月的体重记录,单看某天上下浮动两斤没意义,但把每周的平均拉出来,趋势一下就清楚了,在1000Hz下,这个N换算成时间特别好记:10个点是10毫秒,100个点是0.1秒,1000个点整整1秒。
那N到底取多少?这是新手最容易栽跟头的地方,我的经验浓缩成一句话:窗口的时间长度,必须明显小于你最关心的那个变化过程,举个例子,测风墙表面风压,要抓阵风引起的压力脉动,最快的过程也就零点零几秒;要是图省事直接开个1秒的大窗,那些快速起伏全被抹平,峰值会被削掉一截——而峰值恰恰是结构设计里最要命的参数,反过来,你要的只是平均风速的缓慢趋势线,窗口放宽到0.5秒、1秒都没问题,曲线还特别顺眼。
所以别拍脑袋定,拿数据说话,每换一种工况,我先试采30秒,把10点、25点、50点、100点四种窗口各跑一遍,四条线叠在一张图上看:窗口短的,毛刺还在但起伏形状都在;窗口长的,线条漂亮,可你盯着峰值看,它悄悄矮下去了,我的土办法是对比滤波前后的最大值,峰值要是掉了超过百分之三到五,说明窗口过长,往回收,另外有个细节:所有通道的窗口务必设成一样,不然测点通道和参考风速通道一个钝一个锐,算出来的风压系数放一块儿对比就不公平了。
还有两个容易忽略的小坑,第一,均值滤波怕野点,一个受电磁干扰蹦出来的尖峰,进了窗口一平均,会把周围一整段都带歪,一颗老鼠屎坏一锅粥,所以我都是先过一道三点或五点的中值滤波,把孤零零的尖峰掐掉,再做均值,顺序不能反,第二,50Hz工频干扰有个巧妙的对付法:1000Hz采样下,20个点正好是20毫秒,一个完整工频周期,窗口取20或者它的整数倍,平均时正负半周互相抵消,工频及其附近的谐波能被顺带压掉一大截,算白捡的便宜。
如果采集软件要实时显示,均值滤波还得讲点算力账,别每滚动一格就把窗口里的点重新加一遍,用一个滑动和:进来一个新点就加上,最老的点减掉,除一下出结果,一分钟算几万次都不喘,还有个容易被忽略的细节:长度为N的均值滤波,结果对应的是窗口中心那个时刻,相当于信号整体往后挪了(N-1)/2个点,要是平台上还有皮托管、测力天平这些设备要做同步对比,记得把这段延迟对齐,不然你会纳闷为什么两个通道的动作总差半拍。
最后想多说一句:滤波做完,原始数据永远留底,我见过有人把滤波结果当原始数据存盘,回头想换个窗口重算,当场傻眼,我的习惯是同一工况存两路,raw一路、filtered一路,回办公室还能做频谱检查——对原始信号做个FFT,看看噪声底和有效信号在频率上分不分得开,窗口选得合不合适,一目了然。
说到底,1000Hz加均值滤波这套搭配,没有放之四海皆准的标准答案,答案藏在你关心的物理量里:关心趋势,窗口就放宽;关心峰值,窗口就收紧;怕毛刺,先把野点处理掉,风机还在嗡嗡地转,屏幕上的曲线从“心电图”变成干净利落的包络,小张凑过来看了一眼,说了句“这下舒服了”,你看,所谓经验,不过就是多试几档窗口、多留一手原始数据,让数据自己把话说明白。
