LMS算法自适应波束

  • YUUAA
    了解作者
  • matlab
    开发工具
  • 981B
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 3 积分
    下载积分
  • 0
    下载次数
  • 2022-05-26 16:57
    上传日期
LMS算法自适应波束形成,LMS自适应波束形成MATLAB程序,使用LMS算法进行波束形成
LMS算法自适应波束波束.zip
  • LMS.m
    1.5KB
内容介绍
%LMS自适应波束形成 clear all;clc;close all; M = 16; %阵元数 K = 2; %信源数 theta1 = [0 30]; %信号入射角度 d = 0.3; %阵元间距 N = 500; %采样数 fs = 1000; %采样频率 f1 = 50;f2 = 100; %信号频率 t = (0:N-1)/fs; %时间序列 n_mean = 0;n_var = 1; %噪声均值和方差 SNR = 20;INR = 20; %信噪比、干噪比 rvar1 = sqrt(n_var)*10^(SNR/20); %信号功率 rvar2 = sqrt(n_var)*10^(INR/20); %干扰功率 %生成源信号 s = [rvar1*exp(1i*2*pi*f1*t);rvar2*exp(1i*2*pi*f2*t)]; %源信号 A = exp(-1i*pi*d*(0:M-1).'*sin(theta1*pi/180)); %方向矢量 n = sqrt(n_var/2)*(randn(M,N)+1i*randn(M,N)); %噪声 Y = A*s+n; %接收信号 %LMS算法 L = 200; de = s(1,:); %取源信号第一行,所有列的元素 u = 0.0005; %迭代的收敛因子 w = zeros(M,1); %初始化 for k = 1:N y(k) = w'*Y(:,k); %预测下一个采样和误差 e(k) = de(k)-y(k); %误差 w = w+u*Y(:,k)*conj(e(k)); %调整权矢量 end %波束形成 beam = zeros(1,L); %初始化 for i = 1:L a = exp(-1i*2*pi*d*(0:M-1).'*sin(-pi/2+pi*(i-1)/L)); %方向向量 beam(i) = 20*log10(abs(w'*a)); end %绘图 figure theta1 = -90:180/200:(90-180/200); plot(theta1,beam); grid on xlabel('方向角/degree'); ylabel('幅度/dB'); figure for k = 1:N e(k) = (abs(e(k)))^2; end subplot 211;plot(e); title('LMS自适应波束形成算法误差') xlabel('迭代次数'); ylabel('MSE'); subplot 212;plot(log10(e)); xlabel('迭代次数'); ylabel('MSE');
评论
    相关推荐
    • LMS算法.zip
      实现了LMS算法的函数,可以帮助学习最小二乘算法,有一定的学习作用,亲测有效
    • LMS.rar
      语音降噪经典算法LMS最小均方算法MATLAB程序
    • lms.zip
      Fx-lms算法 可以实现较好的噪声消除效果
    • lms1.zip
      lms算法,求最优权向量,一小程序,LMS算法MATLAB实现
    • LMS.zip
      基本lms算法实现对噪声相互抵消,收敛目标函数为mse
    • 阵列信号处理LMS
      基于最小均方误差的LMS算法,用于阵列信号处理的干扰对消
    • 变步长LMS算法
      变步长LMS算法的MATLAB实现,可直接运行
    • LMS.zip
      一个常用的lms算法编程,原理基础可直接使用。
    • LMS.rar
      LMS算法的MATLAB仿真程序,实现LMS算法基本功能
    • libiconv-1.1.tar.gz
      字符集转换程序