⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wden.m

📁 使用matlab实现输入信号的小波消噪和自适应滤波
💻 M
字号:
N=1000;                %数据点数
fs=100;               %采样频率
dt=1/fs;
k=1:N;
f=198;   %信号频率
x=sin(2*pi*f*k*dt);
figure;
subplot(2,2,1);
plot(k*dt,x);
title('原始信号')
grid;

y=awgn(x,-1);
subplot(2,2,2);
plot(k*dt,y);
title('含噪信号')
grid;

lev=3;
xdh=wden(y,'sqtwolog','h','sln',lev,'sym4');
subplot(2,2,3);
plot(k*dt,xdh);
title('硬阈值去噪信号')
grid;

%xds=wden(y,'rigrsure','s','sln',lev,'sym4');
%subplot(2,2,4);
%plot(k*dt,xds);
%title('软阈值去噪信号')
%axis square

M=32;%滤波器长度
mu=0.035;%迭代步长
SIGNAL=[x 0];
initial_status=initlms(zeros(1,M),mu);%滤波器设初值
[Y,e,initial_status]=adaptlms(xdh,SIGNAL,initial_status);%LMS自适应滤波器输出
subplot(2,2,4);
plot(k*dt,Y);
title('自适应滤波后信号');
grid;

figure;
plot(k*dt,Y,'ro-',k*dt,x,'-.b');
title('信号波形对比');
legend('处理后信号','原始信号');
grid;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -