1 简介
基于硬阈函数和软阈函数的小波去噪算法处理的信号分别存在着偏差和方差过大的缺点,为有效解决这一问题,提出基于灰狼算法优化小波变换去噪算法。并采用常用的信号用matlab对去噪效果进行了仿真。仿真结果进一步表明了灰狼算法优化小波变换去噪算法的优越性和有效性。
2 部分代码
close all;
clear all;
clc;
Ts=0.01;
Fs=1/Ts;
t=0:Ts:10;
a1=25;%带宽因子
b=1.07;%回波到达时间
c=5.34;%信号中心频率
d=0.87;%相位
g=1.01;%幅度系数
f=g*exp(-a1*(t-b).^2).*cos(2*pi*c*(t-b)+d);
figure;
plot(t,f);
title('原始超声回波信号');
s=length(f);
N = s;
f1=wgn(1,N,0.0015,'real','linear')%产生功率为p dBW的m*n的高斯白噪声矩阵,其中p是以dbW为单位的输出强度
x=f1+f;
[C,L] = wavedec(x,6,'sym6');%小波分解
cA6 = appcoef(C,L,'sym6',6);
cD6 = detcoef(C,L,6);
cD5 = detcoef(C,L,5);
cD4 = detcoef(C,L,4);
cD3 = detcoef(C,L,3);
cD2 = detcoef(C,L,2);
cD1 = detcoef(C,L,1);
thra=[thr1,thr2,thr3,thr4,thr5,thr6];
GWO=wdencmp('lvd',C,L,'sym6',6,thra,'s')%自适应阈值去噪
figure
plot(t,GWO);title('灰狼阈值优化')%灰狼优化
ylabel('幅度');xlabel('时间/s');
Ps=sum(sum((GWO-mean(mean(x))).^2));%signal power信噪比
Pn=sum(sum((GWO-x).^2)); %noise power均值误差
snr0=10*log10(Ps/Pn);%
std0=std(abs(x-GWO));%
3 仿真结果
4 参考文献
[1]李祥兵, and 肖合林. "基于Matlab的小波阈值折衷去噪算法研究." 电脑开发与应用 22.6(2009):3.
[2]杨丽丽. 基于改进灰狼算法的光伏阵列最大功率点跟踪研究. Diss. 河北大学.
部分理论引用网络文献,若有侵权联系博主删除。