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

📄 example2_5_1.m

📁 小波分析教材算例的源程序
💻 M
字号:
load noisdopp; %装载信号
s = noisdopp;
[swa,swd] = swt(s,1,'db1'); %完成信号的单尺度一维离散平稳小波分解
whos
figure(1);
subplot(1,2,1), plot(swa); %显示低频和高频部分
title('Approximation cfs')
subplot(1,2,2), plot(swd); 
title('Detail cfs')
A0 = iswt(swa,swd,'db1'); %由平稳小波逆变换重构信号
err=norm(s-A0) %查看重构误差
nulcfs = zeros(size(swa)); %从系数构建低频和高频部分
A1 = iswt(swa,nulcfs,'db1');
D1 = iswt(nulcfs,swd,'db1');
figure(2);
subplot(1,2,1), plot(A1);  %显示低频和高频部分
title('Approximation A1');
subplot(1,2,2), plot(D1); 
title('Detail D1');
[swa,swd] = swt(s,3,'db1'); %多层平稳小波分解
clear A0 A1 D1 err nulcfs  %观察swa和swd的结构
whos
kp = 0; %显示低频和高频系数
figure(3);
for i = 1:3
subplot(3,2,kp+1), plot(swa(i,:));
title(['Approx. cfs level ',num2str(i)])
subplot(3,2,kp+2), plot(swd(i,:));
title(['Detail cfs level ',num2str(i)])
kp = kp + 2;
end
mzero = zeros(size(swd)); %从系数重构第三层的低频信号
A = mzero;
A(3,:) = iswt(swa,mzero,'db1');
D = mzero; %重构第1、2、3层的高频信号
for i = 1:3
swcfs = mzero;
swcfs(i,:) = swd(i,:);
D(i,:) = iswt(mzero,swcfs,'db1');
end
A(2,:) = A(3,:) + D(3,:); %从第三层的低频部分和第二、三层的高频部分重构第一、二层的低频部分%
A(1,:) = A(2,:) + D(2,:);
kp = 0; %显示第一、二、三层的低频和高频部分
figure(4);
for i = 1:3
subplot(3,2,kp+1), plot(A(i,:));
title(['Approx. level ',num2str(i)])
subplot(3,2,kp+2), plot(D(i,:));
title(['Detail level ',num2str(i)])
kp = kp + 2;
end
[thr,sorh] = ddencmp('den','wv',s); %去除信号中的噪声
dswd = wthresh(swd,sorh,thr);
clean = iswt(swa,dswd,'db1');
figure(5);
subplot(2,1,1), plot(s); %显示原始信号和去除了噪声的信号
title('Original signal')
subplot(2,1,2), plot(clean);
title('De-noised signal')
[swa,swd] = swt(s,5,'db1'); %将原来的三层次的分解改为五层次的分解并重复上面的步骤
[thr,sorh] = ddencmp('den','wv',s);
dswd = wthresh(swd,sorh,thr);
clean = iswt(swa,dswd,'db1');
figure(6);
subplot(2,1,1), plot(s); title('Original signal')
subplot(2,1,2), plot(clean); title('De-noised signal')

⌨️ 快捷键说明

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