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

📄 shiyong.m

📁 自适应lms仿真 MATLAB程序 仿真计算统计误差
💻 M
字号:

clear all
close all
hold off
%系统阶数
sysorder =5 ;
% 抽样
N=2000;
signal=randn(N,1);
n = 0.1*randn(N,1);
[b,a] = butter(2,0.25);
Gz = tf(b,a,-1);
h=  [0.0976;
    0.2873;
    0.3360;
    0.2210;
    0.0964;];
y = lsim(Gz,signal);
%加入噪声
n = n * std(y)/(10*std(n));
d = y + n;
totallength=size(d,1);

N=100 ;	
%迭代算法
w = zeros ( sysorder  , 1 ) ;
for n = sysorder : N 
	u = signal(n:-1:n-sysorder+1) ;
    y(n)= w'* u;
    e(n) = d(n) - y(n) ;
    mu=0.015;
    w = w +2*mu * u * e(n) ;
end 
%结果检查
for n =  N+1 : totallength
	u = signal(n:-1:n-sysorder+1) ;
    y(n) = w' * u ;
    e(n) = d(n) - y(n) ;
end 
hold on
plot(d)
plot(y,'r')
title('系统输出                 (红色-输出,蓝色-期望输出)') ;
xlabel('抽样')
ylabel('输出与期望输出')
figure
plot(20*log10(abs(e))) ;
title('均方误差DB') ;
xlabel('抽样')
ylabel('DB')
figure
hold on
plot(h);
plot(w,'r') ;
title('迭代权值与系统权值') ;
xlabel('抽样')
ylabel('权值')

⌨️ 快捷键说明

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