AIDT 온디바이스 국방 MUM-T 해군 차기 구축함 통합 복합 마스트(AEM/S) 다대역 레이더·통신 RF 동일부지 간섭(Co-site) 능동 상쇄 서보 엔진

S/X-밴드 다기능 레이더 송신 누설 전력 감쇄, 광대역 전자전(EW) 수신기 포화 방지 적응형 아날로그/디지털 간섭 상쇄, 10,000Hz C# 엔진

1. 개요

한국형 차기 구축함(KDDX) 및 이지스 구축함에 탑재되는 통합 다기능 복합 마스트(Advanced Enclosed Masts/Sensor, AEM/S)는 레이다 반사 면적(RCS)을 최소화하기 위해 S-밴드 대공 탐지 레이더, X-밴드 정밀 사격통제 레이더, 전술 데이터링크(Link-16) 및 전자전(EW) ESM/ECM 안테나를 좁은 마스트 구조물 내에 고밀도로 통합 배치합니다. 그러나 메가와트급 첨두 출력을 방사하는 AESA 레이더 송신 펄스의 근접장 전자기 결합(Near-field Coupling)으로 인해 인접한 초고감도 전자전 수신기와 위성통신 수신기에 막대한 RF 동일부지 간섭(Co-site Interference) 누설 전력이 유입되어 수신기 LNA가 포화(Saturation)되거나 소손될 위험이 큽니다. 이를 방지하려면 레이더 송신 기준 신호를 커플링하여 역위상-진폭 변조 신호를 생성하고 수신단 입력에서 실시간 감산하는 능동 RF 간섭 상쇄(SIC) 서보가 필수적입니다. 본 고에서는 10,000Hz 주기로 LMS 적응 가중치를 갱신하여 45dB 이상의 간섭 억제비(ICR)를 유지하는 0-Alloc C# 엔진을 구현합니다.

2. 수학적 모델링 및 지배 방정식

수신 안테나 단자에서의 복합 수신 신호 및 송신 누설 다중경로 합성 방정식은 다음과 같습니다:

\[ y_{rx}(t) = s_{target}(t) + \sum_{m=1}^{M} h_m(t) x_{tx}(t - \tau_m) + n_{thermal}(t) \]

RF 벡터 변조기(Vector Modulator)에 의해 합성되는 아날로그 간섭 상쇄 신호식은 다음과 같습니다:

\[ x_{cancel}(t) = \sum_{m=1}^{M} \left( I_m(t) \cos(\omega_{RF} t) - Q_m(t) \sin(\omega_{RF} t) \right) x_{tx}(t - \tau_m) \]

잔류 간섭 오차 \(e(t) = y_{rx}(t) - x_{cancel}(t)\) 영점화를 위한 정규화 LMS(Normalized Least Mean Squares) 복소 가중치 적응식은 다음과 같습니다:

\[ \vec{w}(t + \Delta t) = \vec{w}(t) + \frac{\mu}{\|\vec{x}_{tx}(t)\|^2 + \epsilon} e(t) \vec{x}_{tx}^*(t), \quad \vec{w} = \vec{I} + j \vec{Q} \]

전자전 수신기 보호를 위한 간섭 상쇄비(Interference Cancellation Ratio, ICR) 성능 한계 부등식은 다음과 같습니다:

\[ ICR = 10 \log_{10}\left( \frac{P_{leakage}}{P_{residual}} \right) \ge 45.0\text{ dB} \quad (P_{residual} \le -60\text{ dBm}) \]

3. 실시간 C# 서보 제어기 구현

다음은 RF 누설 검출기 파워와 잔류 전력 에러 신호를 10,000Hz 주기로 샘플링하여 4채널 I/Q 벡터 모듈레이터 감쇠기/위상천이기를 제어하는 0-Alloc C# 엔진 구현체입니다:

AemsMastRfInterferenceServoEngine.cs
using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Defense.NavalMast
{
    public readonly ref struct RfCoSiteSensorFrame
    {
        public readonly double TxRadarPowerDbm;
        public readonly double RxCoupledInterferenceDbm;
        public readonly double ResidualInterferenceDbm;
        public readonly double IComponentErrorVolts;
        public readonly double QComponentErrorVolts;

        public RfCoSiteSensorFrame(
            double txRadarPowerDbm,
            double rxCoupledInterferenceDbm,
            double residualInterferenceDbm,
            double iComponentErrorVolts,
            double qComponentErrorVolts)
        {
            TxRadarPowerDbm = txRadarPowerDbm;
            RxCoupledInterferenceDbm = rxCoupledInterferenceDbm;
            ResidualInterferenceDbm = residualInterferenceDbm;
            IComponentErrorVolts = iComponentErrorVolts;
            QComponentErrorVolts = qComponentErrorVolts;
        }
    }

    public ref struct RfCoSiteControlCommand
    {
        public double ModulatorWeightI;
        public double ModulatorWeightQ;
        public double ComputedCancellationRatioDb;
        public bool IsLnaSafeFromSaturation;
        public bool IsInterferenceCancelled;
    }

    public ref struct AemsMastRfInterferenceServoEngine
    {
        private const double TargetMaxResidualDbm = -60.0;
        private const double TargetMinIcrDb = 45.0;
        private readonly double _muLms;
        private readonly double _dt;
        private double _weightI;
        private double _weightQ;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public AemsMastRfInterferenceServoEngine(double muLms, double dt)
        {
            _muLms = muLms;
            _dt = dt;
            _weightI = 0.5;
            _weightQ = 0.0;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void ComputeCancellation(in RfCoSiteSensorFrame frame, out RfCoSiteControlCommand cmd)
        {
            cmd = default;
            // NLMS adaptive update of I/Q weights
            _weightI += _muLms * frame.IComponentErrorVolts;
            _weightQ += _muLms * frame.QComponentErrorVolts;

            _weightI = Math.Clamp(_weightI, -1.0, 1.0);
            _weightQ = Math.Clamp(_weightQ, -1.0, 1.0);

            // Compute actual Interference Cancellation Ratio (ICR) in dB
            double icrDb = frame.RxCoupledInterferenceDbm - frame.ResidualInterferenceDbm;

            cmd.ModulatorWeightI = _weightI;
            cmd.ModulatorWeightQ = _weightQ;
            cmd.ComputedCancellationRatioDb = icrDb;
            cmd.IsLnaSafeFromSaturation = frame.ResidualInterferenceDbm <= TargetMaxResidualDbm;
            cmd.IsInterferenceCancelled = icrDb >= TargetMinIcrDb;
        }
    }
}

4. 교육 및 실무 적용 방안

  • 해군사관학교 및 국방대학교: 함정 스텔스 통합 마스트 전자기 적합성(EMC/EMI), 동일부지 간섭 상쇄 이론 교육.
  • KDDX 차기 구축함 통합마스트 전력화: S/X 대역 다기능 레이더-전자전 수신기 실시간 RF 능동 간섭 상쇄 제어기 탑재.