- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LMS波束形成代码
LMS波束形成代码(matlab)
LMS算法的仿真程序:
%lms 算法
clear all
close all
hold off%系统信道权数
sysorder = 5 ;%抽头数
N=1000;%总采样次数
inp = randn(N,1);%产生高斯随机系列
n = 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,inp);%加入噪声
n = n * std(y)/(10*std(n));%噪声信号
d = y + n;%期望输出信号
totallength=size(d,1);%步长
N=60 ; %60节点作为训练序列
%算法的开始
w = zeros ( sysorder , 1 ) ;%初始化
for n = sysorder : N
u = inp(n:-1:n-sysorder+1) ;% u的矩阵
y(n)= w * u;%系统输出
e(n) = d(n) - y(n) ;%误差
if n 20
mu=0.32;
else
mu=0.15;
end
w = w + mu * u * e(n) ;%迭代方程
end
%检验结果
for n = N+1 : totallength
u = inp(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
semilogy((abs(e))) ;% e的绝对值坐标
title(误差曲线) ;
xlabel(样本)
ylabel(误差矢量)
figure%作图
plot(h, k+)
hold on
plot(w, r*)
legend(实际权矢量,估计权矢量)
title(比较实际和估计权矢量) ;
axis([0 6 0.05 0.35])
2.NLMS算法的仿真程序:
%lms 算法
clear all
close all
hold off%系统信道权数
sysorder = 5 ;%抽头数
N=1000;%总采样次数
inp = randn(N,1);%产生高斯随机系列
n = 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,inp);%加入噪声
n = n * std(y)/(10*std(n));%噪声信号
d = y + n;%期望输出信号
totallength=size(d,1);%步长
N=60 ; %60节点作为训练序列
%算法的开始
w = zeros ( sysorder , 1 ) ;%初始化
for n = sysorder : N
u = inp(n:-1:n-sysorder+1) ;% u的矩阵
y(n)= w * u;%系统输出
r(n)=u*u;%自相关矩阵
e(n) = d(n) - y(n) ;%误差
fai=.0001;%修正参数,为防止u*u过小导致步长值太大而设置的
if n 20
mu=0.32;
else
mu=0.15;
end
w = w + mu * u * e(n)/(r(n)+fai) ;;%迭代方程
end
%检验结果
for n = N+1 : totallength
u = inp(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
semilogy((abs(e))) ;% e的绝对值坐标
title(误差曲线) ;
xlabel(样本)
ylabel(误差矢量)
figure%作图
plot(h, k+)
hold on
plot(w, r*)
legend(实际权矢量,估计权矢量)
title(比较实际和估计权矢量) ;
axis([0 6 0.05 0.35])
3.RLS算法的仿真程序:
% RLS算法
randn(seed, 0) ;
rand(seed, 0) ;
NoOfData = 8000 ; % Set no of data points used for train
文档评论(0)