• WHITE555
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 1
    下载次数
  • 2020-06-04 01:08
    上传日期
RLS算法matlab实现,波束形成,自适应,性能分析
RLS.zip
  • RLS.m
    1.8KB
内容介绍
clear all close all clc j=sqrt(-1); M=10; m=0:M-1; theta=[10,40]; theta = theta*pi/180; us=0; A0=exp(j*pi*m'*sin(theta(1)));%信号源的方向矢量 Ai=exp(j*pi*m'*sin(theta(2)));%干扰的方向矢量 SNR=20; % 信噪比(可变) INR=10; %干噪比 P0=10.^(SNR/10); Pi=10.^(INR/10); o=pi/180; xxl=-90:1:90; xx=xxl*o; a=exp(j*pi*m'*sin(xx)); % 扫描矢量; %%%%%%%%%%%最优波束形成%%%%%%%%%%%%%%%% L=5000; Xs=A0*sqrt(P0*2)*wgn(1,L,1,'complex');%期望 Xi=Ai*sqrt(Pi*2)*wgn(1,L,1,'complex');%干扰 Xn=sqrt(2)*wgn(M,L,1,'complex');%噪声 Xx=Xs+Xi+Xn; %%%Xx=Xi+Xw; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure Rs=P0*A0*A0'; %期望信号协方差矩阵 Ri=Pi*Ai*Ai'; %干扰信号协方差矩阵 Rn=eye(M); %噪声信号协方差矩阵 Rx=Rs+Ri+Rn; Pout_min=pinv(A0'*pinv(Rx)*A0); Wopt=Pout_min*pinv(Rx)*A0; %Wop=pinv(Rx)*A0/(A0'*pinv(Rx)*A0); s2=20*log10(abs(Wopt'*a)/max(abs(Wopt'*a))); plot(xxl,s2,'--r') grid on %%%%%%%%%%%%%%%%%%RLS%%%%%%%%%%%%%%%%%% lumda=0.8; eps=rand; w=zeros(M,1); P=(1/eps)*eye(M); d=Xs(1,:); for p=1:L e=d(p)-w'*Xx(:,p); k1=P*Xx(:,p); k2=lumda+Xx(:,p)'*P*Xx(:,p); k=k1/k2; P=(1/lumda)*(P-k*Xx(:,p)'*P); w=w+k*conj(e); e1(p)=e; end s1=20*log10(abs(w'*a)/max(abs(w'*a))); hold on plot(xxl,s1,'-b','linewidth',1.5); legend('最优','RLS算法'); xlabel('方向角'); ylabel('幅度响应'); for k = 1:p en(k)=(abs(e1(k))).^2; end %figure %semilogy(en); %xlim([0 500]); % axis([0 500 0.001 10]) %xlabel('迭代次数'); %ylabel('MSE'); % for k = 1:p % en(k)=sum(abs(e1(1:k)).^2)/k; % end % figure % semilogy(en); % ylim([0 1000]) % % axis([0 500 0.001 10]) % xlabel('样本数'); % ylabel('均方误差E[e^{2}(n)]');
评论
    相关推荐