之前两篇文章讲了滤波算法的两大最基本理论FIR和IIR。本篇将讲一下滤波效果的评价指标与用法。评价指标主要用于对滤波效果的量化评价,在论文里经常会用到。
一、信噪比SNR
信噪比(英语:Signal-to-noise ratio,缩写为SNR或S/N),指信号功率(Power of Signal)与噪声功率(Power of Noise)的比,也为幅度(Amplitude)平方的比:
它的单位一般使用分贝,其值为十倍对数信号与噪声功率比:
信噪比是衡量降噪程度最直观的一个量,信噪比越大,说明信号中包含的噪声越少,降噪效果越好。
在这里要特别强调:
上述的信号( 或者 ),指的是准备求信噪比的“有用信号”,这里的有用信号通常指的就是“纯净信号”;
上述的噪声(或者 ),指的是纯噪声,这个“纯噪声”指的是“滤波后信号”减去“纯净信号”。注意:【用滤波后信号减去滤波前信号作为噪声是大错特错的!】
这就带来一个问题:
在大多数情况下,如果想要求某个带噪信号的信噪比,那就需要提前知道“纯净信号”。
所以,在很多时候,SNR的计算需要配合仿真信号。因为只有仿真信号才能准确地知道纯净信号。
二、波形相似参数NCC
波形相似参数(Normalized Correlation Cofficient)[1]是要与相关系数区分开的,波形相似系数反应去噪前后信号波形的整体相似度,不能表征波形振荡变化的细节,其计算公式是:
其中 As 指的是“纯净信号”,Ad指的是滤波后的信号。
三、均方误差MSE
均方误差是反映估计量与被估计量之间差异程度的一种度量。
其物理含义很容易理解,就是“滤波后的信号与纯净信号作差,取平方和的平均数”。
用公式表示就是:
其中指的是“纯净信号”, 指的是滤波后信号。
四、关于上述指标的使用
看到这里你可能已经发现了,上述SNR、NCC和MSE指标,都是需要知道“纯净信号”才能计算的。
完美的“纯净信号”只有在仿真中才能获取到,也就是说使用MATLAB或其他软件生成一段纯净信号、然后加入噪声,得到一个被“污染”的信号,使用某种滤波降噪方法后得到滤波结果,此时再计算上述几个指标只要带入相应的数值就可以了。
所以很多论文的做法是,为了验证某种滤波算法的有效性,先用仿真信号进行试验,期间可能涉及几种不同的滤波算法得到的指标横向对比。说明当前滤波算法最优之后,再使用该算法对某真实信号进行滤波,此时就无法再计算上述三个指标了,只能通过主观研判分析滤波效果。
当然,对于某些领域也许可以通过在物理实验中控制外部噪声的方式近似获取“纯净信号”,此时也可以采用这几个指标进行衡量了。
五、关于指标的横向对比
论文里时常要涉及到评价指标的横向对比,这里特别强调一下哪些场景可以对比,哪些不可以。以免造成“为什么我算出来比别人差这么多”的错觉。
可以对比的场景1:对于相同的数据,使用不同的算法进行处理,得到的滤波结果,可以进行指标对比,以评判不同的算法的优劣。这种情况是最常见也最容易理解的,就不过多解释了。
可以对比的场景2:对于相同研究对象的相似数据,使用不同的算法进行处理,可以进行有限度的对比。举个例子,比如同样是对相同型号不同个体的齿轮箱进行采样,滤波后的指标可以在数量级上进行对比,除非滤波效果有极其明显的区别,否则不能直接说明滤波算法的优劣,所以是“有限度的对比”。
不可以对比的场景:不同研究对象、不同类型数据,滤波指标不能进行横向对比。这个是要特别注意的,有些同学复现了某参考论文的滤波算法,然后套用在自己的数据上使用,发现评价指标差了好几个数量级(尤其是对于MSE),认为是算法复现出现了问题——其实并不是的,研究对象不同,尤其是分析的对象数据本身不在一个数量级上时,滤波指标的对比可以说是没有意义的,所以就不要在这一点上纠结花时间了哦!
end.关于滤波专题
目前计划要讲到的包括:
-1.FIR有限冲激响应、IIR无限冲激响应数字滤波算法的理论讲解、滤波器设计方法和MATLAB代码实现
-2.滤波器滤波效果的评价指标
-3.“类EMD”方法(即包括EMD、EEMD、CEEMD、VMD等一系列方法)的滤波算法讲解与实现
-4.“类EMD”方法与ICA结合的滤波算法讲解与实现
-5.小波阈值滤波方法讲解与实现
-6.卡尔曼滤波方法讲解与实现
...(其他方法随时补充)
参考
- 一种基于复小波变换提取PD信号的分块自适应复阈值算法
近期评论