去噪有很多种方法,现在小波去噪最为常用,在matlab中有自带的函数进行小波去噪,简单易行。最常用且简单的是阈值去噪,用函数ddencmp()生成信号的默认阈值,然后利用函数wdencmp()进行去噪。如:
%对含噪信号s进行3层小波分解
[c,l]=wavedec(s,3,'db1'); %s为含噪信号,3为小波分解层数,db1为采用的小波基
%获取信号默认值
[thr,sorh,keepapp]=ddencmp('den','wv',s);
%参数den代表去噪,wv代表小波,s代表含有噪声的信号
%实现去噪过程
s2=wdencmp('gbl',c,l,'db1',3,thr,sorh,keepapp);
%参数gbl表示采用全局去噪
温馨提示:答案为网友推荐,仅供参考