fig6_22.m
来自「《最优阵列处理》一书第六章的MATLAB例程」· M 代码 · 共 46 行
M
46 行
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.22
% K. Bell 7/25/01, 11/12/01
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all
N = 10;
n = (-(N-1)/2:(N-1)/2)';
BWNN = 4/N;
vs = ones(N,1);
ui = BWNN*(0.01:0.01:2.5);
ni = length(ui);
SNR = 1;
INR = 10.^([-20 -10 0 10 20]/10);
nn = length(INR);
Ao = zeros(nn,ni);
for m=1:nn
for i=1:ni
VI = [exp(j*n*pi*ui(i)) exp(-j*n*pi*ui(i))];
R = INR(m)*VI*VI'+eye(N);
SINR = SNR/(2*INR(m)+1);
w = inv(vs'*inv(R)*vs)*inv(R)*vs;
Ao(m,i) = SNR/(N*SINR*real(w'*R*w));
end
end
plot(ui/BWNN,10*log10(Ao),'-');
xlabel('{\itu}_{\itI} /{\itBW}_{\itNN}','FontSize',14)
ylabel('{\itA}_{\ito} /{\itN} (dB)','FontSize',14)
axis([0 2.5 -10 25])
for m=1:nn
if m==1
text(1.5, 10*log10(Ao(m,ni))-1, ['{\itINR}=' num2str(10*log10(INR(m))) ' dB'],'FontSize',12)
else
text(1.5, 10*log10(Ao(m,ni))+1, ['{\itINR}=' num2str(10*log10(INR(m))) ' dB'],'FontSize',12)
end
end
hold off
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?