⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yizhixijiexishu.m

📁 对信号进行小波变换
💻 M
字号:
%读入信号
%load noisdopp;
%x=noisdopp;
load S20F20.DAT
s=S20F20;
x=s(:,2);
%使用db4小波对其做5层分解
[c,l]=wavedec(x,6,'db4');
%重建第5层近似信号
ca=wrcoef('a',c,l,'db4',6);
%从l中读出所有细节系数所在下标?
index=l(1)+1:l(8);
%得到一个c的复本
cl=c;
%对细节部分进行一定程度的抑止
cl(index)=c(index)/100;
if abs(c(index))>0.05     %设定小波系数域值,如何设定?令>0.1时,系数为0
    c(index)==0
end
%通过抑制后的系数重建小波
x2=waverec(cl,l,'db4')
%求降噪后的ca信号在原信号的重建成分
per1=norm(ca)/norm(x)
%求降噪后的x2信号在原信号的重建成分
per2=norm(x2)/norm(x)
%将ca作为降噪信号,求其与原信号的标准差
err1=norm(ca-x)
%将x2作为降噪信号,求其与原信号的标准差
err2=norm(x2-x)

subplot(411); plot(x);%x为原信号
legend('原信号');
subplot(412); plot(ca);%ca为第5层近似信号
legend('第5层近似信号');
subplot(413); plot(x2);%x2为通过抑制后系数重建的信号
legend('滤波后信号');
subplot(414);plot(1:6001,x,1:6001,ca,'r')
legend('原信号与除噪信号的对比');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -