【雷达通信】阵列信号处理(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

频谱设备的多样化应用带来了日益复杂的电磁环境,同时也给担负重要军事任务的机动作战平台带来一定的挑战。为了更好的适应以及应对复杂多变的电磁对抗,机动作战平台需要装备大量的电子设备。例如美国F-22战机装备的电子设备已超过了14个[1。电子设备的增多必然导致机动作战平台空间、能耗的紧张。雷达和通信作为机动作战平台执行任务不可缺少的重要功能,对其天线进行一体化设计成为提升机动作战平台性能的一种有效方式。

与线性阵列相比,平面阵列天线可以在两个方向上控制波束指向,应用场景更加广泛。稀疏布阵和子阵交错技术的出现为天线共享计提供了新的解决方案。稀疏布阵是在满阵列的基础上对阵列进行稀疏化,即采用较少的阵元便可在主要指标上达到原阵列的性能。子阵交错技术是在稀疏阵列的基础上,将多个阵列交错放置,使得天线阵列在同一孔径可以实现多功能。随着计算机技术的发展,快速算法智能优化算法逐渐应用到平面阵列的共享设计上。
 

比较了不同设计准则下的输出信干噪比(OSINR),包括MPDR、SMI、RMI、对角加载(DL)、子空间投影(SISP)
 

📚2 运行结果

 

 

部分代码:

%初始化输出信干噪比矩阵
osinr_mpdr=zeros(length(snr),N);
osinr_smi=zeros(length(snr),N);
osinr_rmi=zeros(length(snr),N);
osinr_dl=zeros(length(snr),N);
osinr_sip=zeros(length(snr),N);

%初始化失配广义夹角矩阵
angle_mismatched_mpdr=zeros(1,length(snr));
angle_mismatched_smi=zeros(1,length(snr));
angle_mismatched_rmi=zeros(1,length(snr));
angle_mismatched_dl=zeros(1,length(snr));
angle_mismatched_sisp=zeros(1,length(snr));


theta0=0;
theta1=60;
theta2=-60;
a0=exp(1i*2*pi*d*sin(theta0*pi/180)*(0:L-1)');
a1=exp(1i*2*pi*d*sin(theta1*pi/180)*(0:L-1)');
a2=exp(1i*2*pi*d*sin(theta2*pi/180)*(0:L-1)');
b0=exp(1i*2*pi*d*sin((theta0+2)*pi/180)*(0:L-1)');
for m=1:length(snr)
    sigma0=sigma*10^(snr(m)/20);
    %两个干扰源,信干噪比为-30dB
    inr1=snr(m)+30;
    inr2=snr(m)+30;
    sigma1=sigma*10^(inr1/20);
    sigma2=sigma*10^(inr2/20);
        
    Rxx = sigma0^2*(a0*a0')+sigma1^2*(a1*a1')+sigma2^2*(a2*a2')+sigma^2*eye(L);
    Rin = sigma1^2*(a1*a1')+sigma2^2*(a2*a2')+sigma^2*eye(L);
    
    for i = 1:N
        st0=(randn(1,K)+1i*randn(1,K))/sqrt(2)*sigma0;
        st1=(randn(1,K)+1i*randn(1,K))/sqrt(2)*sigma1;
        st2=(randn(1,K)+1i*randn(1,K))/sqrt(2)*sigma2;
        nt =(randn(L,K)+1i*randn(L,K))/sqrt(2)*sigma;
        
        xt = a0*st0+a1*st1+a2*st2+nt;
        sRxx = xt*xt'/ K;
        
        [eive,eiva] = eig(sRxx);         %eive是特征向量,eiva是特征值
        [temp,order] = sort(diag(eiva)); %order排序后对应原向量元素位置;temp 排序后的元素;从小到大排序
        sigma_e = sqrt(sum(temp(1:L-M)));
        Us = eive(:,order(L-M+1:L));
        Rin_e = a1*a1'/(a1'*inv(sRxx)*a1) + a2*a2'/(a2'*inv(sRxx)*a2) + sigma_e^2*eye(L);%?小特征值对应噪声功率

        w_mpdr = inv(Rxx)*a0 /(a0'*inv(Rxx)*a0);
        w_smi  = inv(sRxx)*b0/(b0'*inv(sRxx)*b0);
        w_rmi  = inv(Rin_e)*b0/(b0'*inv(Rin_e)*b0);
        w_dl   = inv(sRxx+1*sigma_e^2*eye(L))*b0/(b0'*inv(sRxx+1*sigma_e^2*eye(L))*b0); %rou=10
        w_sip  = inv(sRxx)*Us*Us'*b0;
        
        osinr_mpdr(m,i)=sigma0^2*(abs(w_mpdr'*a0))^2/abs(w_mpdr'*Rin*w_mpdr);
        osinr_smi(m,i) =sigma0^2*(abs(w_smi'*a0))^2/abs(w_smi'*Rin*w_smi);
        osinr_rmi(m,i) =sigma0^2*(abs(w_rmi'*a0))^2/abs(w_rmi'*Rin*w_rmi);
        osinr_dl(m,i)  =sigma0^2*(abs(w_dl'*a0))^2/abs(w_dl'*Rin*w_dl);
        osinr_sip(m,i) =sigma0^2*(abs(w_sip'*a0))^2/abs(w_sip'*Rin*w_sip);
        
        a0_mpdr=Rxx*inv(Rxx)*a0;
        a0_smi=Rxx*inv(sRxx)*b0;

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]李志勇,娄昊,韩文婷,周余昂.雷达-通信一体化平面阵列天线共享设计[J].信号处理,2021,37(07):1332-1338.DOI:10.16798/j.issn.1003-0530.2021.07.024.

🌈4 Matlab代码实现

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值