📄 plot_sequence_of_array_response_and_interferers.m
字号:
function plot_sequence_of_array_response_and_interferers(array_responses, target_aoa_deg, interferer_aoa_deg, nfft, stepsize, type)
xp=linspace(-1, 1, nfft);
numIterations = size(array_responses, 2)
if((type == 1) || (type == 3))
figure('Color', 'w'), hold on
cmap = colormap(jet(numIterations));
xp=linspace(-1, 1, nfft);
for i = 1:stepsize:numIterations
plot(xp,10*log10(fftshift(abs((fft(array_responses(:,i), nfft)).^2))), 'Color', cmap(i, :));
end
%for i = 1:floor(numIterations/50):numIterations
% plot(xp,10*log10(fftshift(abs((fft(array_responses(:,i), nfft)).^2))), 'Color', cmap(floor(i/floor(numIterations/50))+1, :));
%end
targetline = line([sin(deg2rad(target_aoa_deg)), sin(deg2rad(target_aoa_deg))],[-100 100],'LineWidth',3,'Color','g');
for i = 1:size(interferer_aoa_deg,2)
jammerline(i) = line([sin(deg2rad(interferer_aoa_deg(i))), sin(deg2rad(interferer_aoa_deg(i)))],[-100 100],'LineWidth',2,'Color','r');
end
xlabel('Sin(theta)')
ylabel('Spatial spectrum power, dB')
title('Combined weight pattern plot')
hold off
end
if((type == 2) || (type == 3))
stepsize = floor(numIterations/100)
stepsize = 1;
for i = 1:stepsize:numIterations
% i/stepsize
mysurface(:,((i+stepsize-1)/stepsize)) = 10*log10(fftshift(abs((fft(array_responses(:,i), nfft)).^2)));
end
XX = 1:stepsize:numIterations;
YY = xp;
figure
surf(XX, YY, mysurface)
shading interp
colormap(jet) ; %try 'hsv', 'cool', 'bone' too
xlabel('Numerical Iteration (number of auxilary vectors)','FontSize', 14), ylabel('Sin(theta)','FontSize', 14), zlabel('Array Response (dB)','FontSize', 14)
title('Optimal pattern','FontSize', 14)
% axis([1 numIterations -1 1 -50 20])
colorbar
view(2)
rotate3d
targetline = line([0 numIterations],[sin(deg2rad(target_aoa_deg)), sin(deg2rad(target_aoa_deg))], [15 15],'LineWidth',10,'Color','b');
for i = 1:size(interferer_aoa_deg,2)
jammerline(i) = line([0 numIterations],[sin(deg2rad(interferer_aoa_deg(i))), sin(deg2rad(interferer_aoa_deg(i)))], [10 10],'LineWidth',2,'Color','k');
end
for y = 0:-5:(-80)
for i = 1:size(interferer_aoa_deg,2)
jammerline(i) = line([0 numIterations],[sin(deg2rad(interferer_aoa_deg(i))), sin(deg2rad(interferer_aoa_deg(i)))], [y y],'LineWidth',1,'Color','k');
end
end
axis tight
end
% Origional code in main macro
% if (plot_sequence_of_array_responses == 1)
% % Plot response
% figure('Color', 'w'), hold on
% cmap = colormap;
% nfft = 1024;
% xp=linspace(-1, 1, nfft);
% for i = 1:floor(numIterations/60):numIterations
% plot(xp,10*log10(fftshift(abs((fft(w_av(:,i),nfft)).^2))), 'Color', cmap(floor(i/floor(numIterations/60))+1, :));
% end
% targetline = line([sin(deg2rad(0)), sin(deg2rad(0))],[-100 100],'LineWidth',3,'Color','g');
% for i = 1:size(interferer_aoa_deg,2)
% jammerline(i) = line([sin(deg2rad(interferer_aoa_deg(i))), sin(deg2rad(interferer_aoa_deg(i)))],[-100 100],'LineWidth',2,'Color','r');
% end
% xlabel('Sin(theta)')
% ylabel('Spatial spectrum power, dB')
% end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -