1. 개요: 전자기파 스펙트럼의 미개척 영역(0.1 ~ 10 THz)에서 복소 광학 상수를 직접 측정하다
마이크로파와 적외선 사이에 위치하는 테라헤르츠(THz) 대역은 비금속 및 비극성 매질(플라스틱, 세라믹, 직물, 반도체 웨이퍼)을 쉽게 투과하면서도, 물 분자나 생체 고분자의 수소 결합 및 격자 저주파 진동 모드(Intermolecular vibration)와 강력하게 상호작용합니다.
일반적인 푸리에 변환 적외선(FTIR) 분광법은 광 강도(Intensity)만을 측정하므로 크라머스-크로니히(Kramers-Kronig) 관계식을 통해 위상을 간접 추정해야 하지만, 테라헤르츠 시분해 분광법(THz Time-Domain Spectroscopy, THz-TDS)은 펨토초 레이저와 광전도 안테나(Photoconductive Antenna, PCA)를 결합하여 테라헤르츠 전자기파의 전기장 진폭 \(E(t)\)과 위상(Phase)을 시간 영역에서 직접 동시 측정합니다. 이를 통해 복소 굴절률 \(\\tilde{n}(\\omega) = n(\\omega) + i \\kappa(\\omega)\)과 유전율을 추가적인 근사 없이 절대적으로 추출할 수 있습니다.
2. 프레넬 투과 전달 함수 및 드루드-스미스 전도도 수식 모델
기준 신호(공기 투과) \(E_{\\text{ref}}(t)\)와 시료 투과 신호 \(E_{\\text{sam}}(t)\)를 고속 푸리에 변환(FFT)하여 얻은 복소 주파수 스펙트럼의 비는 복소 전달 함수 \(\\tilde{H}(\\omega)\)를 구성합니다:
두께 \(d\)인 시료의 경계면 다중 반사를 분리(Time-windowing)한 단일 통과 영역에서 프레넬 전달 함수는 다음과 같이 단순화됩니다:
여기서 굴절률 \(n(\\omega)\)과 소멸 계수 \(\\kappa(\\omega)\)(또는 흡수 계수 \(\\alpha(\\omega) = \\frac{2\\omega\\kappa}{c}\))는 위상 \(\\phi(\\omega)\)과 진폭비 \(\\rho(\\omega)\)로부터 직접 역산됩니다:
나노입자나 불규칙 반도체 박막 내 전하 캐리어의 역산란을 고려한 드루드-스미스(Drude-Smith) 복소 전기 전도도 모델은 다음과 같습니다:
여기서 \(\\omega_p\)는 플라즈마 주파수, \(\\tau\)는 캐리어 산란 시간, \(c_1 \\in [-1, 0]\)은 1회 산란 후 전자가 초기 방향의 반대 방향으로 튕겨 나갈 확률(후방 산란 파라미터)입니다.
3. 실시간 THz-TDS 분광 서보 아키텍처 다이어그램
4. 고성능 0-Alloc C# THz 광학 상수 추출 서보 구현
시간 영역 THz 펄스로부터 굴절률과 흡수 계수를 실시간 역산하는 0-Alloc C# 클래스입니다:
using System;
using System.Runtime.CompilerServices;
namespace ZeliDesk.Stem.TerahertzSpectroscopy
{
public readonly record struct ThzParameters(
double SampleThicknessM, // d (예: 500 um = 0.0005)
double CenterFrequencyHz, // f (예: 1.0 THz = 1.0e12)
double SpeedOfLight // c ~ 2.99792458e8
);
public ref struct ThzServoState
{
public double AmplitudeRatioRho;
public double PhaseDifferencePhi;
public double RefractiveIndexN;
public double ExtinctionKappa;
public double AbsorptionAlphaCm1; // cm^-1
public double RealPermittivityEps1;
public double ImagPermittivityEps2;
public bool IsPhysical;
}
public static class ThzTdsServo
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ExtractOpticalConstants(
in ThzParameters p,
double magSam, double phaseSam,
double magRef, double phaseRef,
ref ThzServoState state)
{
if (magRef <= 0.0 || p.SampleThicknessM <= 0.0)
{
state.IsPhysical = false;
return;
}
// 1. 진폭비 및 위상차 계산
state.AmplitudeRatioRho = magSam / magRef;
state.PhaseDifferencePhi = phaseSam - phaseRef;
double omega = 2.0 * Math.PI * p.CenterFrequencyHz;
// 2. 굴절률 n(omega) = 1 - c * phi / (omega * d)
// (위상차 phi는 통상 음수 지연이므로 -부호 결합)
state.RefractiveIndexN = 1.0 - (p.SpeedOfLight * state.PhaseDifferencePhi) / (omega * p.SampleThicknessM);
if (state.RefractiveIndexN < 1.0)
{
state.RefractiveIndexN = 1.0; // 비물리적 발산 제한
}
// 3. 소멸 계수 kappa(omega) 역산
double n = state.RefractiveIndexN;
double tFactor = (4.0 * n) / Math.Pow(n + 1.0, 2);
double lnArg = Math.Max(1e-6, state.AmplitudeRatioRho / tFactor);
state.ExtinctionKappa = -(p.SpeedOfLight / (omega * p.SampleThicknessM)) * Math.Log(lnArg);
state.ExtinctionKappa = Math.Max(0.0, state.ExtinctionKappa);
// 4. 흡수 계수 alpha = 2 * omega * kappa / c (단위: 1/cm)
double alphaM1 = (2.0 * omega * state.ExtinctionKappa) / p.SpeedOfLight;
state.AbsorptionAlphaCm1 = alphaM1 * 0.01; // m^-1 -> cm^-1
// 5. 복소 유전율 eps1 = n^2 - kappa^2, eps2 = 2 * n * kappa
state.RealPermittivityEps1 = (n * n) - (state.ExtinctionKappa * state.ExtinctionKappa);
state.ImagPermittivityEps2 = 2.0 * n * state.ExtinctionKappa;
state.IsPhysical = state.RefractiveIndexN >= 1.0 && state.ExtinctionKappa >= 0.0;
}
}
}
5. 교육 연수 및 스텔스/폭발물 국방 감시 적용 지침
방통대 직무연수 및 국방 비파괴 검사
- 물리/화학 교과 지도: 전자기파의 시간 영역-주파수 영역 변환(FFT), 복소 굴절률과 흡수율의 물리적 의미, 분자 결합 고유 진동 흡수 지문(Fingerprint) 교육.
- 국방 스텔스 RAM 코팅 및 폭약 원격 탐지: 전투기 스텔스 도료의 초고주파 유전 손실률 비파괴 두께 측정 및 RDX, TNT 등 은닉 군용 고폭탄의 지문 스펙트럼 원격 식별.