• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-21
  • 语言: Matlab
  • 标签: VSSLMS  MATLAB  

资源简介

新的变步长LMS自适应滤波算法与传统算法的比较

资源截图

代码片段和文件信息

clear all
close all
N=20; %滤波器阶数
sample_N=900; %采样点数

A=1; %信号幅度
snr=20; %信噪比
t=1:sample_N; 
length_t=100; %期望信号序列长度
d=A*sin(2*pi*t/length_t); %期望信号
M=length(d); %M为接收数据长度
x=awgn(dsnr); %经过信道(加噪声)

% delta=1/(10*N*(A^2)) %计算能够使LMS算法收敛的delta
%delta=0.01;
u=zeros(1M);
y=zeros(1M);
h=zeros(1N); %LMS滤波器系数
y1=zeros(1N);
a=zeros(1M);
b=zeros(1M);
b(N-1)=0.1;
c=zeros(1M);
b0=0.98;  % b=0.08  a=0.8最优
e(N-1)=d(N-1);
for i=N:M %系数调整LMS算法
x1=x(i:-1:i-N+1);
%LMS算法
y(i)=h*x1‘;
e(i)=d(i)-y(i);
a(i)=abs(e(i)/e(i-1));
b(i)=b0*b(i-1)+(1-b0)*abs(e(i)*e(i-1));
c(i)=1-exp(-a(i)*abs(e(i)*e(i-1)));
u(i)=b(i)*(1-exp(-a(i)*abs(e(i)*e(i-1))));
h=h+u(i)*e(i)*x1;
end
error=e.^2; %LMS算法每一步迭代的均方误差
for n=N:M %利用求解得到的h,与输入信号x做卷积,得到滤波后结果
x2=x(n:-1:n-N+1);
y1(n)=h*x2‘;
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1689  2020-11-03 05:45  ╗∙╙┌S║»╩²╡─╦π╖¿\bijiao.asv
     文件        1797  2020-11-03 05:45  ╗∙╙┌S║»╩²╡─╦π╖¿\bijiao.m
     文件        1125  2020-11-03 05:45  ╗∙╙┌S║»╩²╡─╦π╖¿\EFLMSfangzhen.m
     文件         922  2020-11-03 05:45  ╗∙╙┌S║»╩²╡─╦π╖¿\GSfangzhen.m
     文件        1010  2020-11-03 05:45  ╗∙╙┌S║»╩²╡─╦π╖¿\yuan.m

评论

共有 条评论