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

📄 lms.m

📁 智能天线自适应波束形成算法的研究,进行了基本算法的改进与运算,大家可以进行参考,以便更好的学习.
💻 M
字号:
clear,clc 
m=8;                                      % sensors
n=2;                                      % sources
theta=[-20 0];                            % in angle
d=1/2;                                    % 1/2 lambada
N=500;                                    % samples
L=100;                                    % resolution in [-90' 90']
Meann=0;                                  % mean of noise
varn=1;                                   % variance of noise
SNR=10;                                   % signal-to-noise ratio
INR=10;                                   % interference-to-noise ratio
rvar1=sqrt(varn) * 10^(SNR/20);           % variance of signal
rvar2=sqrt(varn) * 10^(INR/20);           % variance of interference

% generate the source signals
s=[rvar1*exp(j*2*pi*50*0.001*[0:N-1])
   rvar2*exp(j*2*pi*(100*0.001*[0:N-1]+rand))];
% generate the A matrix
A=exp(-j*2*pi*d*[0:m-1].'*sin(theta*pi/180));
% generate the noise component
e=sqrt(varn/2)*(randn(m,N)+j*randn(m,N));
% generate the ULA data
Y=A*s+e;

% initialize weight matrix and associated parameters for LMS predictor
de =s(1, :);
mu=1e-3;
w = zeros(m, 1);
for k = 1:N
    % predict next sample and error
    y(k) = w'*Y(:, k);
    e(k)  = de(k) - y(k);
    % adapt weight matrix and step size
    w = w + mu * Y(:,k)*conj(e(k));
end 

% beamforming using the LMS method
beam=zeros(1,L);
for i = 1 : L
   a=exp(-j*2*pi*d*[0:m-1].'*sin(-pi/2 + pi*(i-1)/L));
   beam(i)=20*log10(abs(w'*a));
end
 
% plotting command followed
figure
angle=-90:180/L:(90-180/L);
plot(angle,beam);
xlabel('angle');
ylabel('幅度响应/dB');
figure
for k = 1:N
    en(k)=(abs(e(k))).^2;
end
semilogy(en);
xlabel('n');
ylabel('e^{2}(n)');

⌨️ 快捷键说明

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