基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法

举报
软件算法开发 发表于 2024/07/01 23:38:57 2024/07/01
【摘要】 1.程序功能描述基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法.             2.测试软件版本以及运行结果展示MATLAB2022a版本运行   3.核心程序 for ii = 1:MTKL if SEL == 1 for i = 1:length(r) r_(:,i) = SD'*r(:,...

1.程序功能描述

基于自适应波束成形算法的matlab性能仿真,对比SGRLS两种方法.

            

2.测试软件版本以及运行结果展示

MATLAB2022a版本运行

 

1.jpeg

2.jpeg

3.jpeg

 

 

3.核心程序

 

for ii = 1:MTKL  
        if SEL == 1
           for i = 1:length(r)
               r_(:,i) = SD'*r(:,i);
               A_      = SD'*a;
               %xx : x*
               x_(i)   = W_'*r_(:,i);
               xx(i)   = conj(x_(i));
               %开始迭代
               if i == 1 
                  W_ = SD'*(inv(R)*a*inv((a'*inv(R)*a))*e);
                  SD = SD - mu1*xx(i)*(r(:,i)*W_' - inv(a' *a )*(a*W_')*(a'*r(:,i)));
               else
                  SD = SD - mu1*xx(i)*(r(:,i)*W_' - inv(a' *a )*(a*W_')*(a'*r(:,i)));
                  W_ = W_ - mu2*xx(i)*(eye(D)     - inv(A_'*A_)*A_*A_') *r_(:,i);
               end
rx      = corrmtx(a*Sig_train(:,i),M-1);
               RS      = rx'*rx;
rx      = corrmtx(a*Sig_train(:,i),M-1);
ry      = corrmtx(a*Sig_train(:,i)+Noise_train(:,i),M-1);
               RI      = rx'*ry;
           end
        SINR(D) = abs((W_'*SD'*RS*SD*W_)/(W_'*SD'*RI*SD*W_));  
        end
        %**************************************************************************
        %RLS***********************************************************************
        if SEL == 2
           alpha = 1;
           P     = zeros(M,M);
           P_    = zeros(D,M);
           for i = 1:length(r)
               r_(:,i) = SD'*r(:,i);
Pdelay  = P;
               P       = inv(R);
               A_      = SD'*a;
P_delay = P_;
               P_      = SD'*P;
               SD      = (P*a*A_')/(a'*P*a);
               W_      = (P_*a)/(A_'*P_*a);
               k       = alpha*Pdelay*r(:,i)/(1+alpha*r(:,i)'*Pdelay*r(:,i));
               P       = alpha*Pdelay-alpha*k*r(:,i)'*Pdelay;  
rx      = corrmtx(a*Sig_train(:,i),31);
               RI      = rx'*rx;
rx      = corrmtx(a*Sig_train(:,i),31);
ry      = corrmtx(a*Sig_train(:,i)+Noise_train(:,i),31);
               RS      = rx'*ry;
           end  
           SINR(D) = abs((W_'*SD'*RI*SD*W_)/(W_'*SD'*RS*SD*W_));
        end
    end
    SINRs(:,ii) = SINR;
end
DD     = D3(4:end);
SINRS2 = 20*log10(mean(SINRs(4:end,:),2));
figure;
plot(DD,SINRS2,'b-o');
grid on;
xlabel('Rank')
ylabel('SINR');
27_008m


 

4.本算法原理

        自适应波束成形是阵列信号处理中的关键技术,用于在空间上选择性地增强期望信号并抑制干扰信号。在多种自适应波束成形算法中,随机梯度(Stochastic GradientSG)算法和递归最小二乘(Recursive Least SquaresRLS)算法是两种常用的方法。

 

       RLS的基本流程如下所示:

 

6.png

 

       SG的基本流程如下所示:

 

 

7.png

 

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。