clear; close all; Tar.number = 5; % 发射源的数目 Rec.bili = 0.5; % 阵元间距与波长之比 Rec.number = 16; % 接收线阵的阵元数 Rec.theta = [-50,-25,0,20,40]; % 随机产生入射信号的入射方向 Rec.SNR = [30,25,20,15,5]; % 接收信号的信噪比 theta_xianshi = -90:0.1:90; setting.N = 1024; % 快拍数 xt = zeros(Rec.number,setting.N); % 预置接收信号的存储空间 for a = 1:Tar.number delta_fi = 2piRec.bilisind(Rec.theta); n = 0:Rec.number-1; A_theta = exp(1idelta_fi'n); % 导向矢量 St =(10^(Rec.SNR(1,a)/20).exp(1i.rand(Tar.number,setting.N))); % 产生接收信号包络 Nt = exp(1i.rand(Rec.number,setting.N)); % 产生随机噪声信号 Xt = A_theta'St+Nt; % Xt 为阵列接收信号 R = XtXt'./setting.N; % 计算输入信号的相关矩阵R P = inv(R); % 计算相关矩阵的逆矩阵P for theta_Fs = 1:length(theta_xianshi) A_xianshi = 2piRec.bilisind(theta_xianshi(1,theta_Fs)); n = 0:Rec.number-1; A_theta_xianshi = exp(1iA_xianshi'n); % 扫描导向矢量 S(theta_Fs) = 1/(A_theta_xianshi'PA_theta_xianshi); % 计算不同导向矢量下的S值 S_guiyi = S/max(S); % 对S值进行归一化处理 end hold on; h = plot(theta_xianshi,10log10(abs(S_guiyi))); % 画图 grid on; set(h,'LineWidth',1); xlabel('角度/deg'); ylabel('归一化谱/dB'); legend('Capon算法信噪比30dB','Capon算法信噪比25dB','Capon算法信噪比20dB','Capon算法信噪比15dB','Capon算法信噪比5dB'); end


原文地址: https://www.cveoy.top/t/topic/nH7F 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录