clear all;
close all;
N=100;
sample_N=500;
t=1:sample_N;
d=sin(2*pi*t/100);%期望
x=sin(2*pi*t/100);% 输入
noise(1:sample_N)=2*rand(1,sample_N)-1;
b=x+noise;%加入噪声的数据
% delta=0.001;
h=zeros(1,N);
y=zeros(1,sample_N);
delta=zeros(1,sample_N);
a=0.999;%参数
%LMS算法
for n=1:sample_N-N
x1=x(n:n+N-1)+noise(n:n+N-1);
y(n)=h*x1';
e(n)=d(n)-y(n);
r=eig(x1*x1');%求矩阵的特征值
rmax=max(r(:));%求特征值的最大值
deltamax=2/rmax;%求步长的最大值
delta(1)=deltamax;
delta(n+1)=(e(n)/d(n))^2*deltamax/10;%步长迭代公式
if delta(n+1)<a*delta(n)
delta(n+1)=a*delta(n);
elseif delta(n+1)>1/a*delta(n)
delta(n+1)=1/a*delta(n);
else
continue;
end
h=h+delta(n)*e(n)*x1;
end
for n=sample_N-N+1:sample_N
x1=[x(n:sample_N),x(1:n-(sample_N-N+1))]+[noise(n:sample_N),noise(1:n-(sample_N-N+1))];
y(n)=h*x1';
e(n)=d(n)-y(n);
r=eig(x1*x1');%求矩阵的特征值
rmax=max(r(:));%求特征值的最大值
deltamax=2/rmax;%求步长的最大值
delta(1)=deltamax;
delta(n+1)=(e(n)/d(n))^2*deltamax/10;%步长迭代公式
if delta(n+1)<a*delta(n)
delta(n+1)=a*delta(n);
elseif delta(n+1)>1/a*delta(n)
delta(n+1)=1/a*delta(n);
else
continue;
end
h=h+delta(n)*e(n)*x1;
end
%作图
figure
subplot(231)
plot(t,x)
axis([0,sample_N,-2,2])
title('基于LMS算法的自适应滤波去噪'),xlabel('采样点'),ylabel('期望函数')
subplot(232)
plot(t,noise)
axis([0,sample_N,-2,2])
xlabel('采样点'),ylabel('噪声函数')
subplot(233)
plot(t,b)
axis([0,sample_N,-2,2])
xlabel('采样点'),ylabel('含噪声的输入数据')
subplot(234)
plot(t,e)
axis([0,sample_N,-1,1])
xlabel('采样点'),ylabel('差值函数')
subplot(235)
plot(t,y)
axis([0,sample_N,-2,2])
xlabel('采样点'),ylabel('输出函数')
LMS.zip_LMS 二维_lms_二维LMS算法_变步长 lms_变步长LMS
版权申诉
99 浏览量
2022-09-20
19:18:24
上传
评论
收藏 810B ZIP 举报
寒泊
- 粉丝: 75
- 资源: 1万+
最新资源
- 基于SHT25温湿度传感器、FREERTOS、STM32F103C8T6、LCD1602温湿度采集显示系统proteus仿真设计
- C# 屏幕放大取色器 随时随地获取屏幕像素颜色
- 下载安装这个软件.apk
- 【数据集详细解释及案例分析】数据集详细解释及案例分析
- 基于SHT71温湿度传感器、STM32F103C8T6、LCD1602温湿度采集显示系统proteus仿真设计
- 基于TH02温湿度传感器、STM32F103C8T6、LCD1602、FREERTOS的温湿度采集系统proteus仿真设计
- 【TCP-IP协议详细解释及案例分析】TCP-IP协议详细解释及案例分析
- 一文搞懂 LSTM(长短期记忆网络).rar
- 【autosar简介及基本案例解析】autosar简介及基本案例解析
- java模拟斗地主洗牌发牌
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0