심해 다중 채널 합성 개구 소나(SAS) 마이크로 내비게이션 위상 오차 보정 서보 엔진

교육과정 연계 및 개발 배경

본 백서는 2022 개정 지구과학(해양 탐사와 음파 전달, 해저 지형 원격탐사) 및 국방 무인잠수정(AUV/UUV) 해저 매설 기뢰 탐색 실무를 위한 온디바이스 엔진입니다. 수백 미터 수심에서 잠수정의 미세한 피칭(Pitch), 요잉(Yaw), 서지(Surge) 외란으로 인해 발생하는 수 밀리미터급 궤적 오차가 음파 파장($\lambda \sim 15\text{ mm}$, $100\text{ kHz}$) 대비 가간섭성 위상 붕괴를 초래할 때, DPCA(Displaced Phase Center Antenna) 중복 위상 중심 상호상관을 통해 10,000Hz 주기로 위상 오차를 실시간 추정 및 복원하는 초정밀 서보 아키텍처를 구현합니다.

1. 물리적 배경: 합성 개구 소나(SAS)와 가간섭성 붕괴

합성 개구 소나(Synthetic Aperture Sonar, SAS)는 잠수정이 이동하며 방출한 연속 음향 핑(Ping)의 반사 신호를 코히런트(Coherent) 적분하여, 물리적 안테나 길이의 100배가 넘는 가상 개구면을 형성함으로써 수백 미터 전방에서도 수 센티미터($< 3\text{ cm}$)급 해저 등방향 분해능을 달성합니다.

$$\delta_x = \frac{D}{2}, \quad \Delta \phi = \frac{4\pi}{\lambda} \Delta r$$

그러나 수중 음속 $c \approx 1,500\,\text{m/s}$의 저속 전파 특성으로 인해 핑 간격 동안 플랫폼의 위치 오차 $\Delta r > \lambda / 8 \approx 1.8\,\text{mm}$가 발생하면 위상 상쇄 간섭이 발생하여 영상이 완전히 흐려집니다.

2. 수학적 모델링: DPCA 중복 위상 중심 교차 상관

다중 수신 배열 소나(Multi-Receiver SAS)에서는 연속된 두 핑 사이에서 플랫폼의 전진 속도 $v$와 펄스 반복 주기(PRI)에 의해 공간적으로 일치하는 위상 중심(Phase Center) 쌍이 존재합니다. 이 중복 소나 수신 채널 신호 $s_1(t)$와 $s_2(t)$의 복소 교차 상관을 수행합니다:

$$R_{12}(\tau) = \int s_1(t) s_2^*(t - \tau) dt = |R_{12}(\tau)| e^{j \Delta \phi}$$

피크 상관 시점의 복소 위상각 $\Delta \phi$로부터 파장 대비 시선 방향 변위 편차 $\Delta r$을 직접 유도합니다:

$$\Delta r = \frac{\lambda}{4 \pi} \text{atan2}\left( \text{Im}\{R_{12}\}, \text{Re}\{R_{12}\} \right)$$

3. 10,000Hz 0-Alloc C# 마이크로 내비게이션 위상 서보 엔진

심해 UUV 임베디드 DSP 및 에지 컴퓨팅 보드에서 핑 레이트 동기화 및 0.1ms 초저지연 위상 회전을 수행하는 C# 무할당 구조체를 구현합니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.OceanSensing
{
    public readonly ref struct SasPingChannelSample
    {
        public readonly double InPhaseReal;
        public readonly double QuadratureImag;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public SasPingChannelSample(double real, double imag)
        {
            InPhaseReal = real;
            QuadratureImag = imag;
        }
    }

    public ref struct SasMicronavPhaseServo
    {
        private readonly double _wavelengthMeters;
        private double _accumulatedPhaseDriftRad;
        private double _crossCorrReal;
        private double _crossCorrImag;

        public SasMicronavPhaseServo(double acousticFreqHz, double soundSpeedMps = 1500.0)
        {
            _wavelengthMeters = soundSpeedMps / acousticFreqHz;
            _accumulatedPhaseDriftRad = 0.0;
            _crossCorrReal = 0.0;
            _crossCorrImag = 0.0;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void AccumulateCorrelator(in SasPingChannelSample s1, in SasPingChannelSample s2)
        {
            // 복소 켤레 곱: s1 * s2*
            _crossCorrReal += s1.InPhaseReal * s2.InPhaseReal + s1.QuadratureImag * s2.QuadratureImag;
            _crossCorrImag += s1.QuadratureImag * s2.InPhaseReal - s1.InPhaseReal * s2.QuadratureImag;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void SolvePhaseCorrection(Span correctionOut)
        {
            double phaseError = Math.Atan2(_crossCorrImag, _crossCorrReal);
            double rangeDisplacementMeters = (_wavelengthMeters / (4.0 * Math.PI)) * phaseError;

            _accumulatedPhaseDriftRad += phaseError;

            correctionOut[0] = phaseError;                // 라디안 위상 오차
            correctionOut[1] = rangeDisplacementMeters;   // 미터 단위 시선 궤적 오차
            correctionOut[2] = _accumulatedPhaseDriftRad; // 누적 보정 위상

            // 다음 프레임을 위한 상관기 리셋
            _crossCorrReal = 0.0;
            _crossCorrImag = 0.0;
        }
    }
}

4. 교육 및 국방/해양방재 연계

  • 지구과학 II [해양 원격탐사]: 해수 밀도 및 음속 구조(SOFAR 채널)에 따른 음향 굴절과 2차원 개구면 합성 이미징 메커니즘 체계적 교육.
  • 해군 무인잠수정 대잠/대기뢰작전: 해저 뻘에 매설된 스텔스 기뢰의 3차원 형상 가시화 및 항법 드리프트 자가 보정.
  • 국가 AIDT 해양 교구: 실시간 소나 핑 파형 상관 적분과 영상 복원 전후 비교를 직관적으로 체험하는 인터랙티브 시뮬레이터 제공.