Files
ARSS/01. Tx Path/radiate_antenna.m
T

25 lines
1.1 KiB
Matlab

function TxOut = radiate_antenna(Target, TxPatternArray)
% 입력: 타겟 정보, TX 패턴 배열
% 출력: TxOut.G_tx_amp (타겟별, TX별 송신 안테나 선형 진폭 이득 [NumTargets x NumTx])
NumTx = length(TxPatternArray);
NumTargets = Target.NumTargets;
TxOut.G_tx_amp = zeros(NumTargets, NumTx);
for k = 1:NumTargets
for tx = 1:NumTx
pat = TxPatternArray(tx);
% 타겟 방향의 이득 계산
if strcmpi(pat.Type, '2D')
g_dBi = interp2(pat.az_angles, pat.el_angles, pat.gain_dBi, Target.az(k), Target.el(k), 'linear', -20);
else
g_az = interp1(pat.az_angles, pat.gain_az_dBi, Target.az(k), 'linear', -20);
g_el = interp1(pat.el_angles, pat.gain_el_dBi, Target.el(k), 'linear', -20);
g_dBi = g_az + g_el - pat.max_gain_dBi;
end
% 전압 진폭 스케일의 선형 이득 저장 (sqrt(10^(G_dBi/10)))
TxOut.G_tx_amp(k, tx) = sqrt(10^(g_dBi/10));
end
end
end