📄 program_13_14.m
字号:
% 当前延拓模式是补零
% 设置信噪比和随机数种子
snr = 3; init = 2055615866;
% 产生原始信号,并叠加标准高斯白噪声
[xref,x] = wnoise(3,11,snr,init);
% 对x使用sym8小波进行5层分解,得到高频系数。使用SURE阈值、软阈值进行降噪
lev = 5;
xd = wden(x,'heursure','s','one',lev,'sym8');
% 画出原始信号
subplot(611), plot(xref), axis([1 2048 -10 10]);
title('原始信号');
subplot(612), plot(x), axis([1 2048 -10 10]);
title(['噪声信号 - 信噪比为 ',num2str(fix(snr))]);
subplot(613), plot(xd), axis([1 2048 -10 10]);
title('降噪信号 - heuristic SURE');
% 使用软SURE阈值降噪
xd = wden(x,'heursure','s','one',lev,'sym8');
% 画出信号
subplot(614), plot(xd), axis([1 2048 -10 10]);
title('降噪信号 - SURE');
% 对噪声标准差进行单层估计,使用fixed form阈值降噪
xd = wden(x,'sqtwolog','s','sln',lev,'sym8');
% 画出信号
subplot(615), plot(xd), axis([1 2048 -10 10]);
title('降噪信号 - Fixed form 阈值');
% 对噪声标准差进行多层估计,使用minimax阈值降噪
xd = wden(x,'minimaxi','s','sln',lev,'sym8');
% 画出信号
subplot(616), plot(xd), axis([1 2048 -10 10]);
title('De-noised signal - Minimax');
% 如果需要多次尝试,最后是执行一次分解,多次设置阈值
% 分解
[c,l] = wavedec(x,lev,'sym8');
% 使用小波分解结构[c,l]设置阈值
xd = wden(c,l,'minimaxi','s','sln',lev,'sym8');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -