AIDT 온디바이스 STEM 광 주파수 빗(Optical Frequency Comb) CEP 위상 로킹 서보 제어기

f-to-2f 간섭계 반송파-포락선 오프셋(f_ceo) 계측, EOM/피에조 하이브리드 서브-헤르츠 위상 동기화, 10,000Hz C# 엔진

1. 개요

2005년 노벨 물리학상의 주제인 광 주파수 빗(Optical Frequency Comb, OFC)은 테라헤르츠 대역의 광학 주파수와 기가헤르츠/메가헤르츠 대역의 마이크로파 라디오 주파수를 완벽히 잇는 '광학 눈금자'입니다. 펨토초 모드 잠금(Mode-locked) 레이저에서 방출되는 펄스 열은 주파수 영역에서 수십만 개의 등간격 레이저 모드(\(f_n = f_{ceo} + n \cdot f_{rep}\))로 구성됩니다. 그러나 레이저 공동 내부의 군속도(Group Velocity)와 위상속도(Phase Velocity)의 차이로 인해 펄스마다 반송파와 포락선 사이의 상대 위상차인 캐리어-인벨로프 오프셋(Carrier-Envelope Offset, CEO) 위상 슬립 \(\Delta \phi_{ce}\)가 발생합니다. 주파수 표준 및 아토초(Attosecond) 펄스 발생을 위해서는 1옥타브 광대역 스펙트럼에서 \(f\)와 \(2f\) 주파수 성분을 비선형 결정으로 간섭시키는 자기참조 \(f\text{-to-}2f\) 간섭계를 통해 \(f_{ceo}\)를 계측하고, 펌프 다이오드 전류 및 공진기 피에조 미러를 초고속 제어해야 합니다. 본 고에서는 10,000Hz 주기로 위상 편차를 추종하고 피에조/EOM 구동 전압을 산출하는 0-Alloc C# 엔진을 구현합니다.

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

광 주파수 빗의 제 \(n\)번째 광학 모드 주파수 \(f_n\)과 펄스 간 반송파-포락선 위상 슬립 \(\Delta \phi_{ce}\)의 관계식은 다음과 같습니다:

\[ f_n = f_{ceo} + n f_{rep}, \quad f_{ceo} = \frac{f_{rep}}{2\pi} \Delta \phi_{ce} = f_{rep} \left( \frac{1}{v_g} - \frac{1}{v_p} \right) \omega_0 L_c \]

\(f\text{-to-}2f\) 간섭계에서 광대역 슈퍼연속체(Supercontinuum)의 저주파단 \(f_m\)을 제2고조파 발생(SHG) 결정을 통과시킨 후 고주파단 \(f_{2m}\)과 비트(Beat)를 형성할 때 검출되는 비트 주파수는 순수한 \(f_{ceo}\)입니다:

\[ f_{beat} = 2 f_m - f_{2m} = 2(f_{ceo} + m f_{rep}) - (f_{ceo} + 2m f_{rep}) = f_{ceo} \]

CEO 위상 오차 \(\theta_{err}(t) = \int_0^t 2\pi (f_{ceo}(\tau) - f_{ref}) d\tau\)에 대한 잔류 위상 지터 \(\sigma_\phi\)와 전력 스펙트럼 밀도 \(S_\phi(f)\) 적분식은 다음과 같습니다:

\[ \sigma_\phi^2 = \int_{f_{min}}^{f_{max}} S_\phi(f) df \le (0.1\text{ rad})^2 \quad (\text{결맞음 위상 잠금 조건}) \]

고속 전광 변조기(EOM) 및 저주파 대변위 압전 소자(PZT)의 이중 액추에이터 복합 위상 제어 법칙은 다음과 같습니다:

\[ V_{eom}(s) = \frac{s}{s + \omega_{x}} C_{fast}(s) \theta_{err}(s), \quad V_{pzt}(s) = \frac{\omega_{x}}{s + \omega_{x}} C_{slow}(s) \theta_{err}(s) \]

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

다음은 f-to-2f 비트 신호 위상을 10,000Hz로 판독하여 EOM 및 피에조 구동 전압을 산출하는 무할당 C# 서보 엔진 구현체입니다:

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Core.CombOptics
{
    public ref struct OpticalFrequencyCombServo
    {
        private readonly double _dt;
        private readonly double _targetCeoFreqHz; // 예: 20.0 MHz
        private double _currentCeoFreqHz;
        private double _phaseErrorRad;
        private double _cmdEomVoltageV;
        private double _cmdPztVoltageV;
        
        // 이중 루프 필터 상태
        private double _fastErrorFiltered;
        private double _slowIntegral;
        private readonly double _kpFast;
        private readonly double _kiSlow;

        public OpticalFrequencyCombServo(
            double dt,
            double targetCeoFreqHz,
            double kpFast,
            double kiSlow)
        {
            _dt = dt;
            _targetCeoFreqHz = targetCeoFreqHz;
            _kpFast = kpFast;
            _kiSlow = kiSlow;
            _currentCeoFreqHz = targetCeoFreqHz;
            _phaseErrorRad = 0.0;
            _cmdEomVoltageV = 0.0;
            _cmdPztVoltageV = 0.0;
            _fastErrorFiltered = 0.0;
            _slowIntegral = 0.0;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void UpdatePhaseLock(
            double measuredCeoFreqHz,
            double rfPhaseDetectorVolts,
            out double eomVoltage,
            out double pztVoltage,
            out double residualPhaseJitterMrad)
        {
            _currentCeoFreqHz = measuredCeoFreqHz;

            // 1. 위상 검파기(Phase Detector) 전압으로부터 위상 오차(rad) 계산 (감도 1.2 V/rad)
            _phaseErrorRad = rfPhaseDetectorVolts / 1.2;

            // 2. 고주파 성분(EOM 담당) 및 저주파 성분(PZT 담당) 분리
            _fastErrorFiltered = 0.80 * _fastErrorFiltered + 0.20 * _phaseErrorRad;

            // 고속 EOM 전압 (비례 제어, ±5V)
            _cmdEomVoltageV = Math.Clamp(-_kpFast * _fastErrorFiltered, -5.0, 5.0);

            // 저속 PZT 전압 (적분 제어, ±50V 대변위)
            _slowIntegral += _phaseErrorRad * _dt;
            _slowIntegral = Math.Clamp(_slowIntegral, -20.0, 20.0);
            _cmdPztVoltageV = Math.Clamp(-_kiSlow * _slowIntegral, -50.0, 50.0);

            eomVoltage = _cmdEomVoltageV;
            pztVoltage = _cmdPztVoltageV;
            residualPhaseJitterMrad = Math.Abs(_phaseErrorRad) * 1000.0;
        }

        public readonly double CurrentCeoFrequencyMhz => _currentCeoFreqHz * 1e-6;
        public readonly double PhaseJitterMrad => Math.Abs(_phaseErrorRad) * 1000.0;
    }
}

4. 교육 및 국방 현장 적용 방안

방통대 및 초중고 초정밀 레이저·광통신 직무연수

모드 잠금 펄스의 주파수 영역 빗(Comb) 구조와 빛의 군지연 분산(GDD)을 3차원 광학 시뮬레이터로 학습. 나노초, 펨토초 펄스의 위상이 록인될 때 수십만 개의 레이저가 단일 표준으로 정렬되는 광학 기술의 정수를 체험합니다.

국방 원자시계 광주파수 동기화 및 광학 라이다

차세대 광시계의 429THz 광학 클록을 마이크로파 10GHz 신호로 위상 잡음 없이 분주(Frequency Division)하여, 전자기 재밍에 완벽히 면역된 차세대 군사 통신망과 스텔스 스캔 라이다를 구현합니다.