# 잡음 제거와 신호 복원 기법

#### 잡음 모델링의 기초

센서 데이터를 다룰 때 가장 먼저 고려해야 할 점은 측정값에 포함된 잡음의 특성이다. 측정값에 들어 있는 잡음은 대개 확률적 성격을 지니며, 물리적인 측정 과정에서 기인하는 불확정성에서 비롯된다. 이 잡음 모델이 적절히 수립되어야 이후에 적용할 필터 설계나 신호 복원 기법에서 최적의 성능을 기대할 수 있다.

잡음을 표현할 때 자주 사용하는 일반적인 가정은 가우시안 분포다. 예를 들어 측정 잡음이 $\mathcal{N}(0, \sigma^2)$ 형태라 가정하면, 측정값은 실제 신호에 가우시안 잡음이 선형적으로 합성된 형태로 표현할 수 있다. 이를테면 참 값이 $x$라 할 때 센서가 출력하는 값 $\tilde{x}$은

$$
\tilde{x} = x + n
$$

으로 나타나며, 이때 잡음 $n$은 $\mathcal{N}(0, \sigma^2)$를 따른다고 가정한다.

그러나 실제로는 센서마다 잡음 특성이 다르고, 가우시안이 아닌 분포를 따르는 경우도 흔하다. 예컨대 라이다(LiDAR)나 레이다(Radar) 센서의 반사율이나 미세한 환경 요인으로 인해 첨도가 높은(non-Gaussian) 잡음이 발생할 수 있다. 이런 잡음 특성을 제대로 파악하기 위해서는 통계적 관찰, 센서 제조사의 사양서, 실제 환경에서의 측정 등을 종합적으로 고려해야 한다.

#### 확률적 신호 모델

여러 센서에서 출력된 값을 하나의 시점 $t$에서 $\mathbf{z}\_t$라 표기할 수 있다. 이를 일반화해 보면 다음과 같은 모델을 설정할 수 있다. 상태 벡터를 $\mathbf{x}\_t \in \mathbb{R}^n$라 하고, 잡음을 $\mathbf{w}\_t, \mathbf{v}\_t$라 할 때

$$
\begin{align} \mathbf{x}\_{t+1} &= \mathbf{A}\mathbf{x}\_t + \mathbf{w}\_t \\
\mathbf{z}\_t &= \mathbf{H}\mathbf{x}\_t + \mathbf{v}\_t  \end{align}
$$

여기서 $\mathbf{A}$는 상태 천이(transition) 행렬, $\mathbf{H}$는 관측(observer) 행렬이다. $\mathbf{w}\_t, \mathbf{v}\_t$는 각각 공정 잡음(process noise)과 측정 잡음(measurement noise)로서, 일반적으로 서로 독립이고, 보통

$$
\mathbf{w}\_t \sim \mathcal{N}(\mathbf{0}, \mathbf{Q}), \quad \mathbf{v}\_t \sim \mathcal{N}(\mathbf{0}, \mathbf{R})
$$

로 가정된다. 물론 잡음이 비가우시안 분포를 따르는 더 복잡한 모델도 존재하지만, 센서 퓨전에서는 가우시안 가정을 기반으로 한 선형 모델이 가장 흔히 쓰이고 이해하기도 수월하다.

#### 선형 필터 이론

센서 잡음이 선형이고 가우시안이라면, 선형 필터를 사용해 최소제곱오차 관점에서 최적해를 구할 수 있다. 전통적으로 많이 활용되는 방법은 FIR(Filter Finite Impulse Response), IIR(Infinite Impulse Response) 필터 등이 있다. FIR 필터는 시간 도메인에서 유한 개의 계수만 사용하는 디지털 필터이므로 구현이 간단하고 안정성을 보장한다. IIR 필터는 차수가 낮아도 선형 시스템에서 원하는 스펙을 구현하기 쉽지만, 영(signal zero)이 필터 내부로 피드백되므로 설계 시 주의가 필요하다.

선형 필터 설계에서 중요한 것은 잡음 신호의 스펙트럼 특성과 실제 유용 신호의 스펙트럼 특성을 구분하여 필요한 주파수 성분만 통과시키거나 제어하는 것이다. 이를 위해 주파수 응답을 설계해 최적화하는 절차가 있다. 예를 들어 이동평균(Moving Average) 필터는 저주파 신호 성분만 남기고 고주파 잡음을 제거하는 데 유용하지만, 빠르게 변하는 유용 신호까지 함께 제거될 위험이 있다.

#### 칼만 필터 개요

칼만 필터(Kalman Filter)는 선형 가우시안 시스템에서 잡음 제거 및 상태 추정을 위한 대표적인 기법이다. 칼만 필터는 예측(prediction) 단계와 업데이트(update) 단계를 순차적으로 수행하며, 이전 단계에서 추정한 상태와 오차 공분산을 다음 단계 예측에 활용한다.

가정된 모델은 위에서 언급한 선형 상태공간 모델과 동일하다. 예측 단계에서 현재 상태를 추정하고, 측정 단계에서 실제 센서로부터 관측된 값을 통해 추정치를 보정한다. 이를 반복함으로써 잡음으로 오염된 신호에서 최적 추정값을 도출한다. 핵심 수식은 아래와 같다.

예측 단계:

$$
\begin{align} \mathbf{\hat{x}}*{t|t-1} &= \mathbf{A},\mathbf{\hat{x}}*{t-1|t-1} \\
\mathbf{P}*{t|t-1} &= \mathbf{A},\mathbf{P}*{t-1|t-1},\mathbf{A}^\mathsf{T} + \mathbf{Q} \end{align}
$$

업데이트 단계:

$$
\begin{align} \mathbf{K}*t &= \mathbf{P}*{t|t-1} ,\mathbf{H}^\mathsf{T}\bigl(\mathbf{H},\mathbf{P}*{t|t-1},\mathbf{H}^\mathsf{T} + \mathbf{R}\bigr)^{-1}  \\
\mathbf{\hat{x}}*{t|t} &= \mathbf{\hat{x}}\_{t|t-1} + \mathbf{K}*t\bigl(\mathbf{z}*t - \mathbf{H},\mathbf{\hat{x}}*{t|t-1}\bigr)  \\
\mathbf{P}*{t|t} &= \bigl(\mathbf{I} - \mathbf{K}*t \mathbf{H}\bigr)\mathbf{P}*{t|t-1} \end{align}
$$

여기서 $\mathbf{\hat{x}}*{t|t}$는 시점 $t$에서의 상태추정량, $\mathbf{P}*{t|t}$는 그 추정치에 대한 오차 공분산 행렬, $\mathbf{K}\_t$는 칼만 이득(Kalman gain)이다. 칼만 필터의 가장 중요한 특징 중 하나는 오차 공분산 행렬을 함께 갱신함으로써, 추정값의 불확실성을 동적으로 추적한다는 점이다. 잡음이 커지면 오차 공분산이 커지고, 그에 따라 필터는 센서 측정에 더 의존하는 쪽으로 보정한다.

#### 칼만 필터의 상태추정 시각화

아래는 간단한 칼만 필터 구조를 나타낸 흐름도다.

{% @mermaid/diagram content="flowchart TD
A\["이전 추정치 & 오차공분산"] --> B\["예측 단계"]
B --> C\["예측 상태"]
C --> D\["센서 측정치와 결합"]
D --> E\["업데이트 단계"]
E --> F\["새로운 추정치 & 오차공분산"]
F --> B" %}

센서 측정치와 예측 상태값을 결합해 추정 오차가 점차 줄어드는 과정을 반복함으로써, 잡음을 최소화한 신호 혹은 상태추정이 가능해진다.

#### 신호 복원 관점에서의 칼만 필터

칼만 필터는 시간적으로 변화하는 상태를 추적하므로, 동적 시스템에서 노이즈 제거와 동시에 신호 복원 기능을 수행한다. 예를 들어, 관측 신호가 순간적으로 왜곡되었을 때(아웃라이어 또는 짧은 구간의 측정 손실) 기존의 상태추정값과 오차 공분산을 바탕으로 보정된 값을 제공함으로써 보다 연속적이고 일관성 있는 신호를 얻을 수 있다.

칸(Kalman) 프레임워크를 적절히 구성하면, 신호 자체가 아니라 신호의 도함수, 또는 센서 바이어스, 혹은 시스템 내부의 잠재 변수(latent variable)까지 상태에 포함해 추정할 수 있다. 이 과정에서 여러 센서가 생산하는 관측값들을 결합하면, 단일 센서에서 얻기 어려운 부분을 다른 센서의 관측치가 보완해 줄 수 있다.

#### 다중 센서에서의 칼만 필터 확장

센서가 여러 종류라면, 관측 모델도 여러 개가 될 수 있다. 예컨대 $\mathbf{z}\_t^{(1)}$, $\mathbf{z}\_t^{(2)}$ 등과 같이 두 종류 센서 출력을 합쳐서 모델링하려면, 관측 행렬을 확장하거나 측정 차원에 맞게 블록 형태로 구성해 모델링할 수 있다. 이 경우 상태공간 차원은 같지만, 측정 차원이 증대된다. 여러 관측 행렬과 잡음 공분산 행렬을 통합해 사용하면 다중 센서 융합에 맞는 칼만 필터를 구현할 수 있다.

#### 부분 관측 시스템

실제로는 일부 상태에 대해서만 특정 센서가 관측 가능하거나, 때로는 어떤 시점에 센서가 동작하지 않을 수도 있다. 이처럼 부분 관측(partially observed) 상황에서는 가용한 센서들의 정보를 최대한 이용해 상태를 추정해야 한다. 유효하지 않은 센서값은 필터 업데이트 단계에서 제외하거나, 에러 플래그를 통해 자동으로 무시하도록 설계할 수 있다. 또한 관측 공분산 행렬 $\mathbf{R}$을 동적으로 조정해 상태추정에 대한 신뢰도를 반영한다.

#### 고등 주제 개요

센서 퓨전에서 잡음 제거와 신호 복원은 단순 가우시안 잡음 모델에서 끝나지 않는다. 비가우시안, 비선형 시스템, 고차원 상태공간으로 확장되면 파티클 필터, 변분 베이지안 방법, 이동 윈도우(time-windowed) 최적화, 서포트 벡터 회귀(SVR) 등을 결합해 잡음 제거와 신호 복원을 더 정교하게 수행할 수 있다. 이후 단계에서 이들 기법을 좀 더 구체적으로 살펴보겠다.

#### 비선형 필터 이론

현실 세계의 센서 융합 문제에서는 시스템이 선형적 관계를 따르지 않을 때가 많다. 예를 들어 센서 출력을 보정하거나 좌표 변환을 수행할 때, 혹은 센서 측정과 대상의 동역학이 비선형 형태를 가질 수 있다. 이런 상황을 처리하기 위해 칼만 필터를 비선형 문제로 확장한 여러 기법들이 개발되었다.

**확장 칼만 필터(Extended Kalman Filter, EKF)**

비선형 시스템을 1차 테일러 전개로 선형 근사하여 칼만 필터의 구조를 이용하는 대표적 방법이다. 상태 천이 및 관측 모델이 아래처럼 비선형 함수를 포함한다고 해보자.

$$
\begin{align} \mathbf{x}\_{t+1} &= f(\mathbf{x}\_t, \mathbf{w}\_t)  \\
\mathbf{z}\_t &= h(\mathbf{x}\_t, \mathbf{v}\_t) \end{align}
$$

이때 EKF는 $f(\cdot)$와 $h(\cdot)$를 현재 추정치 부근에서 선형화한 야코비(Jacobian) 행렬을 이용해 칼만 필터와 유사한 방식으로 예측과 업데이트를 수행한다. 예컨대 예측 단계에서는

$$
\begin{align} \mathbf{\hat{x}}*{t|t-1} &= f(\mathbf{\hat{x}}*{t-1|t-1}, \mathbf{0})  \\
\mathbf{F}*{t-1} &= \left.\frac{\partial f}{\partial \mathbf{x}}\right|*{\mathbf{\hat{x}}*{t-1|t-1}}  \\
\mathbf{P}*{t|t-1} &= \mathbf{F}*{t-1},\mathbf{P}*{t-1|t-1},\mathbf{F}\_{t-1}^\mathsf{T} + \mathbf{Q} \end{align}
$$

업데이트 단계에서는

$$
\begin{align} \mathbf{H}*t &= \left.\frac{\partial h}{\partial \mathbf{x}}\right|*{\mathbf{\hat{x}}\_{t|t-1}}  \\
\mathbf{K}*t &= \mathbf{P}*{t|t-1},\mathbf{H}*t^\mathsf{T}\bigl(\mathbf{H}*t,\mathbf{P}*{t|t-1},\mathbf{H}*t^\mathsf{T} + \mathbf{R}\bigr)^{-1}   \\
\mathbf{\hat{x}}*{t|t} &= \mathbf{\hat{x}}*{t|t-1} + \mathbf{K}*t\bigl(\mathbf{z}*t - h(\mathbf{\hat{x}}*{t|t-1}, \mathbf{0})\bigr)  \\
\mathbf{P}*{t|t} &= \bigl(\mathbf{I} - \mathbf{K}\_t \mathbf{H}*t\bigr)\mathbf{P}*{t|t-1} \end{align}
$$

여기서 $\mathbf{F}\_{t-1}, \mathbf{H}\_t$는 각각 시스템 및 관측 모델을 상태에 대해 편미분한 야코비 행렬이다. EKF는 구현이 비교적 간단하며, 로봇 관성항법(INS), SLAM(simultaneous localization and mapping) 등 다양한 로봇/자동차 분야에서 사용된다. 하지만 선형화 과정에서 발생하는 오차로 인해 불안정성 혹은 추정 정밀도 저하가 발생할 수 있다.

**언센티드 칼만 필터(Unscented Kalman Filter, UKF)**

언센티드 칼만 필터(UKF)는 EKF와 달리, 비선형 함수를 1차 테일러 전개로 근사하지 않고, 시그마 포인트(sigma points)라는 유한 개의 표본점을 상태공간에서 선택해 함수값을 직접 계산함으로써 평균과 공분산을 추정하는 방법이다. 시그마 포인트 생성 시 $\mathbf{P}\_{t|t}$ 행렬의 스펙트럼(고유값분해 또는 촐레스키 분해 등)을 이용해 다양한 후보점을 배치하고, 비선형 함수를 통과시킨 뒤 결과의 통계치(평균, 공분산)를 구해 필터를 진행한다.

UKF는 비선형성에 대한 근사精度가 EKF보다 좋은 편이며, 특히 심한 비선형 함수에서도 비교적 안정적으로 작동하는 장점이 있다. 다만 시그마 포인트에 대한 가중치 설정, 분산 추정 시 수치적 안정성을 유지하기 위한 튜닝이 필요하다.

**파티클 필터(Particle Filter, PF)**

파티클 필터는 중요도 샘플링(importance sampling)을 이용해 임의 형태의 확률 밀도를 몬테카를로 방식으로 근사하는 기법이다. 가우시안 분포가 아닌 복잡한 분포 형태도 다룰 수 있으며, 관측 모델 역시 임의의 확률밀도 함수를 허용한다. 파티클 필터의 절차는 대략 다음과 같다.

1. 파티클 집합 ${\mathbf{x}\_t^{(i)}}$을 일정 개수 유지하며, 현재 추정 분포의 표본 역할을 한다.
2. 상태 천이 모델에 따라 파티클들을 예측 단계로 이동시키고, 센서 측정값에 비추어 파티클별 가중치 $w\_t^{(i)}$를 계산한다.
3. 가중치가 큰 파티클 위주로 재샘플링(resampling)을 하여 추정 분포를 새로 갱신한다.

이런 방법은 잡음이 심하고 비선형, 비가우시안적 요소가 큰 상황에서 EKF나 UKF보다 나은 성능을 낼 수 있다. 하지만 파티클 수가 너무 적으면 잡음이 많은 환경에서 분산 축소가 심하게 일어나거나(표본 부족 문제), 반대로 파티클 수가 많으면 계산량이 급격히 증가한다.

#### 로버스트 필터와 이상값(Outlier) 처리

센서 퓨전에서는 정상적인 가우시안 잡음 외에도 드물게 큰 오차를 지닌 이상값(outlier)이 관측에 섞여 들어올 수 있다. 이를 처리하지 않으면 필터가 잘못된 추정치를 산출하거나 추정 분산이 지나치게 커질 위험이 있다.

이를 위해 로버스트 통계(robust statistics)에 기반한 기법들이 제안되었다. 예를 들어 필터 업데이트 시 측정 잔차에 대하여 M-에스티메이터(M-estimator) 계열 함수를 적용하거나, 하버(Huber) 손실, 톡스키(Tukey) 손실 등으로 이상값의 영향을 제한한다. 일반 칼만 필터와의 차이는 측정 잔차를 단순 정규분포假定으로 처리하지 않고, 이상값을 감지했을 때 공분산을 조정하거나 잔차를 재가중한다는 점이다.

#### 주파수 도메인 잡음 제거

지금까지 다룬 필터들은 대부분 시간영역(time-domain)에서 정의되었다. 그러나 센서 신호가 특정 주파수 대역에만 의미 있는 정보를 담는 경우, 푸리에(Fourier) 변환이나 웨이블릿(Wavelet) 변환 등을 통해 잡음을 더 효과적으로 제거할 수 있다. 예컨대 저주파 대역에만 관심이 있다면, 고주파 노이즈를 필터링 후 역변환함으로써 복원된 신호를 얻을 수 있다.

**웨이블릿 기반 복원**

웨이블릿 변환은 주파수와 시간 정보를 동시에 반영하며, 신호의 국소적 특성을 분석하기에 적합하다. 웨이블릿 변환 후 각 스케일(scale)별 계수의 통계적 특성을 파악하여, 잡음으로 추정되는 계수를 임계값(threshold) 이하로 축소(soft thresholding 또는 hard thresholding)하고 다시 역변환한다. 이는 센서 신호가 부분적으로 단속적 특징을 보이거나, 특정 주파수 구간에 잡음이 집중되어 있는 경우 효과적이다.

#### 적응 필터(Adaptive Filter)

적응 필터는 센서 환경이나 신호 특성의 변화에 따라 필터 계수를 동적으로 조정한다. 대표적으로 LMS(Least Mean Squares), RLS(Recursive Least Squares) 알고리즘이 있다. 잡음 특성이 시간이 지남에 따라 변하거나, 센서 자체가 조금씩 바뀌는 상황이라면 적응 필터를 통해 최적 계수를 수시로 업데이트할 수 있다.

예를 들어 LMS 필터는 오차신호 $e(t)$를 최소화하기 위한 계수 갱신식을

$$
\mathbf{w}(t+1) = \mathbf{w}(t) + \mu,e(t),\mathbf{u}(t)
$$

형태로 갖는다. 여기서 $\mathbf{u}(t)$는 입력 벡터(필터에 들어가는 샘플들), $\mu$는 학습률(learning rate)이다. 이러한 적응 필터는 간단하면서도 실시간 동작이 가능하여, 통신 시스템이나 잡음 환경이 변하는 센서 신호 처리에 자주 쓰인다.

#### 슬라이딩 윈도우 최적화 기법

센서 퓨전 문제에서 특정 구간의 측정 데이터를 모아서 일괄 최적화(batch optimization)하는 방법도 있다. 슬라이딩 윈도우(sliding window)나 고정 크기의 배치(batch)를 설정하여, 다음과 같은 최적화 문제를 푸는 식이다.

$$
\min\_{{\mathbf{x}*k}*{k=t}^{t+L}} \sum\_{k=t}^{t+L} \bigl| \mathbf{z}\_k - H(\mathbf{x}\_k) \bigr|^2 + \cdots
$$

이때 $\mathbf{x}\_k$에 대한 동적 모델 혹은 정칙화(regularization) 항을 추가해 추정 안정성을 높인다. 칼만 필터와 달리, 과거 일부 구간 데이터를 반복 재추정하는 구조이므로, 뒤늦게 얻어진 정보(뒤쪽 관측치)를 활용해 이전 상태도 개선 가능하다(비선형 최적화 문제로 종종 나타난다).

#### 예측 제어 관점(MPC)

모델 예측 제어(MPC, Model Predictive Control)는 주로 제어 이론에서 사용되지만, 센서 데이터를 연속적으로 받아들이며 미래 구간을 예측/최적화한다는 점에서 센서 퓨전과 밀접한 관련이 있다. 특히 센서가 많은 시스템에서 상태 추정과 제어 입력을 동시에 결정해야 할 때, 잡음 제거와 신호 복원이 필연적으로 함께 수행된다. 이때 잡음 통계, 장애(occlusion), 이상값 등을 고려한 제약이 제어 문제에 통합될 수 있다.

#### 결합 구조의 예시: 하이브리드 접근

때로는 단일 필터 기법만으로는 복잡한 센서 잡음을 효율적으로 처리하기 어려울 수 있다. 이를 보완하기 위해 상태 추정은 EKF나 UKF 같은 베이지안 필터로 하면서, 관측계나 전처리 단계에서 적응 필터 또는 웨이블릿 기반 노이즈 제거를 수행하기도 한다. 혹은 파티클 필터를 기본으로 사용하면서, 이상값 제거를 위해 로버스트 통계 방법을 결합하기도 한다. 이처럼 다양한 요소기술을 조합해 센서 퓨전 성능을 극대화하는 전략이 실제 응용에서 흔히 쓰인다.

#### 오프라인 추정과 스무딩(Smoothing)

센서 데이터가 시간에 따라 순차적으로 들어올 때는 칼만 필터나 EKF 같은 순방향 필터가 실시간 추정에 유용하다. 그러나 과거 구간까지 포함해 더 정밀한 복원을 원한다면, 과거 시점의 상태까지 재추정하는 스무딩 기법이 필요하다. 대표적으로 루치-텅-스트리벨(Rauch–Tung–Striebel, RTS) 스무더가 있다.

RTS 스무더는 순방향 칼만 필터 추정이 끝난 후, 뒤로 가면서(backward pass) 상태를 재계산한다. 예측 단계에서 축적된 공분산 정보를 바탕으로, 최종 시점부터 시작해 이전 시점으로 거슬러 올라가며 상태 추정을 보정한다. RTS 스무더의 핵심 수식 구조는 다음과 같다(선형 가우시안 시스템 기준).

$$
\begin{align} \mathbf{G}*t &= \mathbf{P}*{t|t},\mathbf{A}^\mathsf{T},\mathbf{P}*{t+1|t}^{-1}  \\
\mathbf{\hat{x}}*{t|T} &= \mathbf{\hat{x}}*{t|t} + \mathbf{G}*t\bigl(\mathbf{\hat{x}}*{t+1|T} - \mathbf{\hat{x}}*{t+1|t}\bigr)  \\
\mathbf{P}*{t|T} &= \mathbf{P}*{t|t} + \mathbf{G}*t\bigl(\mathbf{P}*{t+1|T} - \mathbf{P}\_{t+1|t}\bigr)\mathbf{G}\_t^\mathsf{T} \end{align}
$$

여기서 $t$는 시간 인덱스, $T$는 전체 길이(데이터가 모두 확보된 시점), $\mathbf{G}\_t$는 부가 보정(gain)을 담당한다.

이 과정을 수행하면 필터링 결과보다 더 낮은 추정 오차를 달성할 수 있고, 특히 센서가 과거 시점에 놓친 정보를 나중에 다시 활용할 수 있다. 다만 필연적으로 전체 구간의 센서 데이터가 모두 필요하고, 재귀적(backward) 처리가 추가되므로 실시간성은 떨어진다.

#### 상태-공간 모델의 고급화와 계층 구조

실제 센서 퓨전에서는 단일 수준의 상태공간보다는, 계층(Hierarchical) 또는 블록 구조를 가진 상태공간 모델을 쓰기도 한다. 예를 들어 상위 레벨에는 움직이는 물체(예: 로봇) 전체의 전역적인 상태(위치, 자세)를 놓고, 하위 레벨에는 센서 내부 오프셋(offset)이나 바이어스(bias), 개별 조인트(조인트) 각도 등을 둔다. 이처럼 상태가 여러 스케일이나 의미적 레벨로 분할될 때, 각 부분 모델 간 상호 작용은 종종 비선형적이 된다.

이때는 EKF/UKF를 하위 모듈별로 독립적으로 적용한 뒤, 상위에서 다시 집약하거나, 파티클 필터 기반의 더 큰 상태공간에서 일괄적으로 추정하는 식으로 설계할 수 있다. 혹은 동적 베이지안 네트워크(DBN)나 조건부 랜덤필드(CRF)를 이용해 계층적 구조를 모형화하는 접근도 있다.

#### 인포메이션 필터(Information Filter)

칼만 필터는 상태 추정치와 오차 공분산을 직접 보관하는 형태다. 반면 인포메이션 필터(Information Filter)나 인포메이션 폼(Information Form)은 공분산 행렬의 역행렬을 직접 업데이트한다. 공분산 행렬 $\mathbf{P}$의 역을 $\mathbf{Y} = \mathbf{P}^{-1}$라 하고, 상태추정치 $\mathbf{\hat{x}}$에 상응하는 인포메이션 벡터를 $\mathbf{y} = \mathbf{P}^{-1},\mathbf{\hat{x}}$로 정의한다. 그러면 필터 업데이트가 다음처럼 단순화될 수 있다.

인포메이션 폼에서는 여러 센서의 측정 업데이트 시 $\mathbf{Y}$와 $\mathbf{y}$가 덧셈 연산으로 통합되므로, 분산 센서 네트워크나 그래프 구조의 센서 융합에 유리하다. 각 센서에서 얻어진 관측식을 인포메이션 항으로 변환하여 간단히 합치는 식으로 풀 수 있기 때문이다.

#### 팩터 그래프(Factor Graph)와 최적화

팩터 그래프를 이용하는 방법은 SLAM, 구조-이동(Structure-from-Motion) 문제 등에서 널리 알려져 있다. 센서 모델이나 상태 천이 방정식을 그래프 형태로 표현하고, 노드(상태 변수)와 팩터(제약 조건)의 형태로 구성해 전체 최적화 문제를 풀어낸다. 예를 들어

$$
\min\_{\mathbf{x}} \sum f\bigl(\mathbf{x}\_i, \mathbf{x}\_j\bigr)
$$

같은 잔차 기반 목적함수를 가우시안 뉴튼 방식, 레벤버그-마콰르트 방식 등으로 반복 최적화하게 된다.

이런 그래프 최적화는 시간적 진행에 따라 노드가 늘어나며, 측정이 들어올 때마다 팩터가 추가된다. 특정 구간까지만 유지하는 슬라이딩 윈도우 방식(Incremental Smoothing)도 가능하고, 전체 세션을 일괄 처리(Batch Optimization)할 수도 있다. 센서 잡음은 가우시안 항으로 들어가며, 비가우시안 항이나 이상값 억제(robust cost)도 비교적 쉽게 모델링할 수 있다.

#### 공분산 교차(cross-correlation)와 Covariance Intersection

서로 다른 센서에서 나온 추정치가 상호 독립이라면 단순히 공분산을 합치는 식으로 결합이 가능하다. 하지만 실제로는 센서 잡음이나 관측 과정에서 상관관계가 있을 수 있다. 이런 교차 항을 제대로 반영하지 못하면, 필터 내부적으로 이중으로 정보를 반영하여 과도하게 신뢰도를 높이는 문제가 생긴다.

이를 방지하기 위한 기법 중 하나로 공분산 교차 항을 추적하거나, 적절히 차단해 주는 Covariance Intersection(CI) 알고리즘이 있다. CI는 복수의 추정 분포를 보수적(Conservative) 방식으로 합성하여, 실제 교차 상관을 모를 때에도 결합된 추정치가 과신되지 않도록 만들어 준다. 분산 센서 네트워크나 정보 교환 시 교차 정보를 알기 어려운 상황에서 유용하다.

#### 학습 기반 잡음 제거

고전적인 확률적 필터나 주파수 도메인 기법 외에도, 최근에는 머신러닝/딥러닝 모델을 활용해 센서 잡음을 제거하거나 보정(bias correction)하는 접근이 활발히 연구되고 있다.

예를 들어,

* 오토인코더(Autoencoder)를 이용해 센서 출력의 특징을 자동 학습하고, 노이즈가 있는 입력을 투입했을 때 깨끗한 신호를 복원하도록 학습할 수 있다.
* 합성곱 신경망(CNN) 구조를 주파수 스펙트럼 혹은 시계열을 입력받도록 설계하여, 잡음 제거 함수를 암묵적으로 학습시킬 수도 있다.
* 회귀 모델이나 트랜스포머(Transformer) 구조로 시계열 신호를 학습하여, 새로운 입력에 대해서 잡음이 제거된 추정치를 출력하도록 할 수도 있다.

이런 학습 기반 방법은 잡음 특성과 시스템 동역학을 명시적으로 수학 모델로 두는 대신, 대량의 데이터로부터 직접 통계적 맥락을 익히기 때문에, 비선형∙비가우시안∙복잡한 오류 양상을 효과적으로 처리할 수 있는 잠재력이 있다. 물론 신뢰할 만한 학습 데이터 확보가 쉽지 않을 수 있고, 일반화 능력에 대한 보장이 기존 확률 필터만큼 이론적으로 명확하진 않다는 한계도 존재한다.

#### 스파스(Sparse) 복원과 압축 센싱(Compressed Sensing)

센서 환경에서 측정 데이터가 부분적 결측(missing) 상태이거나, 신호 자체가 특정 기준으로 스파스(sparse)하다고 알려진 경우, 압축 센싱 개념을 활용해 원 신호를 복원할 수 있다. 예를 들어 측정 횟수를 제한적으로만 수행할 때에도 신호에 대한 스파스 가정을 두면, 정규화(regularization) 항을 넣어 다음과 같은 문제를 풀 수 있다.

$$
\min\_{\mathbf{x}} |\mathbf{x}|\_1  \quad \text{subject to} \quad \mathbf{z} = \mathbf{H},\mathbf{x} + \text{noise}
$$

이때 $|\mathbf{x}|\_1$은 $\mathbf{x}$ 벡터의 1-노름이고, 이는 스파스 해를 구하는 전형적인 기법이다. 잡음이 포함될 경우 라그랑주 배수나 Lasso 형태의 페널티 항을 적용해

$$
\min\_{\mathbf{x}} |\mathbf{z} - \mathbf{H},\mathbf{x}|\_2^2 + \lambda |\mathbf{x}|\_1
$$

형태로 풀기도 한다. 웨이블릿 변환 등을 통한 스파스 표현에도 적용 가능한데, 센서로부터 일부 샘플만 받아도(혹은 노이즈가 섞여 있어도) 원본 신호를 비교적 정확히 복원할 수 있다는 장점이 있다.

#### 외부 교정(Calibration)과 레퍼런스 센서

센서 퓨전에서 잡음 제거와 신호 복원은 때로 추가적인 레퍼런스(reference) 센서를 활용해 정확도를 끌어올릴 수 있다. 예를 들어 GPS 신호가 주기적으로 들어오면, 관성 센서(IMU)가 누적하는 드리프트를 정기적으로 교정할 수 있다. 또는 고정밀 레이저 스캐너가 일시적으로 일부 구간의 지형 정보를 획득하면, 다른 센서들의 측정을 그 지형 정보에 맞춰 보정하는 식이다.

이 과정에서 센서 간 상관관계, 동적 모델, 지연(latency) 등을 정교하게 반영해야 한다. 잘못된 교정 단계가 오히려 시스템 전체를 오염시킬 수 있으므로, 별도의 이상 검출이나 신뢰도 평가 모듈이 병행되는 경우가 많다.

#### 결합 알고리즘 구현 시 주의사항

이론적으로 아무리 뛰어난 잡음 제거∙복원 기법이라도, 실제 센서 시스템에 적용할 때는 여러 현실적 제약을 고려해야 한다. 예를 들어

* 센서 샘플링 주기나 데이터 패킷 지연이 불규칙적일 수 있다.
* 미리 설정된 잡음 공분산이 시간이 지나면서 달라질 수 있다(센서 열화, 온도 변화 등).
* 온라인(실시간) 구현 시 연산 자원(CPU, GPU)이 부족해 필터 차원을 줄이거나 근사화를 해야 한다.
* 특정 시점에 통신 실패나 센서 고장이 발생하면, 관측모델이 부분적으로 사라진다.

이런 상황을 효과적으로 처리하기 위해선, 필터 설계 단계에서부터 시간이 지남에 따라 변화하는 잡음 특성, 측정 주기 변동성, 관측 누락 등을 포함해 모델링하거나, 적어도 이를 반영할 수 있는 동적 파라미터 튜닝 로직을 준비해야 한다.

#### 센서 동기화(Synchronization)와 타임스탬프 처리

센서 퓨전에서 정확한 잡음 제거 및 신호 복원을 위해서는 여러 센서의 측정 시점이 일치해야 한다. 만약 센서마다 샘플링 시점이 다르거나, 하드웨어 자체의 내부 클록이 일정하게 드리프트한다면, 동일 시점의 상태를 반영하는 데이터가 아니게 된다. 이를 해결하기 위한 방식은 아래와 같은 절차로 요약할 수 있다.

먼저, 각 센서로부터 제공되는 타임스탬프 정보를 분석해, 특정 기준 시간(마스터 클록)에 대한 지연이나 앞섬 정도를 추정한다. 칼만 필터나 EKF를 사용할 경우, 상태공간 모델에 센서 간 타임오프셋(time offset)을 상태 변수로 추가하고, 이에 관한 추정까지 함께 수행하기도 한다. 혹은 센서 하드웨어 수준에서 PTP(Precision Time Protocol)나 GPS 시각 동기 등을 사용해 물리적 클록을 최대한 통합한다. 이러한 과정이 제대로 이루어지지 않으면, 아무리 정교한 필터를 적용해도 실제 시간 축이 뒤섞인 데이터를 융합하게 되어 오차가 크게 증가한다.

상황에 따라 센서 주기가 서로 다를 수도 있다. 예를 들어 IMU는 매우 높은 주기로 측정되고, GPS는 1Hz만 제공되는 식이다. 이 경우 상태추정 알고리즘 측면에서 IMU가 빠른 주기로 예측 단계를 수행하고, GPS가 도착할 때마다 업데이트 단계를 일괄 수행하도록 설계할 수 있다. 또는 여러 센서 측정들이 임의의 비동기 시점에 들어오면, 이벤트 드리븐(event-driven) 구조를 사용해 해당 시점에 맞춰 필터를 한 번씩 업데이트하는 구조를 택할 수도 있다.

#### 센서 교정(Calibration)과 오프셋 보정

센서가 장시간 운용되면 기계적∙열적 이유로 영점(offset)이 변하거나, 측정 스케일(scale)이 변동될 수 있다. 예를 들어 자이로스코프는 장시간 구동 시 바이어스가 서서히 변화하고, 카메라는 온도나 렌즈 왜곡으로 인해 내부 파라미터가 조금씩 바뀔 수 있다. 이를 효율적으로 추정하고 보정하기 위해서는 다음과 같이 상태 변수 확장 기법을 쓸 수 있다.

상태 벡터를 다음처럼 확장한다:

$$
\mathbf{x}*t =  \begin{bmatrix} \mathbf{x}*{\text{dyn},,t} \ \boldsymbol{\theta}\_t \end{bmatrix}
$$

여기서 $\mathbf{x}\_{\text{dyn},,t}$는 원래 추적하고자 하는 동적 상태(예: 위치, 속도 등), $\boldsymbol{\theta}\_t$는 센서 바이어스나 스케일 팩터 등의 보정 파라미터다. 센서 측정 방정식에서도 $\boldsymbol{\theta}\_t$를 적용한 형태로 모델링한다. EKF/UKF 또는 파티클 필터 등 적절한 추정 기법을 이용하면, 시간에 따라 변화하는 보정 파라미터를 추적할 수 있다.

센서 제조사가 제공하는 사전 교정 데이터나, 레퍼런스 환경에서 측정한 데이터를 통해 초기 바이어스나 스케일 팩터를 결정하고, 이후 실시간으로 미세한 변화만 추적하는 식도 가능하다. 또한 레이저 스캐너나 카메라 등 지형 기반 센서는 고정된 패턴(체스보드, 신호판)을 관측하여 교정 매트릭스를 추정하고, 이를 필터에 주기적으로 반영하기도 한다.

#### IMU 센서의 예: 드리프트와 랜덤 워크

관성센서(IMU)는 가속도계와 자이로스코프를 포함하며, 일반적으로 노이즈가 매우 크고 드리프트(drift)가 누적된다. IMU 단독으로는 장기적인 정확도가 떨어지므로, GPS나 비전 센서 등 외부 참조를 통해 오류를 보정해야 한다. IMU 잡음 모델은 크게 바이어스(bias) 항, 랜덤 워크(random walk) 항, 화이트 노이즈 항을 포함한다. 이를 확장 상태로 두고, EKF/UKF 등으로 통합 추정하는 것이 보편적인 접근이다.

예시로 자이로 바이어스 $\mathbf{b}\_g$와 가속도계 바이어스 $\mathbf{b}\_a$가 시간이 지남에 따라 랜덤 워크 과정을 따른다고 가정하면:

$$
\mathbf{b}*{g,t+1} = \mathbf{b}*{g,t} + \mathbf{n}*{g,t}, \quad \mathbf{n}*{g,t} \sim \mathcal{N}(\mathbf{0}, \sigma\_g^2 \mathbf{I})
$$

과 같이 모델링할 수 있다. 센서 측정값에서 이 바이어스를 빼 준 뒤, 동적 방정식에 따라 기체(또는 로봇)의 이동 상태를 추정한다. GPS나 비전 기반 위치 측정이 들어오면, 그 시점에 EKF 업데이트를 통해 바이어스 상태도 함께 교정한다.

#### 인터랙팅 멀티모델(IMM) 필터

잡음 특성이 일정하지 않고, 상황에 따라 서로 다른 동적 모델이 번갈아 나타날 때는 인터랙팅 멀티모델(IMM) 필터가 유용하다. 예를 들어 이동 물체가 일정 속도로 주행 중이거나, 급회전 중이거나, 정지 상태일 수 있다면, 각각 다른 상태 천이 모델을 정의하고, 확률적으로 가중 합을 통해 전체 추정값을 산출한다. IMM은 여러 개의 칼만 필터(또는 EKF/UKF)를 병렬로 구동하고, 각 모델에 대한 사후 확률을 업데이트하는 과정을 반복한다. 이렇게 하면 동적 모델의 전환이 자연스럽게 반영되며, 잡음 제거나 신호 복원 성능이 향상될 수 있다.

IMM 필터의 개괄적 순서는 다음과 같다. 우선 다수의 모드(Mode) 필터 각각이 자기 모델에 따라 예측/업데이트를 수행한다. 그런 다음 모드 간 상호 전환확률을 고려해 가중합을 구하고, 전체 추정치를 합성한다. 비선형 문제라면 각 모드를 EKF/UKF 등으로 구성할 수 있다. 이는 센서가 바라보는 대상의 운동 양상이 크게 달라질 때 발생하는 비정상 잡음이나 모델 불일치를 처리하는 데에도 효과적이다.

#### 배경 잡음 모델링과 적응적 공분산 조정

필터 설계 시, 잡음 공분산 $\mathbf{Q}, \mathbf{R}$를 고정값으로 두는 대신, 시간에 따라 동적으로 추정하거나 조정할 수도 있다. 이를 적응적 칼만 필터(Adaptive Kalman Filter)라고 부르며, 측정 잔차의 통계량을 분석해 $\mathbf{Q}, \mathbf{R}$를 수정하는 기법이 널리 쓰인다. 예컨대 측정 잔차의 분산이 예상보다 크면, $\mathbf{R}$를 증가시켜 현재 측정치에 대한 신뢰도를 낮추는 식이다.

센서가 노후화되거나 환경이 바뀜에 따라 잡음 스펙트럼이 달라지면, 한때 유효했던 공분산 매트릭스가 더는 적합하지 않을 수 있다. 특히 레이더나 라이더 센서의 경우, 기상 상태(비, 안개 등)에 따라 잡음 특성이 크게 변하므로, 적응적 공분산 조정이 필수적이다. 이런 접근은 로버스트 필터의 맥락과도 결부되어 이상값 처리에도 활용된다.

#### 비모수적 잡음 모델

지금까지 주로 가우시안이나 랜덤 워크, 1/f 잡음 등 특정 형태를 가정했지만, 실제 센서 데이터가 매우 복잡하게 분포할 수도 있다. 이 경우 비모수적(nonparametric) 방법으로 잡음을 표현하고, 필터링 알고리즘 역시 그 분포를 직접 추정하는 방향을 택할 수 있다. 파티클 필터가 대표적 예시며, 특정 커널(kernels)로 근사하여 확률밀도를 업데이트하는 방법도 연구된다. 이러한 비모수적 접근은 많은 양의 센서 데이터를 학습해, 잡음 분포가 정형화되지 않은 상황에서도 유연한 대응이 가능하게 한다.

#### 신호 재구성(Reconstruction) 관점의 융합

잡음 제거와 신호 복원은 종종 단순 추정 문제를 넘어, 시스템 전체를 묘사하는 해석모델(예: 환경 지도, 3D 구조)을 복원하는 형태로 발전할 수 있다. 예컨대 3D 라이다 스캔 데이터를 여러 차례 취합해, 노이즈를 제거하면서 정밀한 환경 지도를 생성하는 문제를 생각해 볼 수 있다. 이때는 각 스캔에 포함된 오차, 오클루전(가려짐), 난반사 등의 복잡한 잡음 요인이 작용한다. 이를 그래프 최적화나 SLAM 구조에서 반복적으로 융합해, 보다 높은 품질의 3D 맵을 얻는 방향으로 진행한다.

카메라 기반 구조복원(SfM)에도 동일한 개념을 적용 가능하다. 여러 뷰에서의 영상 특징점을 추적해 3차원 점들을 복원할 때, 영상 잡음과 오류 매칭으로부터 발생하는 오차를 최소화하기 위해 루프 폐쇄(Loop Closure), 로버스트 코스트 함수를 함께 사용한다. 이렇게 복원된 모델은, 결과적으로 잡음이 제거된 형태로 해석될 수 있다.

#### 실시간 처리와 최적화 기법

로봇이나 자율주행 시스템에서 센서 융합은 실시간 성능이 중요하다. 많은 고급 기법(예: 그래프 기반 SLAM, 파티클 필터, 대규모 최적화)은 계산 비용이 상당히 크므로, GPU나 FPGA 등의 하드웨어 가속을 병행한다. 혹은 알고리즘 자체의 근사 기법(하위 차원 매니폴드로의 투영, 희소 정규방정식 이용, 분산처리)이 마련되어야 한다. 각 센서의 대역폭, 시간 지연, 에너지 제한 등을 고려할 때, 중앙 집중식으로 모든 데이터를 한꺼번에 처리하기 어려울 수 있다. 이를 극복하기 위해 주변 노드(엣지 디바이스)에서 1차 필터링을 수행하고, 핵심 정보만 요약해 중앙으로 보내는 분산 센서 네트워크 구조가 연구되고 있다.

#### H∞ 필터(H-infinity Filter)

센서 잡음 특성이 잘 모를 때, 혹은 잡음이 확률적 모델보다 최악(어드버서리) 시나리오 관점으로 해석되어야 할 때, H∞ 필터가 유용하다. 전통적인 칼만 필터가 최소 분산(MMSE)을 지향한다면, H∞ 필터는 시스템 모델과 잡음이 불확실성을 가진 상태에서, 입력-출력 에너지 비율을 최소화하도록 설계된다.

이를 위해 목적 함수를 확률적 기대값이 아닌, 게임 이론적 개념에서의 서플라이-게인(sup norm) 혹은 최대값(minimax) 관점으로 삼는다. 비선형 시스템에 대해서도 확장형 H∞ 필터가 개발되어 있는데, 해석과 설계가 복잡해지지만, 모델 오류나 극단적 잡음에 대한 강인성(robustness)을 추구한다.

#### L1 필터와 미니맥스 접근

H∞ 필터와 유사하게, 필터링 과정에서 오차의 L2 노름이 아닌 L1 노름이나, 특정 상태 변수의 최댓값을 최소화하는 접근도 가능하다. 이는 이상값이 분포적으로 드물게 발생하지만, 발생 시 큰 영향을 주는 경우에 효과적이다. 예컨대 L1 필터는 칼만 필터와 달리 추정 오차 제곱합이 아닌 절댓값 합을 최소화하기 때문에, 소수의 이상값이 분산을 크게 키우는 부작용을 막아준다. 다만 이산화(quantile)나 선형계획법(Linear Programming) 형태로 문제를 재정의해야 할 때가 있으며, 구현 난이도가 조금 더 높다.

#### 센서 스케줄링과 가중치 조정

센서를 여러 개 운용할 때, 모든 센서가 항상 활성화되어 있는 것은 아닐 수 있다. 에너지 절약, 네트워크 부하 제약, 혹은 특정 구역에서만 의미 있는 센서가 존재한다는 이유로, 일부 센서를 선택적으로 활성화하는 전략을 쓸 수 있다. 이를 센서 스케줄링(sensor scheduling)이라 부른다.

스케줄링 과정에서 센서별 추정 기여도를 평가하여, 노이즈 특성 대비 추정 효용이 높은 센서를 우선적으로 사용하고, 나머지는 비활성화하거나 샘플링 주기를 늦출 수 있다. 이때 필터 입장에서는 실시간으로 활성 센서 집합을 업데이트받고, 관측 행렬 $\mathbf{H}$와 잡음 공분산 $\mathbf{R}$을 동적으로 수정해가면서 상태 추정을 진행해야 한다. 센서별 가중치 역시 센서 상태나 환경 노이즈 수준에 따라 조절할 수 있다.

#### 센서 고장 감지와 폴트 토러런스

센서 퓨전에서는 일부 센서가 고장났을 때도 시스템이 무너지지 않고 동작을 지속해야 한다. 이를 폴트 토러런트(fault-tolerant) 설계라고 한다. 센서 출력이 특정 패턴을 보이며 급격하게 이상값이 증가한다면, 해당 센서를 임시로 신뢰하지 않는 방향으로 오차 공분산을 크게 설정하거나, 센서 업데이트를 배제하는 로직이 필요하다.

고장 감지(fault detection) 모듈을 별도로 두어, 센서별 잔차(résidual)나 모델 불일치를 추적하고, 임계값을 넘으면 고장 플래그를 띄우게 할 수도 있다. 복수 센서가 상호 검증(cross-check)을 할 수 있는 조건에서는, 센서 간 일관성 검사(consistency check)로 고장 센서를 판별하기도 한다. 이렇게 하면 센서 하나가 망가져도 나머지 센서의 정보로 추정이 계속 가능해진다.

#### 딥러닝 기반 보정과 잡음 제거

최근 연구 동향 중 하나는, 기존 칼만 필터나 파티클 필터 등 확률적 모델에 더해, 딥러닝을 이용해 보정 함수를 학습시키는 방식이다. 예컨대 신경망이 “센서 입력 → 보정 파라미터(또는 보정된 상태)”를 매핑해 주고, 그 출력값을 칼만 필터의 측정치로 사용한다. 혹은 필터가 산출한 잔차를 신경망에게 추가 입력으로 주어, 센서 고유 잡음 특성이나 비선형 왜곡을 추정하게 할 수도 있다.

이 방법은 데이터가 충분히 많고, 실제 작동 환경과 유사한 조건에서 학습이 가능해야 높은 성능이 보장된다. 학습 범위를 벗어난 영역에선 예상치 못한 추정 오류가 발생할 수 있으므로, 필터의 불확실성 정보(공분산)와 결합해 신뢰도 관리를 하는 방안이 연구된다.

#### 이동 로봇과 자율주행 사례

다중 센서를 활용하는 대표적 응용 중 하나가 자율주행 차량이다. 여기서는 카메라, 레이다, 라이더, GPS, IMU, 초음파 센서 등 다양한 정보를 융합해야 하며, 각 센서의 잡음 특성이 다르고 시점이 어긋날 수 있다. 잡음 제거와 신호 복원을 위해 일반적으로 IMU와 GPS를 결합한 EKF/UKF를 베이스로 하고, 라이더나 카메라로부터 얻는 상대 위치∙맵 정보는 그래프 최적화로 통합한다. 레이다는 날씨나 조도에 관계없이 안정적 거리를 측정하지만 해상도가 낮고, 카메라는 시각 특징에서 풍부한 정보를 얻지만 조도 변화나 가려짐에 취약하다. 이 모든 특징을 최적 조합하기 위해서는 센서별 잡음 모델링, 교정(캘리브레이션), 비선형 필터링, 이상값 제거가 복합적으로 이뤄진다.

#### 이벤트 기반 센서

전통적인 센서는 일정 주기로 프레임(frame)이나 샘플 값을 출력하지만, 이벤트 카메라 같은 신개념 센서는 화소 단위로 밝기 변화가 있을 때만 이벤트를 발생시킨다. 이런 형태의 센서 신호는 기존 시계열 필터와는 다른 방식으로 처리해야 한다. 이벤트가 발생한 시점과 좌표에서만 측정값이 있으며, 배경이 정적일 경우 거의 이벤트가 없다. 잡음 제거와 신호 복원 역시 이벤트 스트림을 누적하거나, 이벤트 사이의 빈 구간을 추정하는 방식으로 이뤄진다. 이벤트 기반 SLAM, 이벤트 기반 영상 복원 등 최신 연구 분야에서, 기존 칼만 필터나 그래프 최적화 기법을 변형하거나, 스파스 도메인 처리를 적용해 빠른 움직임에 대응한다. 이벤트 센서의 잡음 모델은 전압 변화나 광학 과도 현상으로 인해 일반 영상 센서와 달라, 별도의 통계적 분석이 필수적이다.

#### 적응적 비선형 최적화

비선형 잡음 모델과 동적 시스템을 다룰 때, 시스템이 시간에 따라 모형 자체가 변할 수도 있다. 예컨대 로봇 팔이 링크별로 마찰계수가 달라지거나, 온도 변화로 인해 힘-토크 센서 특성이 달라지는 식이다. 이를 처리하기 위해, 비선형 최적화 문제의 파라미터를 순차적으로 재추정하는 적응적(Adaptive) 메커니즘을 도입하기도 한다. 이 메커니즘은 시스템 식의 일부를 온라인으로 갱신하거나, 정규화 항을 두어 과도한 모델 변화는 억제하고 합리적인 범위 내에서만 추적한다.

파티클 필터나 그래프 최적화 맥락에서도, 적응적 요소를 넣어 점진적으로 (시스템, 잡음) 파라미터를 바꿔가며 필터링과 최적화를 동시 수행하는 일이 가능하다. 중요한 것은 추정 안정성을 해치지 않도록, 모델 파라미터와 상태 벡터의 상호 의존성을 충분히 고려하는 것이다.

#### 배치 처리 vs 온라인 처리

센서 퓨전에서 잡음 제거와 신호 복원은 크게 두 가지 방식으로 나뉜다.

* 하나는 온라인(순차) 처리로, 칼만 필터류나 적응 필터처럼 데이터가 들어오는 즉시 추정값을 갱신하는 구조다. 실시간 제어나 로봇 응용에 필수적이다.
* 다른 하나는 배치(batch) 처리로, 일정 구간 혹은 전체 구간 데이터를 모아서 한 번에 최적화하는 방식이다. 그래프 기반 SLAM이나 후처리(post-processing) 분석에 많이 쓰이며, 전체 데이터를 반복해서 재추정하기 때문에 잡음 제거 성능이 높은 편이다.

이 둘을 혼합한 구조로 슬라이딩 윈도우나 증분(incremental) 최적화를 수행할 수도 있다. 이는 어느 정도의 과거 데이터를 유지하면서, 온라인 업데이트와 유사한 형태로 최적화 문제를 단계적으로 확장∙재계산한다.

#### 미래 전망: 다중 모달 데이터와 초대규모 센서

최근에는 센서 퓨전이 단순한 물리 측정값(온도, 압력 등)을 넘어, 이미지∙음성∙텍스트 같은 고차원 모달리티를 모두 포함하는 방향으로 확장되고 있다. 자율주행이나 스마트 팩토리 환경에서는 수백\~수천 개의 센서가 동시에 데이터를 뿌리고, 이 정보를 통합해 의사결정까지 해야 한다.

이에 따라 분산 처리, 임베디드 AI, 클라우드 엣지 협업 등이 부상하고 있으며, 잡음 제거나 신호 복원 문제도 단일 장치에서의 필터 설계보다는, 네트워크 전체 차원에서 통합 모델을 구성해야 하는 이슈가 대두된다. 분산 센서 네트워크에서 중앙 집중 없이 독립적으로 데이터를 융합하는 데 필요한 알고리즘(예: Consensus 필터, Decentralized Kalman Filter)도 활발히 연구 중이다.

#### 임베디드 시스템에서의 실시간 구현

이론적 필터나 최적화 기법이 아무리 우수해도, 임베디드 환경(마이크로컨트롤러, DSP 등)에서 실시간으로 구현하기 위해서는 메모리 제약, 연산 속도 제약, 부동소수점 정밀도 등의 문제가 따른다. 특히 로봇이나 자동차에 내장되는 센서 퓨전 모듈은 하드웨어 자원이 제한적이므로, 필터 차원을 지나치게 크게 잡으면 연산시간이 요구 속도를 초과할 수 있다.

이를 해결하기 위해 다음과 같은 방식이 활용된다.

* 상태 차원을 축소하거나, 행렬 연산 시 희소성(sparsity)을 활용해 계산량을 줄인다.
* 고정소수점(fixed-point) 연산으로 전환하여 빠른 처리를 노리되, 오차가 심해지지 않도록 정밀도 스케일을 적절히 설정한다.
* EKF/UKF, 파티클 필터 등의 핵심 연산(야코비 계산, 샘플링, 가중치 계산)에 대해 루프 전개(loop unrolling), 벡터화(vectorization), DSP 명령어 최적화를 적극 적용한다.
* 중요 구간만 필터 업데이트를 촘촘히 하고, 나머지 구간은 저빈도 업데이트로 넘어가는 식의 이벤트 기반 제어(Event-triggered Control)를 도입하여 연산 부하를 억제한다.

주파수 도메인 필터나 웨이블릿 기반 처리 역시, 임베디드에서 실시간 수행하기엔 FFT(또는 DWT) 등의 계산이 큰 부담이 될 수 있다. 그래서 하드웨어 가속을 지원하는 MCU나 FPGA, 혹은 CNN 가속이 가능한 임베디드 GPU 등을 활용하기도 한다.

센서 퓨전의 반복 최적화(그래프 SLAM 등)를 반드시 온보드에서 전부 처리할 필요가 없는 경우, 엣지-클라우드 협업 구조로 계산 부하를 분산하는 접근도 시도된다.

#### 잡음 통계 추정과 실험 설계(DoE)

센서 퓨전에서 잡음을 제대로 제거하려면, 그 잡음이 갖는 통계적 특성을 사전에 정확히 파악해야 한다. 이를 위해 실험 설계(Design of Experiments, DoE) 기법을 활용해, 다양한 온도∙습도∙조도∙진동 등 환경 변수 하에서 센서를 측정하고, 충분한 데이터 표본을 모아서 확률 분포를 추정한다. 이렇게 얻은 경험적 통계량을 바탕으로, 필터나 최적화 알고리즘의 파라미터($\mathbf{Q}, \mathbf{R}$ 등)를 설정한다.

만약 센서 제조사의 스펙시트에 명시된 잡음분산(예: 자이로 노이즈 PSD)이 실제 사용 환경과 다른 경우가 많다면, 별도의 캘리브레이션 시험을 통해 더 적합한 잡음모델을 구할 필요가 있다. 드물게는 센서별 편차(개체간 편차)가 커서, 각 기기마다 다른 파라미터를 써야 할 수도 있다.

#### 동작 환경별 예측 가능 잡음

특정 유형의 센서 노이즈는 완전히 랜덤하지 않고, 환경 요인에 따라 일정 패턴을 보인다. 예컨대 초음파 센서는 온도나 습도, 압력에 따라 음속이 달라지므로, 그에 맞춰 거리 측정값이 체계적으로 바뀐다. 레이더 센서는 비나 눈이 내릴 때 반사 특성이 변하며, 라이다는 안개가 짙을 때 빔이 소산되어 측정 오차가 커진다.

이처럼 외부 환경의 변화가 센서 잡음에 미치는 영향을 모델링할 수 있다면, 적응적 공분산이나 교정 함수를 통해 잡음 제거 성능을 크게 높일 수 있다. 예를 들어 온도 측정기를 추가로 설치하여, 이 온도값을 이용해 초음파 거리측정 센서의 공분산을 동적으로 조정하면, 실제 오차와 필터 모델 간 일치를 개선할 수 있다.

#### 신뢰도 모델링과 확률적 가중치

여러 센서가 동시에 데이터를 보내지만, 그 중 어떤 센서는 특정 환경에서 신뢰도가 떨어진다면, 필터의 업데이트 단계에서 가중치를 낮추거나 공분산을 크게 설정해야 한다. 이 신뢰도는 센서 내부 진단값, 환경측정값, 잔차 분석 등을 통해 동적으로 결정할 수 있다.

예를 들어 레이더 센서에 빗방울이 튀거나, 카메라 렌즈에 물방울이 맺혀서 신호 품질이 저하될 때, 시스템은 레이더∙카메라 관측치의 가중치를 일시적으로 감소시킬 수 있다. 이를 확률적(혹은 경험적) 모델링으로 나타내어, $\mathbf{R}$ 행렬의 특정 요소를 환경에 따라 증감시키는 식이다.

#### 예제 코드(Python)

아래는 간단한 칼만 필터 예제 코드다. 가상의 1차 시스템(상태 1차원)에서 노이즈를 추가한 관측을 칼만 필터로 추정하는 과정을 보여준다.

```python
import numpy as np
import matplotlib.pyplot as plt

# 시뮬레이션 길이
T = 50
# 실제 시스템: x_{t+1} = x_t + w_t
# 관측 모델: z_t = x_t + v_t

# 실제 상태 생성
np.random.seed(0)
Q = 1.0  # 공정 잡음 분산
R = 2.0  # 측정 잡음 분산
x_true = np.zeros(T)
z_meas = np.zeros(T)

x_true[0] = 0.0
for t in range(1, T):
    x_true[t] = x_true[t-1] + np.random.normal(0, np.sqrt(Q))
for t in range(T):
    z_meas[t] = x_true[t] + np.random.normal(0, np.sqrt(R))

# 칼만 필터 초기화
x_est = np.zeros(T)
P_est = np.zeros(T)
x_est[0] = 0.0
P_est[0] = 1.0

for t in range(1, T):
    # 예측 단계
    x_pred = x_est[t-1]
    P_pred = P_est[t-1] + Q
    
    # 업데이트 단계
    K = P_pred / (P_pred + R)  # 칼만 이득
    x_est[t] = x_pred + K * (z_meas[t] - x_pred)
    P_est[t] = (1 - K) * P_pred

# 그래프 출력
plt.plot(x_true, 'g-', label='True State')
plt.plot(z_meas, 'r.', label='Measurements')
plt.plot(x_est, 'b--', label='Kalman Estimate')
plt.legend()
plt.title("Simple 1D Kalman Filter Example")
plt.show()
```

여기서는 단순 1차 동적 모델을 사용했지만, 실제 센서 데이터 처리에서는 $\mathbf{x}\_t, \mathbf{z}\_t, \mathbf{Q}, \mathbf{R}$가 행렬 형태로 훨씬 복잡해지고, 비선형일 가능성도 크다. 그럴 때는 EKF나 UKF와 같은 기법을 적용한다.

#### 산업 분야 적용 사례

지금까지 설명된 기법들은 다양한 산업 분야에서 적용 가능하다. 예를 들어

* 제조 공정: 여러 센서(온도, 압력, 유량, 진동 등)를 모니터링하여 공정 품질을 예측. 스무딩이나 이상값 제거로 안정적인 제어에 활용.
* 항공우주: INS/GNSS 융합으로 항공기, 드론, 위성의 자세∙위치 추정. 고고도나 전리층 요인으로 GPS 오류가 커질 때 적응적 공분산 조정.
* 헬스케어 기기: 웨어러블 센서(심박, 산소포화도, 동작 센서 등)에서 잡음 제거 후 생체 신호 추출. 비선형 필터로 개인별 편차 추정.
* 재난∙안전: 지진계, 기압계 등에서 얻은 잡음 많은 측정치를 정교하게 결합해 지반 변위, 구조물 안전도 추정.

각 분야별로 센서 배치, 데이터 처리 주기, 위험도 수준이 다르므로, 전처리와 필터링 전략이 달라질 수 있다.

#### 잔차 분석과 진단

잡음 제거가 끝난 뒤, 필터 내부 혹은 최적화 과정에서 생성된 잔차(residual)나 로그 데이터를 분석해 시스템 진단에 활용할 수 있다. 예컨대 칼만 필터의 측정 잔차가 일정 분포(대체로 가우시안)를 벗어나서 심하게 편향되거나, 분산이 예상보다 훨씬 커졌다면, 센서 교정이 틀어졌거나 모델 불일치가 심화된 것으로 판단할 수 있다. 잔차에 대한 통계적 모니터링(SP 차트, 히스토그램, Q-Q 플롯 등)을 주기적으로 수행하면, 시스템 운영 중에 발생하는 이상 상태를 조기에 탐지하고 대처할 수 있다.

#### 성능 평가 지표와 검증

센서 퓨전 시스템에서 잡음 제거와 신호 복원의 품질을 평가하기 위해 여러 가지 성능 지표를 활용할 수 있다. 대표적으로 평균제곱오차(MSE), 평균절댓값오차(MAE), 루트평균제곱오차(RMSE)가 있다. 실제 참값을 알고 있을 경우, 필터 출력을 참값과 직접 비교해 이러한 지표를 계산하면 된다. 센서 환경이 복잡하거나 일부 상태의 참값을 정확히 모를 때는, 잔차(residual) 분포나 공분산 일관성(consistency)을 점검하는 방식으로 우회적 검증을 수행할 수 있다.

시계열 신호의 경우, 주파수 영역에서 신호 대 잡음비(SNR)를 측정하거나, 푸리에 스펙트럼 분석을 통해 특정 주파수 대역에서 잡음 세기가 얼마나 감소되었는지 확인하는 방법도 존재한다. 영상 처리 분야에서는 피크 신호 대 잡음비(PSNR)나 구조적 유사도 지표(SSIM)처럼 이미지 품질 평가에 특화된 지표가 쓰이며, 3D 센서 데이터의 경우 표면 정합 오차나 점군(point cloud)의 국소적 변위 등을 이용해 잡음이 얼마나 줄어드는지 살핀다.

성능 평가 시, 필터 내부에서 계산되는 공분산(추정치의 불확실도)이 실제 오차 통계와 부합하는지도 중요한 고려 사항이다. 만일 공분산이 지나치게 작게 계산되면 과신(overconfidence) 문제가 생기고, 반대로 필요 이상으로 크게 계산되면 시스템 활용도가 저하된다. 실제 오차 통계와 필터가 예측한 오차 공분산 간의 일관성을 검사하는 여러 기법(CR bound 비교, NEES 검사 등)이 알려져 있다.

#### 테스트 및 검증(Validation) 전략

실험실 환경에서 센서 퓨전 알고리즘을 개발할 때, 시뮬레이터나 레퍼런스 장치로부터 획득한 데이터셋을 이용해 테스트하는 경우가 많다. 시뮬레이션 환경에서는 다양한 잡음 시나리오를 인위적으로 부가할 수 있고, 참값(그라운드 트루스)을 명확히 알 수 있어 알고리즘 성능을 쉽게 정량 평가할 수 있다.

현장 적용을 위해서는 파일럿 테스트나 데모 환경에서 실제 센서를 운용하며, 모델 불일치가 어느 정도 있는지 파악해야 한다. 개발 단계에서 추정한 잡음 공분산이나 모델 파라미터가 현장에서는 달라질 수 있으므로, 이를 적응적으로 보정하는 단계가 필수적이다. 잔차 분석, 오류 로그 기록, 성능 지표 실시간 모니터링 등을 병행하면, 운영 초기에 예기치 못한 이상값이나 센서 고장을 빠르게 감지할 수 있다.

완전히 제어된 실험실 환경보다 예측 불가능한 요소가 많은 현장 실험에서, 데이터가 풍부하게 쌓일수록 시스템의 신뢰도가 올라간다. 필요하면 실시간 수집 데이터를 클라우드로 전송해 후처리(batch optimization)로 재평가하고, 새로 추정된 모델 파라미터를 다시 임베디드 필터로 내려받는 식의 재귀적 개선 프로세스가 가능하다.

#### 다양한 응용 시 고려 사항

실제로 잡음 제거와 신호 복원 기법을 적용할 때는 여러 현실적인 요인을 추가로 고려해야 한다. 센서가 다루는 대상의 물리적 특성, 측정 환경의 안정성, 통신 지연이나 패킷 손실, 가용 연산 자원, 유지보수 정책 등이 상호 복합적으로 작용하기 때문이다.

산업용 로봇 팔에서는 높은 주파수로 각 조인트 각도를 센싱하므로, 잡음 제거 필터의 응답 속도가 충분히 빨라야 충돌 방지나 정밀 궤적 추적이 가능해진다. 반면 대규모 IoT 네트워크의 환경 측정 시스템에서는 센서 노드가 저전력·저비용이므로, 간단한 이동평균 필터나 적응 필터 정도만 임베디드 처리하고, 복잡한 최적화는 서버 측에서 수행하는 구조를 택할 수도 있다.

자율주행차나 드론처럼 안전 중요도(Safety-critical)가 높은 분야에서는 이상 상태가 발생했을 때 즉시 안전 모드로 전환할 수 있도록, 필터나 센서에서 특정 경계를 넘어서는 이상값에 대해 제한 동작 모드를 지시하는 로직을 준비해야 한다. 이 경우 필터 설계뿐 아니라 오류 진단, 우회로(backup path) 설계도 동시에 이뤄진다.

#### 실시간 대응과 예측

잡음 제거는 과거 및 현재 시점의 데이터를 처리하는 것에 그치지 않고, 가까운 미래 상태까지 예측(predict)하고, 필요하면 신호를 보완해 시스템 제어에 활용하기도 한다. 칼만 필터류나 모델 예측 제어(MPC)는 이러한 미래 예측이 가능하며, 센서잡음이 커질 때 어떻게 제어 입력을 조정해 추정 정확도를 유지할지 결정할 수 있다. 예컨대 IMU가 단기간 정확도를 보장해 주더라도, 장기적으로 GPS 측정과의 결합이 없다면 드리프트가 누적될 수 있으므로, 미래 어느 시점에 GPS 수신 가능 지역으로 접근해야 할지를 제어 차원에서 고려할 수도 있다.

#### 대규모 센서 네트워크와 분산 필터링

현대 IoT나 스마트시티, 대규모 로봇 협업 환경에서는 센서가 수십\~수백 개에 달할 수 있으며, 모든 데이터를 한 지점에서 통합 처리하기 어렵다. 이때는 각 노드가 로컬 센서 데이터를 부분적으로 필터링/압축하고, 인접 노드 간에 정보를 교환하여 전체적으로 상태 추정을 향상시키는 분산 필터 구조가 유용하다. 분산 칼만 필터(Distributed Kalman Filter), 합의 필터(Consensus Filter) 등이 대표적이다.

분산 필터에서는 노드 간에 상태추정치와 오차 공분산, 혹은 인포메이션 폼 정보를 공유하는 방안이 일반적이다. 교차공분산을 정확히 추적하기 어려운 상황에선 Covariance Intersection 기법이 유용하다. 이러한 분산 방식은 네트워크 연결이 불완전하거나 지연이 존재해도, 부분적으로 일관성 있는 추정이 가능하다는 장점이 있다.

#### 최적화와 확률론의 접목

비선형·고차원 센서 퓨전 문제는 자칫 복잡도 폭발로 이어질 수 있다. 이런 문제를 풀기 위해 스파스 최적화, 정규화 기법(L1, TV, 그룹 정규화 등), 라그랑주 이중화(ADMM), 변분 추론(Variational Inference), MCMC 기반 샘플링 등 확률론과 최적화 기법을 폭넓게 융합하는 연구가 활발하다. 예컨대 그래프 기반 SLAM에선 루프 폐쇄를 고려한 거대 규모의 비선형 최소자승 문제를 해결하기 위해 가우스-뉴턴, Dogleg, Levenberg-Marquardt 알고리즘에 희소 행렬 연산을 적용한다. 파티클 필터나 변분 베이지안 기법을 병행해 이상값 처리와 파라미터 추정을 함께 할 수도 있다.

추가로, 특정 동작 환경이나 로봇 플랫폼에 대해 성능이 충분히 검증되면, 해당 설정을 하드코딩하거나 딥러닝으로 모델링해 추론 속도를 획기적으로 높이는 일도 시도된다. 결국 문제 규모나 정확도 요구사항, 구현 자원 등을 균형 있게 고려하여, 가장 적절한 방법론을 선택·결합해야 한다.

#### 대신

앞서 언급된 모든 기법은 서로 대체 관계라기보다 상호 보완적이다. 잡음 제거와 신호 복원이라는 공통 목적 아래, 센서 특성, 모델 복잡도, 환경적 조건, 계산 자원, 신뢰도 기준 등에 따라 최적 조합을 찾는 것이 중요하다. 실전 프로젝트에서는 먼저 단순 모델로 시작해 빠른 프로토타이핑을 거친 뒤, 점차 비선형성이나 이상값, 분산 네트워킹 등 고급 요소를 단계적으로 접목해 가는 방식이 자주 쓰인다.

#### 추가 연구 방향과 과제

센서 기술과 계산 능력이 발전함에 따라, 기존 필터링 이론과 최적화 기법을 더 확장하거나 변형해 적용해야 하는 문제들이 계속 등장하고 있다. 고차원 복잡계에서는 상태 공간이 거대해지면서, 기존 가우시안 칼만 필터 접근만으로는 충분치 않다. 비정형 센서(예를 들어 생체신호, 대규모 이미지∙음성 스트리밍), 이벤트 기반 센서, 그리고 도심 환경에서의 다중 라이다 등 새로운 센싱 방식이 늘어날수록, 잡음 특성과 모형 불일치 현상은 더 복잡해진다.

센서 융합 프로세스에서 발생하는 대량의 실측 데이터를 신경망이 사전에 학습해 잡음 제거를 보조하거나, 모델 기반 필터링과 데이터 기반 학습을 하이브리드로 결합하는 연구가 활발하다. 딥러닝 접근은 특정 환경이나 센서 조건에서 매우 높은 성능을 보이는 반면, 범용성이나 신뢰도 보장이 필터 이론만큼 확실치 않으므로, 두 영역 간 균형이 과제가 된다.

임베디드∙엣지 디바이스에서도 분산 학습이나 경량화된 모델을 이용해 실시간 융합을 수행하는 시도가 늘고 있다. 이때는 각 디바이스가 부분적으로만 잡음 제거를 하고, 중앙 노드나 클라우드가 필요 시 더 정교한 후처리(스무딩, 그래프 최적화)를 수행해 결과를 되돌려주는 구조를 채택한다. 네트워크 지연이나 통신 에러가 항상 발생할 수 있으므로, 폴트 토러런스를 함께 설계해야 한다.

현장 적용에서 잡음 제거와 신호 복원이 성공적으로 이뤄지려면, 센서 선택부터 실험 설계, 통계적 모델링, 필터 파라미터 튜닝, 실시간 구현, 성능 검증, 유지보수까지 전 과정을 유기적으로 조율해야 한다. 온도∙습도∙빛∙바람∙전기적 간섭 등 물리 환경 변화가 지속해서 잡음 특성에 영향을 주기에, 그때그때 파라미터나 모델을 재적응시키는 방안이 점차 표준적인 선택지가 되고 있다.

데이터가 쌓일수록 더욱 정교한 통계 추정과 모델 업데이트가 가능해지므로, 이를 어떻게 체계적으로 반영하여 필터나 최적화 기법의 성능을 향상할지, 그리고 분산 센서 네트워크에서 지능형 진단∙복원 기능을 자율적으로 확장할 수 있을지가 중요한 연구 과제로 남아 있다.
