目录
1.程序功能描述
2.测试软件版本以及运行结果展示
3.核心程序
4.本算法原理
5.完整程序
1.程序功能描述
基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法.
2.测试软件版本以及运行结果展示
MATLAB2022a版本运行
3.核心程序
..................................................................................
for ii = 1:MTKL if SEL == 1for 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)));elseSD = 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);endrx = 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;endSINR(D) = abs((W_'*SD'*RS*SD*W_)/(W_'*SD'*RI*SD*W_)); end%**************************************************************************%RLS***********************************************************************if SEL == 2alpha = 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_));endendSINRs(:,ii) = SINR;
endDD = 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 Gradient,SG)算法和递归最小二乘(Recursive Least Squares,RLS)算法是两种常用的方法。
RLS的基本流程如下所示:
SG的基本流程如下所示:
5.完整程序
VVV