Initial Commit.
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
clear all
|
||||
close all
|
||||
clc
|
||||
|
||||
c0 = physconst('LightSpeed');
|
||||
fc = 76.5e9;
|
||||
lambda_c = c0 / fc;
|
||||
k_c = 2 * pi / lambda_c;
|
||||
|
||||
num_tgt = 2;
|
||||
|
||||
Ntar_sample = 300;
|
||||
tar_loc_x = linspace(-2.5, 2.5, num_tgt);
|
||||
tar_loc_y = linspace(18, 350, Ntar_sample);
|
||||
tar_loc_z = zeros(1, num_tgt);
|
||||
|
||||
for tidx = 1 : num_tgt
|
||||
tar_xyz(:,:,tidx) = [tar_loc_x(tidx)*ones(Ntar_sample,1) tar_loc_y' tar_loc_z(tidx)*ones(Ntar_sample,1)];
|
||||
[azimuth, elevation, r] = cart2sph(tar_xyz(:,1,tidx), tar_xyz(:,2,tidx), tar_xyz(:,3,tidx));
|
||||
tar_scs(:,:,tidx) = [rad2deg(pi/2 - azimuth) rad2deg(elevation) r];
|
||||
end
|
||||
|
||||
Pt = 13; % [dBm]
|
||||
Pt = Pt - 30; % [dBW]
|
||||
NF = 12; % [dB]
|
||||
T0 = 300; % [K]
|
||||
kb = physconst('Boltzmann');
|
||||
BW_int = 40e6; % [Hz] instantaneous Bandwidth
|
||||
|
||||
% Target RCS
|
||||
rcs = 10; % [dBsm]
|
||||
|
||||
% Noise & Quantization error power
|
||||
%[~, Qnf] = quanttemp(T0, 12, 'DynamicRange', 52); % ADC bit : 12 [bits], Dynamic Range : 52 [dB] (NXP chip)
|
||||
%Qnf = 0;
|
||||
N_bits = 12;
|
||||
Qnf = -1 * (6.02*N_bits + 10*log10(BW_int) + 1.76) - 30;
|
||||
Pnq = pow2db(kb * T0) + NF + Qnf + pow2db(BW_int); % [dBW]
|
||||
|
||||
% Antenna patter loading
|
||||
load('azi_ant_pat.mat');
|
||||
% azi_ant_pat(:,2) = azi_ant_pat(:,2) -16.3 + 15;
|
||||
load('elev_ant_pat.mat');
|
||||
% elev_ant_pat(:,2) = elev_ant_pat(:,2) -16.3 + 15;
|
||||
|
||||
for tidx = 1 : num_tgt
|
||||
tar_ant_gain(:, tidx) = interp1(azi_ant_pat(:,1), azi_ant_pat(:,2), tar_scs(:,1,tidx));
|
||||
tar_elev_ant_gain_reduction = interp1(elev_ant_pat(:,1), elev_ant_pat(:,2), 0) - interp1(elev_ant_pat(:,1), elev_ant_pat(:,2), tar_scs(:,2,tidx));
|
||||
tar_ant_gain(:, tidx) = tar_ant_gain(:,tidx) - tar_elev_ant_gain_reduction;
|
||||
end
|
||||
|
||||
% Losses & SP gains
|
||||
L_sf = 3; % [dB] secondary surface loss
|
||||
L_ant = 2.5; % [dB] Feeder and Radome loss
|
||||
L_win = 2.38 + 1.36; % [dB] loss by windowing in 2D
|
||||
L_straddle = 2.88; % [dB] straddle loss(worst)
|
||||
L_q = 1; % [dB] Quantization loss
|
||||
L_sp = 1; % [dB] Other signal processing losses
|
||||
L_total = L_sf + L_ant + L_win + L_straddle + L_q + L_sp;
|
||||
|
||||
NFFT_R = 512;
|
||||
NFFT_D = 256;
|
||||
G_sp = pow2db(NFFT_R * NFFT_D); % [dB] Signal processing gain by 2D-FFT
|
||||
|
||||
% SNR calculation
|
||||
for tidx = 1 : num_tgt
|
||||
SNR_set(:,tidx) = Pt + pow2db((lambda_c^2) / (4*pi)^3) + pow2db(1./tar_scs(:,3,tidx).^4) + tar_ant_gain(:,tidx) + tar_ant_gain(:,tidx) + rcs - L_total + G_sp - Pnq;
|
||||
end
|
||||
Reference in New Issue
Block a user