gusucode.com > 小波等多种方法去噪和信噪比成程序和本科毕设matlab源码程序 > 仿真以及图/xiaobo.m
clear close all clc %% 产生一个长为2^10点,包含高斯白噪声的正弦信号,信噪比0.1。 sqrt_snr=2; [x,xn]=wnoise(1,10,sqrt_snr); figure subplot(211) plot(x) title('原始信号') subplot(212) plot(xn) title('染噪信号') set(gcf,'Color',[1 1 1]) lev=5; %% 用全局默认阈值进行去噪处理 [thr,sorh,keepapp]=ddencmp('den','wv',x); % 获取全局默认阈值 xd=wdencmp('gbl',x,'dmey',lev,thr,sorh,keepapp); %利用全局默认阈值对信号去噪 figure subplot(311) plot(x) title('原始信号') subplot(312) plot(xn) title('染噪信号') subplot(313) plot(xd) title('dmey小波全局默认阈值去噪') set(gcf,'Color',[1 1 1]) %% 启发式阈值,不随噪声水平变化 lev=5; xd=wden(x,'heursure','s','one',lev,'sym3'); figure subplot(311) plot(x) title('原始信号') subplot(312) plot(xn) title('染噪信号') subplot(313) plot(xd) title('sym3小波启发式SURE阈值去噪') set(gcf,'Color',[1 1 1]) % 利用’sym8’小波对信号分解,在分解的第5层上,利用启发式SURE域值选择法对信号去噪。 %% 启发式阈值,根据第一层小波分解的噪声水平估计进行调整 xd=wden(x,'heursure','s','sln',lev,'haar'); figure subplot(311) plot(x) title('原始信号') subplot(312) plot(xn) title('染噪信号') subplot(313) plot(xd) title('haar小波软SURE阈值去噪') set(gcf,'Color',[1 1 1]) % 同上’sym8’小波对信号分解条件,但用软SURE域值选择算法对信号去噪。 %% 固定式阈值 xd=wden(x,'sqtwolog','s','sln',lev,'db3'); figure subplot(311) plot(x) title('原始信号') subplot(312) plot(xn) title('染噪信号') subplot(313) plot(xd) title('db3小波固定式阈值去噪') set(gcf,'Color',[1 1 1])