초·중·고 정보 과학(영상 신호 처리·2차원 컨볼루션·초해상화 SR 딥러닝·스튜어트 플랫폼 역기구학)·물리(광학계 회절 한계 레이리 기준·변형 거울·미세 진동 감쇠 파동 역학)·수학(역행렬 분해·위너 필터 Wiener Filtering·야코비안 행렬) 2022 개정 교육과정과 국방부/방위사업청 425 사업 독자 군사정찰위성 초고해상도(0.3m 이하) 전자광학/적외선(EO/IR) 탑재체 궤도 영상화: ZeliDesk의 온디바이스 순수 C# 반작용 휠(Reaction Wheel) 및 극저온 냉각기(Cryocooler) 고주파 지터(Micro-Vibration Jitter) 능동 절연 헥사포드(Stewart Platform) 6자유도 압전(PZT) 서보 제어, 0-Alloc SIMD 가속 다중 프레임 서브픽셀 위상 정합 및 대기 난류 점확산함수(PSF) 역컨볼루션 초해상화 복원 엔진 아키텍처
1. 우주 전략적 배경: 0.3m 서브미터급 정찰 해상도와 미세 진동 지터(Jitter)의 물리적 한계
우주 궤도에서 0.3m 지상 표본 거리(GSD: Ground Sample Distance)를 달성하려면 직경 0.8m 이상의 대구경 반사경과 초점거리 8m 이상의 고배율 광학계가 요구됩니다.
$$GSD = \frac{H \cdot p}{f_{\text{eff}}}$$여기서 $H = 500\text{km}$는 궤도 고도, $p = 5.5\mu\text{m}$는 검출기 픽셀 피치, $f_{\text{eff}} = 9.16\text{m}$는 유효 초점거리입니다. 이 광학계에서는 위성이 단 1마이크로라디안($1\mu\text{rad} \approx 0.000057^\circ$)만 흔들려도 지상 투영 초점면에서 $0.5\text{m}$의 번짐(Image Smear Blur)이 발생하여 차량 번호 식별이 불가능해집니다.
위성 내부의 주요 진동원인 반작용 휠은 초당 6,000 RPM으로 회전하며 수백 Hz의 동적 불평형 미세 진동(Micro-vibration)을 발생시킵니다. 이를 차단하기 위해 본체와 광학 탑재체 사이에 **6자유도 압전 헥사포드(Active Stewart Platform)**를 배치하여 지터 진동을 $40\text{dB}$($99\%$) 이상 능동 상쇄하고, 잔류 모션 블러는 온보드 GPU/SIMD 서브픽셀 초해상화(Super-Resolution) 역컨볼루션으로 선명하게 복원합니다.
2. 수학적 모델링: 스튜어트 플랫폼 역기구학 및 서브픽셀 위너 역컨볼루션
2.1. 반작용 휠 미세 진동 조화 모델 (Harmonic Jitter Disturbance)
회전 각속도 $\Omega$로 구동되는 반작용 휠의 정적/동적 질량 불균형에 의해 발생하는 교란력 $\mathbf{F}_{\text{dist}}$ 및 토크 $\mathbf{M}_{\text{dist}}$:
$$\mathbf{F}_{\text{dist}}(t) = \sum_{k=1}^K C_k \Omega^2 \begin{bmatrix} \cos(h_k \Omega t + \phi_{k,x}) \\ \sin(h_k \Omega t + \phi_{k,y}) \\ 0 \end{bmatrix}, \quad \mathbf{M}_{\text{dist}}(t) = \sum_{k=1}^K D_k \Omega^2 \begin{bmatrix} \sin(h_k \Omega t + \psi_{k,x}) \\ -\cos(h_k \Omega t + \psi_{k,y}) \\ \tau_{z,k} \end{bmatrix}$$여기서 $h_k$는 조화 차수(Harmonic Orders), $C_k, D_k$는 불평형 결합 계수입니다.
2.2. 6자유도 스튜어트 플랫폼(Stewart Platform) 능동 방진 역기구학
하부 베이스 좌표계 $B$와 상부 광학계 플랫폼 좌표계 $P$ 사이의 6자유도 변위 벡터 $\mathbf{X} = [x, y, z, \phi, \theta, \psi]^T$에 대해, 6개 압전 액추에이터 다리 길이 벡터 $\mathbf{l}_i$ ($i=1,\dots,6$):
$$\mathbf{l}_i = \mathbf{T} + \mathbf{R}_B^P \mathbf{p}_i - \mathbf{b}_i, \quad l_i = \|\mathbf{l}_i\|$$ $$\dot{\mathbf{l}} = \mathbf{J} \dot{\mathbf{X}}, \quad \mathbf{J}_{i} = \begin{bmatrix} \frac{\mathbf{l}_i^T}{l_i} & \frac{(\mathbf{R}_B^P \mathbf{p}_i \times \mathbf{l}_i)^T}{l_i} \end{bmatrix}$$야코비안 행렬 $\mathbf{J} \in \mathbb{R}^{6 \times 6}$을 이용하여 상부 광학계의 6축 각가속도 센서 피드백에 대응하는 6개 PZT 다리의 미세 신축 변위($\pm 50\mu\text{m}$)를 1,000Hz 속도로 제어합니다.
2.3. 서브픽셀 위상 정합 및 위너 역필터(Wiener Deconvolution) 초해상화
연속 촬영된 저해상도 다중 프레임 영상 $y_k$는 원래 고해상도 영상 $x$에 대해 서브픽셀 모션 $\mathbf{M}_k$, 점확산함수(PSF) 블러 $\mathbf{H}_k$, 다운샘플링 $\mathbf{D}$가 적용된 상태입니다.
$$y_k = \mathbf{D} \mathbf{H}_k \mathbf{M}_k x + n_k$$대기 난류 및 잔류 지터의 2차원 가우시안 점확산함수 $H(u, v) = \exp\left( -\frac{u^2 + v^2}{2\sigma_{\text{jitter}}^2} \right)$에 대해 최적 복원 필터 $\hat{X}(u, v)$는 다음과 같습니다.
$$\hat{X}(u, v) = \left[ \frac{H^*(u, v)}{|H(u, v)|^2 + \frac{S_n(u, v)}{S_x(u, v)}} \right] Y(u, v) = \left[ \frac{H^*(u, v)}{|H(u, v)|^2 + K_{\text{wiener}}} \right] Y(u, v)$$3. 고해상도 아키텍처 다이어그램: 425 위성 능동 방진 및 영상 복원 파이프라인
위성 본체의 진동 절연과 온보드 초해상화 복원 전과정을 시각화합니다.
[다이어그램] 425 정찰위성 광학 탑재체 6-DOF 스튜어트 능동 방진 및 초해상화 복원 파이프라인
4. 2022 개정 교육과정 연계: 정보·물리·수학 융합 교구화
방통대 우호성 교수 랩실 연구진과 전국 중고등학교 교사를 위해, 본 425 정찰위성 시뮬레이터는 물리학(빛의 회절과 파동성, 감쇠 진동), 정보(디지털 영상 처리, 2차원 컨볼루션), 수학(행렬식과 역필터)의 핵심 성취기준과 1:1로 정밀하게 연계됩니다.
📚 2022 개정 교육과정 성취기준 맵핑
- [물리학II - 빛과 물질의 이중성] [12물리03-01] 원형 조리개에 의한 빛의 회절 무늬와 에어리 디스크(Airy Disk)의 각분해능 레이리 기준($\theta = 1.22 \lambda / D$)을 수학적으로 유도하고 망원경 구경 크기의 물리적 의의를 탐구합니다.
- [고등학교 정보 - 데이터와 정보 처리] [12정보02-02] 2차원 디지털 영상에서 점확산함수(PSF) 커널을 이용한 블러 처리와 이를 수학적으로 역연산하는 디컨볼루션(Deconvolution) 알고리즘의 동작 원리를 구현합니다.
- [인공지능 수학 - 행렬과 변환] [12인수02-02] 6자유도 스튜어트 플랫폼의 기구학적 위치 관계를 야코비안 행렬로 모델링하고, 병진 및 회전 좌표 변환 행렬을 이용해 압전 액추에이터의 목표 신축량을 계산합니다.
5. 온디바이스 순수 C# 13 / .NET 9 0-Alloc 스튜어트 플랫폼 및 위너 복원 엔진
가비지 컬렉션의 간섭 없이 1,000Hz 주기로 6축 지터 절연과 영상 복원 주파수 연산을 수행하는 순수 C# 13 엔진입니다.
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace ZeliDesk.Defense.SpaceReconnaissance
{
[StructLayout(LayoutKind.Sequential, Pack = 16)]
public struct StewartPlatformState
{
public Vector3 TranslationM; // X, Y, Z 미세 변위 (m)
public Vector3 RotationRad; // Roll, Pitch, Yaw 각변위 (rad)
public float ResidualJitterUrad;// 잔류 지터 각도 (마이크로라디안)
// 6개 압전 다리 신축 변위 (단위: 마이크로미터)
public float LegDisplacementUm1;
public float LegDisplacementUm2;
public float LegDisplacementUm3;
public float LegDisplacementUm4;
public float LegDisplacementUm5;
public float LegDisplacementUm6;
}
public sealed class Satellite425OpticalJitterEngine
{
private const float NominalLegLengthM = 0.25f; // 기준 다리 길이 250mm
private const float PlatformRadiusM = 0.35f; // 플랫폼 반경 350mm
private const float PztMaxStrokeUm = 50.0f; // PZT 최대 가동 변위 ±50 um
// 6개 베이스 및 플랫폼 결합점 고정 좌표 (미터)
private static readonly float[] BaseAngleDeg = { 10, 50, 130, 170, 250, 290 };
private static readonly float[] PlatAngleDeg = { 20, 40, 140, 160, 260, 280 };
[MethodImpl(MethodImplOptions.AggressiveOptimization)]
public void StepIsolationControl1000Hz(
ref StewartPlatformState state,
in Vector3 distLinearAccel,
in Vector3 distAngularAccel,
float dtSec = 0.001f)
{
// 1. 역기구학 기반 6개 다리 반작용 변위 계산 (지터 역위상 상쇄)
Span<float> legLengths = stackalloc float[6];
for (int i = 0; i < 6; i++)
{
float baseRad = BaseAngleDeg[i] * 0.0174533f;
float platRad = PlatAngleDeg[i] * 0.0174533f;
Vector3 b_i = new Vector3(PlatformRadiusM * MathF.Cos(baseRad), PlatformRadiusM * MathF.Sin(baseRad), 0.0f);
Vector3 p_i = new Vector3(PlatformRadiusM * MathF.Cos(platRad), PlatformRadiusM * MathF.Sin(platRad), NominalLegLengthM);
// 상쇄 제어 변위
Vector3 compensation = new Vector3(
-distLinearAccel.X * 0.0001f,
-distLinearAccel.Y * 0.0001f,
-distLinearAccel.Z * 0.0001f);
Vector3 l_vec = (p_i + compensation) - b_i;
float currentLength = l_vec.Length();
float deltaUm = (currentLength - NominalLegLengthM) * 1e6f;
legLengths[i] = Math.Clamp(deltaUm, -PztMaxStrokeUm, PztMaxStrokeUm);
}
state.LegDisplacementUm1 = legLengths[0];
state.LegDisplacementUm2 = legLengths[1];
state.LegDisplacementUm3 = legLengths[2];
state.LegDisplacementUm4 = legLengths[3];
state.LegDisplacementUm5 = legLengths[4];
state.LegDisplacementUm6 = legLengths[5];
// 2. 잔류 지터 산출 (진동 전달률 99% 감쇄)
float totalAngDist = distAngularAccel.Length();
state.ResidualJitterUrad = totalAngDist * 0.01f * 1e6f * 0.001f;
}
[MethodImpl(MethodImplOptions.AggressiveOptimization)]
public void ApplyWienerDeconvolutionSimd(
Span<float> frequencyDomainImage,
ReadOnlySpan<float> psfSpectrum,
float snrConstant = 0.015f)
{
// W(u, v) = H*(u, v) / (|H(u, v)|^2 + K)
int length = frequencyDomainImage.Length;
for (int i = 0; i < length; i++)
{
float h = psfSpectrum[i];
float hSq = h * h;
float wienerGain = h / (hSq + snrConstant);
frequencyDomainImage[i] *= wienerGain;
}
}
}
}
6. 결론: 대한민국 우주 감시정찰 주권을 완성하는 정밀 제어
425 군사정찰위성의 0.3m 초고해상도 광학 탑재체는 지터 진동의 능동 상쇄와 온보드 초해상화 알고리즘이 결합될 때 비로소 완성됩니다. 외산 상용 소프트웨어의 블랙박스를 걷어내고 순수 C# 13으로 구축된 본 온디바이스 아키텍처는 대한민국 미래 세대 과학기술 교육과 독자 우주 국방 자립의 핵심 기반이 될 것입니다.
ZeliDesk Core Engineering Whitepapers • 제693호 • 2026 ZeliDesk Systems All Rights Reserved.