程序:
snr=4; %设置信噪比
init=2055615866; %设置随机数初值
%产生原始信号xref和含白噪声信号x
[xref,x]=wnoise(1,ll,snr,init);
xref=xref(1:2000);
x=x(1:2000);
%用sym8进行三层分解并用heursure软阈值进行小波系数阈值量化
xd=wden(x,'heursure','s','one',3,'sym8');%进行消噪处理
figure(1);
subplot(3,2,1); plot(xref);
title('原始信号');
subplot(3,2,2);plot(x);
title('含噪声信号');
%下面用傅里叶变换进行信号噪声消除
xxref(fft(xref); %对含噪信号进行傅立叶变换
xxref(abs(xxref);
xx=fft(x); %对含噪信号进行傅里叶变换
absxx=abs(xx);
%下面画出傅里叶变换后的频谱图
figure(2);
subplot(3,2,1); plot(xxref);
title('原始信号的谱图');
%进行低通滤波,滤波频率为0~100的相对频率
indd2=200:1800
xx(indd2)=zeros(size(indd2));
xden=ifft(xx); %进行傅立叶变换
xden=real(xden); %提取反变换后的实数部分
xden=abs(xden);
figure(3);
subplot(3,2,1); plot(xd);
title('小波消噪后的信号');
subplot(3,2,2); plot(xden);
title('用傅里叶分析消噪的效果')
评论0