以爆破振动信号为例,爆破振动信号在采集过程中易受周围环境或监测系统影响,产生波形偏离基线中心的信号趋势项。信号受到趋势项负面作用,导致波形峰值呈现差异性变化,并影响了频谱和能量分布的特征,导致得出错误结论。因此,这就需要先对采集到的爆破振动信号进行预处理,提高爆破振动信号分析的精度,以获得真实的爆破振动峰值和时频特征等重要信息。信号平滑是指通过降低信号中噪声的强度,使其更加平滑的一种处理方法。在信号处理中,平滑通常是为了减小信号的波动和噪声,提高信号的可靠性和稳定性。
鉴于此,采用MATLAB环境下一维信号的前处理:信号去趋势项(滑动平均法消除趋势项,最小二乘法消除多项式趋势项)和信号平滑方法(Savitzky-Golay滤波平滑,五点三次法平滑处理),部分代码如下:
%% Savitzky-Golay滤波平滑
clear
clc
close all
sf=200;%采样频率
load y
x=y(1:100);
k=length(x);
noise = 0.03*randn(1,k);%服从正态分布的噪声信号
x0=x+noise;%添加噪声信号
n=length(x0);%取信号数据长度
t=(0:1/sf:(n-1)/sf);% 建立离散时间列向量
x1=SG(x0,3,7);% 使用SavitzkyGolay滤波
plot(t,x0,'r',t,x1,'b');
xlabel('Time / s')
ylabel('Amplitude / mm')
legend('\fontsize{10}\fontname{宋体}滤波前','\fontsize{10}\fontname{宋体}滤波后');
legend boxoff
grid on;
title('滤波前后对比')
出图如下:
完整代码:MATLAB环境下一维信号的前处理:信号去趋势项和信号平滑
工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。
擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。