25 lines
1.1 KiB
Matlab
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 |