💥1 概述
智能超表面,也叫做“可重配智能表面”,或者“智能反射表面”,英文为RIS(Reconfigurable Intelligence Surface),或者IRS(Intelligent Reflection Surface)。
为了缓解未来网络频谱拥塞,下一代无线通信系统希望复用雷达的频段,其对应的模型就是雷达和通信频谱共存(Radar-Communication Coexistence,RCC),这个是雷达和通信从分离走向融合的初步阶段。
本文对双功能雷达和通信系统的波束形成优化,其中部署了可重新配置的智能表面以增强性能。
📚2 运行结果
🎉3 参考文献
[1]赵阳. MIMO雷达-通信联合SINR优化设计算法研究[D].厦门理工学院,2022.DOI:10.27866/d.cnki.gxlxy.2022.000225.
👨💻4 Matlab代码
主函数部分代码:
clc clear all close all addpath('./simulation_separated/function/'); %% trade-off %% baseline figure; load('./simulation_separated/baseline.mat'); pattern_baseline_sep = pattern_baseline; wsr_baseline = [0; wsr_baseline;wsr_baseline(end)]; prob_power_baseline = [prob_power_baseline(1); prob_power_baseline;0]; plot(wsr_baseline, prob_power_baseline,'-^b','LineWidth',3,'MarkerSize',3); hold on; load('./simulation_shared/baseline.mat'); pattern_baseline_sh = pattern_baseline; wsr_baseline = [0; wsr_baseline;wsr_baseline(end)]; prob_power_baseline = [prob_power_baseline(1); prob_power_baseline;0]; plot(wsr_baseline, prob_power_baseline,'-+b','LineWidth',3); %% 20 elements load('./simulation_separated/ris_aided_data/rician_1000/ris_aided_single.mat'); pattern_ris_20_sep = pattern_ris; wsr_ris = [0; wsr_ris; wsr_ris(end)]; prob_power_ris = [prob_power_ris(1); prob_power_ris;0]; plot(wsr_ris, prob_power_ris,'-^g','LineWidth',3,'MarkerSize',3); load('./simulation_shared/ris_aided_data/rician_1000/ris_aided_single.mat'); pattern_ris_20_sh = pattern_ris; wsr_ris = [0; wsr_ris;wsr_ris(end)]; prob_power_ris = [prob_power_ris(1); prob_power_ris;0]; plot(wsr_ris, prob_power_ris,'-+g','LineWidth',3); %% 60 elements load('./simulation_separated/ris_aided_data/rician_1000/ris_aided_single_60.mat'); pattern_ris_60_sep = pattern_ris; wsr_ris = [0; wsr_ris; wsr_ris(end)]; prob_power_ris = [prob_power_ris(1); prob_power_ris;0]; plot(wsr_ris, prob_power_ris,'-^c','LineWidth',3,'MarkerSize',3); load('./simulation_shared/ris_aided_data/rician_1000/ris_aided_single_60.mat'); pattern_ris_60_sh = pattern_ris; wsr_ris = [0; wsr_ris;wsr_ris(end)]; prob_power_ris = [prob_power_ris(1); prob_power_ris;0]; plot(wsr_ris, prob_power_ris,'-+c','LineWidth',3); %% 100 elements load('./simulation_separated/ris_aided_data/rician_1000/ris_aided_single_100.mat'); pattern_ris_100_sep = pattern_ris; wsr_ris = [0; wsr_ris;wsr_ris(end)]; prob_power_ris = [prob_power_ris(1); prob_power_ris;0]; plot(wsr_ris, prob_power_ris,'-^r','LineWidth',3,'MarkerSize',3); load('./simulation_shared/ris_aided_data/rician_1000/ris_aided_single_100.mat'); pattern_ris_100_sh = pattern_ris; wsr_ris = [0; wsr_ris; wsr_ris(end)]; prob_power_ris = [prob_power_ris(1); prob_power_ris;0]; plot(wsr_ris, prob_power_ris,'-+r','LineWidth',3); grid on; legend('without RIS(separated)','without RIS(shared)','20 elements(separeted)','20 elements(shared)','60 elements(separated)','60 elements(shared)','100 elements(separated)','100 elements(shared)','FontSize',12,'interpreter','latex'); xlabel('WSR [bps/Hz]','FontSize',12,'interpreter','latex'); ylabel('Probing Power [dBm]','FontSize',12,'interpreter','latex'); ylim([19 34]); xlim([0 10]); %% radar only beampattern para = para_init(); theta_degree = -90:90; theta = theta_degree*pi/180; pattern_radar_only = zeros(length(theta),1); a = ULA_func(0,para.M); R = para.Pt/para.M*(a*a');