matlab小波变换函数的总结与程序

更新时间:2023-09-22 13:55:01 阅读量: 经管营销 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

小波去噪举例

MATLAB中用wnoise函数测试去噪算法

sqrt_snr=3; init=231434;

[x,xn]=wnoise(3,11,sqrt_snr,init); % 加噪,信噪比为3 subplot(3,2,1),plot(x)

title('original test function') subplot(3,2,2),plot(xn) title('noised function') lev=5;

xd=wden(x,'heursure','s','one',lev,'sym8');%利用小波对一维信号进行降噪, XD为降噪后

的%信号,CXD,LXD为XD的小波分解结构 % 's' or 'h'决定阈值的使用方式,SCAL决定阈值是%否随噪声变化:'one' 不调整, 'sln'对第一层系%数的层噪声分别进行估计和调整; 'mln'对各层%系数的层噪声分别进行估计和调整;

subplot(3,2,3),plot(xd)

title('One de-noised function')

xd=wden(x,'heursure','s','sln',lev,'sym8'); subplot(3,2,4),plot(xd)

title('Sln de-noised function')

xd=wden(x,'sqtwolog','s','sln',lev,'sym8');% 固定阈值选择算法去噪 subplot(3,2,5),plot(xd)

title('Sqtwolog de-noised function')

[c,l]=wavedec(x,lev,'sym8'); subplot(3,2,6),plot(xd)

title('CL de-noised function')

MATLAB中图像噪声处理举例

load sinsin;

colormap('default'); subplot(1,3,1),image(X); title('original image'); axis('square'); init=231434;

randn('seed',init);

X=X+18*randn(size(X)); %产生噪声信号 subplot(1,3,2),image(x); title('noised image'); axis('square');

[thr,sorh,keepapp]=ddencmp('den','wv',x); %自动生成小波去躁或压缩的阈值选择方案,

也 %就是寻找默认值

[xc,cxc,lxc,perf0,perfl2]=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);%使用全局阈值进行

%图象降噪

subplot(1,3,3),image(xc); title('denoised image'); axis('square')

可见,含躁图像的噪声含量很强,利用小波去躁,可以有效去除躁声,同时保留了边界。 Wdencmp函数

[xc,cxc,lxc,perf0,perfl2]=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp) 是使用小波进行一维或二维小波压缩或降噪的函数。前面的语句是对于输入的一维或二维信号X,使用全局正阈值THR,由小波系数阈值得到降噪或压缩后的信号XC。附加的输出变量[cxc,lxc]是XC的小波分解结构; [perf0,perfl2]是恢复和压缩的L2范数百分比。使用小波'sym4'执行小波分解到第N=2层。Sorh是软阈值或硬阈值。若keepapp=1,低频系数不能进行阈值处理。

本文来源:https://www.bwwdw.com/article/hxyd.html

Top