📄 jam_eff.m
字号:
% jam_eff
%
% Calculates the effect of jamming. Takes inputs from both
% the self-screening and stand-off jamming processes
%
%
% if SSJ, account for that with aax factor
%
if SSJ==1
aax = (range_index./rng_ssj_only).^4;
else
aax = 0;
end;
% If stand-off jamming as well, figure in those effects
% or, if SOJ only, then account for that
%
if SOJ==0
bbx = 0;
else
bbx = (range_index./rs00).^4;
end
rc = ranges_clear .* 1.854;
rss = (rng_ssj_only .* (10.^((-det_facts)./40))) .* 1.854;
rxx = rss;
rxdel = 0;
done = 0;
while done==0
rxx = rxx - rxdel;
lax = sx .* re *(1-exp(-rxx ./ re));
lwx = wx .* rxx;
lxx = 10.^((lax+lwx)./20);
lyy = 10.^((lax+lwx)./10);
xfrx = .4343 .* log(rxx ./ rc) + .4343 * (log(lyy + aax * lxx + bbx)) ./ 4;
dlxx = 2.3026 .* lxx .* ((1 ./ rxx) + wx / 20 + (sx / 20) .* exp(-rxx ./ re));
dlyy = 2.3026 .* lyy .* ((1 ./ rxx) + wx / 10 + (sx / 10) .* exp(-rxx ./ re));
dfrx = (1./ rxx) + (dlyy + aax * dlxx) ./ (4 * (lyy + lxx * aax + bbx));
rxdel = xfrx./dfrx;
a = find(abs(rxdel) <= 0.1);
b = length(a);
if b > 0
for i = 1:b,
rxdel(a(i)) = 0;
end
end
if rxdel <= 0.1
done = 1;
end
end
% Print out ranges after jamming accounted for
%
after_jam_ans = [lax; lwx; (rxx./1.854)];
fprintf('Detection Range with Jamming\n\n');
fprintf('Swerling Case 0 1 '); ...
fprintf(' 2 3 4 1FA 3FA\n');
fprintf('Atmospheric Atten (dB) ');fprintf('%-10.2f',lax);fprintf('\n');
fprintf('Weather Atten (dB) ');fprintf('%-10.2f',lwx);fprintf('\n');
if max(rxx<50);
fprintf('Jamming Range (n mi) ');fprintf('%-10.2f',rxx/1.854);fprintf('\n');
else,
fprintf('Jamming Range (n mi) ');fprintf('%-9.2f',rxx/1.854);fprintf('\n');
end;
rxx = (rxx / 1.854);
lea = lax;
ler = lwx;
% Set Figure Parameters
ra=rx/1.854;
yz=[ra' rxx'];
z=0:6;
rmx=1.2*max(ra);
figure
bar(z,yz);
if rmx<50;set(gca,'YTick',[0:5:rmx]);
else,set(gca,'YTick',[0:10:rmx]);end;
if rmx<10;set(gca,'YTick',[0:1:rmx]);end;
set(gca,'XTicklabel','0|1|2|3|4|1FA|3FA');
xlabel('Swerling Case ')
ylabel('Range in NMI')
% axis([-1 7 0 rmx]);
title('Detection Range','Fontsize',12,'Fontweight','bold');
for ii=1:7;
if ii==1;
text(ii-.9,1.05*rxx(ii),'jam');
%text(ii-1.5,1.03*ra(ii),'w/o jam');
else
text(ii-.9,1.05*rxx(ii),'jam');
%text(ii-1.5,1.03*ra(ii),'w/o jam');
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -