常好的刻画信号的非平稳特性,如边缘、尖峰、断点等,以便于特征提取和保护;3)去相关性。因为小波变换可以对信号进行去相关,且噪声在变换后有白化趋势,所以在小波域比在时域更利于去噪;4)小波基选择的多样性。由于小波变换可以灵活选择变换基,所以可以针对不同应用场合选用不同的小波函数,以获得最佳的处理效果。 4.2 小波去噪的模型建立
4.2.1去噪的Matlab程序
局部放电试验所采集的信号中往往混有白噪声、周期干扰信号去除。此处采用常用db系列小波中的db6小波进行9尺度的多分辨分解后,根据白噪声能量特性,估算各尺度的阈值大小,采用硬值进行处理,后进行重构。Matlab程序如下:
function sd=liu_denoise(mix_signal)
%此函数用于去除白躁信号&周期性干扰信号 %输入参数mix_signal为采集到的信号波形 p=0.6745; w_dept=9; w_name='db6'; coef=cell(1,w_dept); thr=zeros(1,w_dept+1);
[c,l]=wavedec(mix_signal,w_dept,w_name); %对混合信号S进行db6的9尺度一维分解 coef(1)={appcoef(c,l,w_name,w_dept)};%计算尺度为9的一维分解低频系数 cs=[cs,coef_soft{j}];
thr(1)=median(abs(coef{1}))/p*sqrt(2*log(length(coef{1})));%计算1尺度上的阈值 coef_soft(1)={wthresh(coef{1},'h',thr(1))};%对小波系数进行阈值为thr(1)的硬阈值处理 cs=[coef_soft{1}]; for j=2:w_dept+1
coef(j)={detcoef(c,l,w_dept-j+2)};%计算尺度为9到2的各尺度高频小波系数 coef1(j)={detcoef(c,l,w_dept-j+2)};
thr(j)=median(abs(coef{j}))/p*sqrt(2*log(length(coef{j})));%计算9到2各尺度上的阈值
coef_soft(j)={wthresh(coef{j},'h',thr(j))};%对小波系数进行阈值为thr(j)的硬阈值处理 cs=[cs,coef_soft{j}]; end
sd=waverec(cs,l,w_name); %根据小波系数[cs,l]对信号进行重构 4.2.2 仿真分析
为了验证去噪的有效性,先仿真产生一个局放脉冲然后叠加0.1倍白噪声和周期干扰,利用前面的程序去造,结果如图1,从图上可以看到去噪后信号与原始信号幅值、相位都基本没有变化程序如下:
fc=40e4; %振荡频率 t4=0.8e-3; %脉冲起始时间 tn=1e-3; %总时间 x=0:step:tn; x4=t4:step:tn;
%s4=(exp((t4-x4)*13/t)-exp((t4-x4)*22/t)).*sin(2*pi*fc*x4); s4=(exp((t4-x4)/tr)-exp((t4-x4)/td)).*sin(2*pi*fc*x4); s4=[zeros(1,t4/step),s4]; p=tn/step;
n=0.1*randn(1,p); %产生白噪信号 n=[n,0];
s5=0.1*sin(2*pi*10000000*x); %产生周期性干扰信号 s6=s4+n+s5; sd=liu_denoise(s6);
subplot(311);plot(x,s4);title('单个局放脉冲仿真波形'); subplot(312);plot(x,mix_signal);title('染噪后波形'); subplot(313);plot(x,sd);title('小波去噪后波形');
小波去噪对比图
5 结束语
从上述的利用小波分析对非线性信号的处理中可以看出,小波变换是一种信号的时频分析方法,有很多优点,很适合探测正常信号中夹带的瞬态反常现象并展示其成分,有效区分信号中的突变部分和噪声。小波变换正广泛应用在各种领域里,通过Matlab编制程序进行给定信号的噪声抑制和非平稳信号的噪声消除。基于小波变换的消噪方法是一种提取有用信号、展示噪声和突变信号的优越方法,具有广阔的实用价值。