⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rj.m

📁 此程序给出了不同情况的雷达距离测量仿真平台
💻 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 + -