资源简介

小波降噪软硬阈值和改进阈值的代码,代码可直接运行,有中文注释,层次清晰,都看的懂,运行结果为噪声图像,软阈值硬阈值改进阈值三种做法的SNR,RMSE,以及对应的去噪后图像

资源截图

代码片段和文件信息

 %%初始化程序
clearclc
t1=clock;
 %% 载入7.6日00:15到7.21日24:00的数据
load(‘SJ76721.mat‘);%matrix
YSJ= SJ76721;
disp(‘------7.6日00:15到7.21日24:00的降噪处理结果-------‘); 
 % 载入7.6日00:15到7.24日24:00的数据
% load(‘SJ76724.mat‘);
% YSJ= SJ76724;
% disp(‘------7.6日00:15到7.24日24:00的降噪处理结果-------‘);
 %% 数据预处理
[cl]=size(YSJ);
Y=[];
for i=1:c
    Y=[YYSJ(i:)];
end
[c1l1]=size(Y);
X=[1:l1];
 %% 绘制原始信号图像
figure(1);
plot(XY);
xlabel(‘负荷个数/(个)‘);
ylabel(‘kW·h‘);
title(‘原始信号‘);
 %% 硬阈值处理
lev=3;
xd=wden(Y‘heursure‘‘h‘‘one‘lev‘db4‘);%硬阈值去噪处理后的信号序列
figure(2)
plot(Xxd)
xlabel(‘负荷个数/(个)‘);
ylabel(‘kW·h‘);
title(‘硬阈值去噪处理‘)
set(gcf‘Color‘[1 1 1])
 %% 软阈值处理
lev=3;
xs=wden(Y‘heursure‘‘s‘‘one‘lev‘db4‘);%软阈值去噪处理后的信号序列
figure(3)
plot(Xxs)
xlabel(‘负荷个数/(个)‘);
ylabel(‘kW·h‘);
title(‘软阈值去噪处理‘)
set(gcf‘Color‘[1 1 1])
%% 改进阈值后的去噪处理
lev=3;
xz=wden(Y‘sqtwolog‘‘s‘‘sln‘lev‘db4‘);%改进阈值去噪处理后的信号序列
figure(4)
plot(Xxz);
xlabel(‘负荷个数/(个)‘);
ylabel(‘kW·h‘);
title(‘改进阈值后的去噪处理‘)
set(gcf‘Color‘[1 1 1])
%% 计算信噪比SNR
Psig=sum(Y*Y‘)/l1;
Pnoi1=sum((Y-xd)*(Y-xd)‘)/l1;
Pnoi2=sum((Y-xs)*(Y-xs)‘)/l1;
Pnoi3=sum((Y-xz)*(Y-xz)‘)/l1;
SNR1=10*log10(Psig/Pnoi1);
SNR2=10*log10(Psig/Pnoi2);
SNR3=10*log10(Psig/Pnoi3);
%% 计算均方根误差RMSE
RMSE1=sqrt(Pnoi1);
RMSE2=sqrt(Pnoi2);
RMSE3=sqrt(Pnoi3);
%% 计算均方根误差RMSE
disp([‘硬阈值去噪处理的SNR=‘num2str(SNR1)‘,RMSE=‘num2str(RMSE1)]);
disp([‘软阈值去噪处理的SNR=‘num2str(SNR2)‘,RMSE=‘num2str(RMSE2)]);
disp([‘改进阈值后的去噪处理SNR=‘num2str(SNR3)‘,RMSE=‘num2str(RMSE3)]);
t2=clock;
tim=etime(t2t1);
disp([‘------------------运行耗时‘num2str(tim)‘秒-------------------‘])

 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1855  2020-03-13 15:26  小波降噪matlab代码\main.m
     文件        4733  2020-03-12 18:09  小波降噪matlab代码\SJ76721.mat
     文件        5590  2020-03-12 18:10  小波降噪matlab代码\SJ76724.mat

评论

共有 条评论

相关资源