📄 liedu_calculate.m
字号:
function [b,xd,s1,s2,xd1,xd2]=wave_lvzao(data0,data1)%利用小波进行消噪
%输入 data0,data1,data2,data3,data4,data5,data6,data7,data8,data9:烈度样本
%输出 b:原始数据 xd:全局阈值消噪 s1:固定阈值消噪1 s2:固定阈值消噪2 xd1:软阈值消噪 xd2:硬阈值消噪
% %****************调试程序段***********************
data0=textread('e:\烟机\liedu0.txt');
data1=textread('e:\烟机\liedu1.txt');
%%****************调试程序段***********************
b=[data0,data1];
[c,l]=wavedec(b,3,'db1');%多尺度一维小波分解
ca3=appcoef(c,l,'db1',3);%提取一维小波变换低频系数
cd3=detcoef(c,l,3);%提取一维小波变换高频系数
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
cdd3=zeros(1,length(cd3));
cdd2=zeros(1,length(cd2));
cdd1=zeros(1,length(cd1));
c1=[ca3,cd3,cd2,cdd1];
s1=waverec(c1,l,'db1')%多尺度一维小波重构 固定阈值消噪1
c2=[ca3,cd3,cdd2,cdd1];
s2=waverec(c2,l,'db1')%多尺度一维小波重构 固定阈值消噪2
[thr,sorh,keepapp]=ddencmp('den','wv',b);%获取在消噪过程中的默认值阈值(软或硬)
xd=wdencmp('gbl',b,'db4',2,thr,sorh,keepapp);%用小波进行信号的全局阈值消噪
xd1=wden(b,'heursure','s','one',3,'sym8');%e软阈值消噪
xd2=wden(b,'heursure','h','one',3,'sym8');%e硬阈值消噪
subplot(3,2,1);
plot(b);
%axis([0 72 7 11])
title('时域波形');
grid on
subplot(3,2,2);
plot(xd);
%axis([0 72 7 11])
title('全局阈值消噪');
grid on
subplot(3,2,3);
plot(s1);
%axis([0 72 7 11])
title('固定阈值消噪1');
grid on
subplot(3,2,4);
plot(s2);
%axis([0 72 7 11])
title('固定阈值消噪2');
grid on
subplot(3,2,5);
plot(xd1);
%axis([0 72 7 11])
title('软阈值消噪');
grid on
subplot(3,2,6);
plot(xd2);
%axis([0 72 7 11])
title('硬阈值消噪');
grid on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -