📄 rj.m
字号:
% rj.m
% Range Calculations in a Jamming Environment
%
% This program calculates radar ranges in a jamming environment. It works
% with both Stand-off jamming and self-screening jamming for steady and Swerling type
% targets with frequency agility, coherent integration and standard atmosphere/rain attenuation
%
% Code translated from BASIC "RGJMAT.BAS"
%
% Last edited: 28 August 1997.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
clear
clc
echo off
%
% Set user variables. The user should change the following variables as needed for the
% simulation they are running. Descriptions of the variables follow.
%
% Radar related:
%
trans_pwr_radar = 4000; % Transmitter power of radar - kw
freq_radar = 3000; % Radar's frequency - MHz
pulse_width = 6.5; % Radar's pulse width - microsecs
GTDB_radar = 36; % Transmitter gain of radar - dB
GRDB_radar = 40; % Receiving gain for radar - dB
GRDB_sl_radar = 10; % Side-lobe of radar - dBi
noise_fig_radar = 4.5; % Noise figure of receiver - dB
loss_radar_dB = 12; % Radar losses - dB
PRF = 250; % Pulse repetition freq - pps
prob_det = 0.90; % Probability of detection < 1
prob_false_alarm = 1e-6; % Probability of false alarm < 1
BW_dop = 250; % Doppler filter BW - Hz
BW_fa = 200; % Frequency agility BW - MHz
Azimuth_bw = 1.1; % Azimuth beamwidth - degrees
az_rate = 36; % Azimuth scan rate - degrees/sec
% Target related:
%
RCS=1; % Radar cross section - m^2
el_tgt_deg = 0.4; % Elevation of target - degrees
target_length = 15; % Length of target - m
% Select jamming type (enter 1 for yes, 0 for no; can select none, one, or both):
%
SSJ = 0; % Selfscreening Jamming? boolean
SOJ = 1; % Stand-off Jamming? boolean
% Enter characteristics for selfscreening Jamming. If not, selected, values won't be used.
%
SSJ_pwr_jam = 10; % SSJ power of jammer - w
SSJ_gain_dB = 0; % Gain of SS jammer in dB - dB
SSJ_bw = 20; % Bandwidth of SSJ - MHz
SSJ_loss_dB = 7; % Losses with SSJ - dB
% Enter characteristics for stand-off Jamming. If not, selected, values won't be used.
%
% Each array must be equal and there must
% be a value for each stand-off jammer you
% wish to simulate
%
SOJ_pwr_jam = [2000 2000 2000 2000 2000]; % SOJ power of jammers - W
SOJ_gain_dB = [5 5 5 5 5]; % Gain of SO jammer in dB - dB
SOJ_bw = [200 200 200 200 200]; % Bandwidth of SOJ's - dB
jam_range = [50 50 50 50 50]; % Range of jammer - Nmi
jam_height = [20000 20000 20000 20000 20000];% Height of jammer - ft
SOJ_loss_dB = [7 7 7 7 7]; % Losses with SOJ's - dB
% Weather
%
rain_fall = 0; % Rain fall rate - mm/hr
% Print radar, target , jamming and Weather Parameters
fprintf('Radar Parameters \n\n');
par1=[trans_pwr_radar;freq_radar;pulse_width;PRF;GTDB_radar;GRDB_radar;noise_fig_radar];
fprintf(' Pt(kw) f(Mhz) PW(1e-6*s) PRF(pps) Gt(dB) Gr(dB) NF(dB)\n');
fprintf('%-14.1f',par1);fprintf('\n\n');
par2=[loss_radar_dB;BW_dop;BW_fa;Azimuth_bw;;az_rate];par3=[prob_det;prob_false_alarm];
fprintf('Lr(dB) Dop Bw(Hz) FA Bw(MHz) Az Bw(deg) Az Rate(deg/s) Pd Pfa\n');
fprintf('%-17.2f',par2);fprintf('%-14.1g',par3);fprintf('\n\n');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% STOP EDITING. ONLY PROGRAM FOLLOWS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Begin Main
%
% Convert radar gain, loss, noise to ratios
%
loss_radar = db_ratio(loss_radar_dB);
GT_radar = db_ratio(GTDB_radar);
GR_radar = db_ratio(GRDB_radar);
noise_factor_radar = db_ratio(noise_fig_radar);
% Calculate system input noise temp
%
sys_noise_temp = 290 * (noise_factor_radar - 1) + 150; % in K
% Calculate range without jamming, FA, etc (S/N = 1)
%
range_index = 129.2 * ((trans_pwr_radar * pulse_width * GT_radar * GR_radar * RCS) / ...
(freq_radar^2 * sys_noise_temp * loss_radar))^.25;
% Calculate number of pulses
%
non_coh_pulses = (Azimuth_bw/az_rate) * BW_dop;
coh_pulses = PRF/BW_dop;
% If target length is greater than zero,computes number of independent
% pulses for FA radars
%
if target_length > 0
N_exp = 1 + (BW_fa/(150 / target_length));
else N_exp = non_coh_pulses;
end
% Determine detectability factors
%
det_fact;
% Calculate ranges for the different target types, clear, no
% atmospheric or weather attenuation accounted for here.
%
swrlg_case= [' 0 1 2 3 4 1fa 3fa'];
ranges_clear = range_index * 10.^((-det_facts)/40);
% echo on
% Now, the atmospheric attenuation and rain attenuation is
% calcuated. First, the Swerling cases being calculated are listed.
% Then under ar_atten_ans, row 1 is the atmospheric attenuation (dB)
% and row 2 is the rain attenuation (dB). The 3rd row contains the
% affected ranges (NMI). Under after_jam_ans, the meaning of the rows
% are the same as for the attenuation matrix.
% echo off
ar_atten;
% Effects of Jamming...
%
if SSJ==1
pwrj_density = SSJ_pwr_jam/SSJ_bw;
SSJ_gain = db_ratio(SSJ_gain_dB);
SSJ_loss = db_ratio(SSJ_loss_dB);
% Range with just self-screening jamming
%
rng_ssj_only = 0.0048116 * sqrt(trans_pwr_radar * GT_radar * RCS * pulse_width ./ ...
(pwrj_density .* SSJ_gain .* (loss_radar/SSJ_loss)));
if SOJ==1
soj_eff;
end
jam_eff;
end
if (SOJ==1)&(SSJ==0)
soj_eff;
rng_ssj_only = rs00;
jam_eff;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -