# 센서 노이즈 특성 분석

#### 센서 노이즈의 일반적 개념

센서 노이즈는 센서를 통해 물리량을 측정할 때 나타나는 측정 오차 혹은 불확실성을 의미한다. 센서가 이상적인 상황에서 동작한다고 가정하면, 출력 측정값은 실제 물리량과 일치해야 한다. 그러나 현실적으로 전자회로의 열잡음, 양자화 오차, 외부 환경의 간섭 등에 의해 출력 값에는 무작위 변동이 포함된다. 이 변동은 센서 종류, 사용 환경, 측정 방법 등에 따라 다양한 양상을 보인다. 이러한 노이즈를 이해하고 정량적으로 표현하면 센서 입력 정보의 신뢰도를 추정할 수 있으며, 이는 센서 퓨전 알고리즘에서 필수적인 정보로 활용된다.

노이즈를 다룰 때는 통계적 관점이 중요하다. 특정 분포를 가정해 평균, 분산 등 통계적 특성을 분석하고, 그 결과를 통해 여러 알고리즘(예: 칼만 필터)의 입력 파라미터를 설정하거나 센서 데이터를 후처리한다. 센서 노이즈는 크게 편향(bias), 스케일 요인(scale factor) 오차, 무작위 잡음(random noise) 등으로 세분화하여 다루는 경우가 많다. 편향이나 스케일 요인 오차는 일정 패턴을 가지는 편차로, 보정(calibration)을 통해 사전에 줄이거나 추정할 수 있다. 반면 무작위 잡음은 측정 시점마다 달라지는 불확실성으로, 확률 과정(stochastic process)을 통해 모델링한다.

센서 측정 모델은 일반적으로 다음과 같은 형태로 표현한다. 센서가 측정하는 실제 물리량을 $\mathbf{x}(t)$라 할 때, 센서 출력 $\mathbf{z}(t)$는 다음과 같다.

$$
\begin{align} \mathbf{z}(t) = \mathbf{h}(\mathbf{x}(t)) + \mathbf{v}(t) \end{align}
$$

여기서 $\mathbf{h}$는 측정 시스템(센서, 변환기, ADC 등)의 동특성 및 비선형성을 반영하는 함수이고, $\mathbf{v}(t)$는 노이즈를 나타내는 항이다. 많은 경우, $\mathbf{h}$가 선형이라고 가정하거나, 측정 범위를 좁혀서 국소적으로 선형 근사(linear approximation)를 수행한다. 이 경우 $\mathbf{z}(t) \approx \mathbf{H},\mathbf{x}(t) + \mathbf{v}(t)$ 형태가 되어 칼만 필터 등 선형 필터 설계를 용이하게 한다.

#### 확률적 모델링과 통계적 특성

노이즈 $\mathbf{v}(t)$가 어떠한 확률 분포를 따른다고 가정하면, 그 분포에 의해 센서 측정값의 성향을 파악할 수 있다. 일반적으로 가장 자주 사용되는 가정은 가우시안(정규 분포) 노이즈이다. 이는 중심극한정리와 실험적 편의성, 그리고 수학적 단순성으로 인해 널리 적용된다.

가우시안 노이즈 모델에서 $\mathbf{v}(t)$는 시간마다 독립적이고 동일하게 분포(i.i.d.)한다고 가정하는 경우가 많다. 이때 각 시점 $t$에서 노이즈 $\mathbf{v}(t)$는 평균이 0이고 공분산(분산)이 $\mathbf{R}$인 다변량 정규 분포를 만족한다고 본다. 즉,

$$
\begin{align} p(\mathbf{v}(t)) = \frac{1}{\sqrt{(2\pi)^n \det(\mathbf{R})}}  \exp\Bigl(-\tfrac{1}{2}\mathbf{v}(t)^\mathsf{T},\mathbf{R}^{-1},\mathbf{v}(t)\Bigr) \end{align}
$$

여기서 $\mathbf{v}(t) \in \mathbb{R}^n$, $\mathbf{R}$은 $n\times n$ 대칭 양의정부호 행렬이다. 평균이 0이 아닌 경우에는 측정에 상시 포함되는 편향이 존재한다고 볼 수 있다.

노이즈가 가우시안이라고 가정했을 때, 칼만 필터를 비롯한 베이즈 추정 기법의 여러 방정식이 단순해지고, 해석 및 구현이 쉬워진다. 하지만 실제로는 가우시안 분포에서 벗어나는 노이즈가 나타나기도 한다. 예컨대 센서 표면에 먼지가 누적되면 특정 방향으로만 오차가 치우치는 편향성 노이즈가 발생하거나, 외부 전자기 간섭(EMI) 같은 이벤트성 잡음이 발생하면 가우시안 분포의 꼬리(tail)가 두터워질 수 있다. 따라서 센서 노이즈가 가우시안 분포를 정확히 따르지 않는다면 보다 복합적인 모델링을 고려해야 한다.

또한 노이즈의 동적 특성을 반영하기 위해 시변성(time-varying)이나 상관성(correlation)을 고려하기도 한다. 실제 환경에서는 노이즈 항이 시간적으로 독립적이지 않고 자기상관(autocorrelation)을 지닐 수 있다. 이를 모델링하기 위해서는 잡음이 특정 오토리그레시브 프로세스(AR)나 마코프 프로세스 등을 따른다고 가정하여 확률적 기술을 확장한다.

#### 시간영역 해석

센서 노이즈의 시간영역 해석은 보통 자기상관함수(autocorrelation function)를 통해 이루어진다. 시점 $t\_1$와 $t\_2$에서의 노이즈 $\mathbf{v}(t\_1)$, $\mathbf{v}(t\_2)$의 관계를 살펴봄으로써, 노이즈가 시간적으로 어떤 종속성을 갖는지 추정한다. 스칼라 노이즈 $v(t)$의 경우, 자기상관함수는

$$
\begin{align} R\_v(\tau) = E\bigl\[v(t),v(t+\tau)\bigr] \end{align}
$$

로 정의된다. 시간영역에서 이 함수를 잘 관찰하면, 노이즈가 백색(white) 특성을 가지는지, 아니면 장기 의존도가 있는지 등을 정성적으로 판단할 수 있다. 예컨대 완전한 백색 가우시안 노이즈라면 자기상관함수가 시간 지연 $\tau$가 0일 때만 큰 값을 가지다가, $\tau\neq 0$에서는 거의 0이 된다.

현실에서는 완벽한 백색 노이즈가 아니라 저주파수 구간에서 1/f 형태의 스펙트럼을 가지거나, 특정 공진 주파수에서 에너지가 몰려 있는 컬러드(colored) 노이즈가 나타날 수 있다. 이러한 경우 노이즈가 시간적으로 일정 패턴을 가질 수 있기에, 자율 주행이나 항법 센서 등 장시간 측정이 중요한 분야에서는 시간영역에서 노이즈의 추세를 관찰하고 모형화하는 일이 매우 중요하다.

#### 주파수영역 해석

노이즈의 특성을 더 면밀히 분석하기 위해서는 주파수영역에서 해석하는 방법이 널리 사용된다. 특정 주파수 대역에 분산이 집중되어 있거나, 저주파에서 크기가 큰 플리커(flicker) 노이즈가 존재하는지 등을 파악하기 쉽기 때문이다. 가장 대표적인 분석 방법은 파워 스펙트럼 밀도(PSD, Power Spectral Density)를 구하는 것이다.

시간영역에서의 자기상관함수와 주파수영역에서의 PSD는 위너-힌친 정리에 의해 한 쌍의 푸리에 변환관계를 가진다. 스칼라 노이즈 $v(t)$에 대해 PSD를 $S\_v(\omega)$라 하면,

$$
\begin{align} S\_v(\omega) = \int\_{-\infty}^{+\infty} R\_v(\tau) , e^{-j,\omega,\tau}, d\tau \end{align}
$$

로 정의된다. 만약 노이즈가 백색 노이즈라면 $S\_v(\omega)$가 거의 모든 주파수 영역에서 일정하게 분포하고, 1/f 노이즈라면 저주파수 부분에서 PSD가 크게 나타난다.

센서 퓨전 단계에서 특정 센서의 노이즈가 주파수영역에서 어떻게 분포하는지 미리 파악하면, 필터 설계나 보정 기법에서 큰 이점을 얻을 수 있다. 예를 들어 저주파수 대역에서 잡음이 큰 센서 데이터를 사용할 때는 로우패스 필터보다 대역차단 특성을 갖는 필터를 택하여 원하는 구간만 추출하거나, 혹은 해당 주파수 대역에서 더욱 정확한 센서를 보완적으로 활용하는 식의 퓨전 전략을 세울 수 있다.

#### 노이즈 유형별 모델링

센서 노이즈는 매우 다양한 형태로 나타나기 때문에, 측정 상황에 따라 각각의 노이즈 특성을 잘 구분해서 모델링하는 일이 중요하다. 대표적인 유형으로는 백색 노이즈(white noise), 랜덤 워크(random walk), 바이어스 불안정(bias instability), 플리커(flicker) 노이즈, 외란 및 충격성 노이즈 등이 있다. 이를 더 구체적으로 분석하기 위해서는 통계적 기법뿐 아니라, Allan 분산(Allan variance) 등 시간영역에 특화된 분석도구를 함께 활용한다.

노이즈 모델은 센서가 특정 주파수 대역에서 어떤 특성을 보이는지, 시간에 따른 드리프트가 있는지를 반영하기 위해 주파수영역 분석과 시간영역 분석을 병행하여 확정한다. 간단한 예로, 관성센서(IMU)의 각속도 측정오차를 모델링할 때 백색 노이즈(gyro noise density)와 랜덤 워크, 바이어스 드리프트를 동시에 고려하는 방법이 널리 쓰인다.

노이즈 항을 $\mathbf{v}(t)$라 할 때, 노이즈 모델을 유도하기 위해서는 센서 출력을 오래 측정하여 통계적으로 분석한다. 다양한 방법 중 핵심이 되는 접근은 센서 출력이 시간이 지날수록 어떻게 변동하는지 관찰하고, 이를 서로 다른 노이즈 항의 합으로 분해하는 것이다. 예를 들어, 장기적으로는 바이어스 드리프트(bias drift)가 지배적이지만, 단기적으로는 백색 노이즈가 센서 데이터의 주요 원인일 수 있다. 이런 식으로 노이즈를 분해하면 센서 데이터가 시계열적으로 어떤 거동을 보이는지 더 잘 이해할 수 있고, 퓨전 알고리즘에서 보다 세밀한 오차 모델링이 가능해진다.

**백색 노이즈(White Noise)**

백색 노이즈는 시간영역에서 자기상관함수가 $\tau=0$일 때만 큰 값을 가지는 노이즈를 말한다. 주파수영역에서 일정한 PSD 스펙트럼을 가지고, 가장 이상적이면서도 단순한 형태다. 실제 센서에서는 고주파 대역에서 주로 전자회로 열잡음 등으로 인해 백색 노이즈 성분이 많이 나타난다. 센서 퓨전에서 가장 흔하게 가정하는 형태이므로, 센서 측정 모델링 시 우선적으로 고려되는 항이다.

**랜덤 워크(Random Walk)**

랜덤 워크는 백색 노이즈가 시계열적으로 적분 효과를 일으킬 때 나타나는 드리프트 형태다. 특히 기울기적 외란을 받은 경우에도 랜덤 워크가 나타난다. 예를 들어 각속도 센서(자이로스코프)에서 백색 노이즈에 의해 생기는 오차가 적분되어, 각도 축적값에 누적 오차가 발생하는 경우가 대표적이다. 이것이 시간에 비례해 점점 오차가 커진다면, 랜덤 워크 성분이 상당하다고 볼 수 있다.

수학적으로 보면, 랜덤 워크는 다음의 미분방정식을 통해 표현할 수 있다. 어떤 상태량 $\mathbf{x}(t)$가 백색 노이즈 $\mathbf{w}(t)$를 적분하여 축적된다고 할 때,

$$
\begin{align} \dot{\mathbf{x}}(t) = \mathbf{w}(t) \end{align}
$$

라는 형태로 적분된 결과가 랜덤 워크를 이룬다. 이때 $\mathbf{w}(t)$는 시간에 대해 독립동등분포(i.i.d.)하는 백색 노이즈로 본다. 따라서 시간 $t$가 지남에 따라 $\mathbf{x}(t)$는 통계적으로 $\sqrt{t}$에 비례하는 표준편차를 갖는 확률 변수가 된다. 센서 퓨전 알고리즘에서 랜덤 워크 성분이 크면, 장시간 관측에 의존하는 필터나 추정 알고리즘에서 에러가 누적되므로 별도의 보정을 고려해야 한다.

**바이어스 불안정(Bias Instability)**

센서가 장기적으로 사용하는 동안 바이어스(편향)가 서서히 떠다니는 현상을 말한다. 이는 단순한 정적 바이어스가 아니라 시간의 함수로 서서히 변화하므로, "디핑(dipping)"하거나 "표류(drift)"하는 형태를 띤다. 원인은 온도 변화, 회로 부품 노화, 진동, 내부 구조물의 물리적 변형 등 매우 다양하다. 센서 개발 시 바이어스 불안정을 최소화하도록 설계하지만, 완전 제거는 어렵다.

바이어스 불안정은 주파수영역에서 저주파 대역의 노이즈 상승을 야기한다. 시간영역 해석 관점에서는 장기간 측정 시 편향이 거의 상수 수준으로 유지되다가 불규칙하게 도약(jump)하거나 서서히 움직이는 양상을 보인다. Allan 분산 분석을 통해 어느 시간 스케일에서 바이어스 불안정이 두드러지는지 확인할 수 있다.

**플리커(flicker) 노이즈**

저주파 대역에서 많이 관측되는 $1/f$ 스펙트럼 형태의 노이즈다. 전자 소자에서 나타나는 대표적인 현상이며, 측정치에서 장주기 파동에 가까운 변동을 일으키기도 한다. 플리커 노이즈가 크면 시간영역 분석 시 오랜 기간에 걸친 편차가 발생하며, 센서를 장시간 사용 시에 예기치 못한 드리프트가 생기는 것처럼 보인다. 따라서 장시간 측정 정확도가 중요한 분야(예: 지자기 측정, 초정밀 주파수 계수기, 고정밀 IMU 등)에서는 플리커 노이즈 항을 별도로 모델링해 보상하는 방법도 연구되고 있다.

#### Allan 분산을 통한 노이즈 해석

노이즈 모델 중 장기적 변화가 중요한 센서(특히 관성센서)의 특성을 정량적으로 평가하기 위해서는 Allan 분산(Allan variance)이 유용하다. Allan 분산은 시간영역에서 센서 출력의 안정도를 다양한 시간 간격에 대해 정리하여, 각 간격별로 센서 오차가 어떻게 분산되는지 시각화한다. 이를 통해 단순한 백색 노이즈나 랜덤 워크, 플리커 노이즈, 바이어스 드리프트 등이 시간 스케일에 따라 어떤 기여도를 가지는지 확인할 수 있다.

평균 시간 간격 $\tau$에 대해 측정 신호 $y(t)$의 Allan 분산 $\sigma^2(\tau)$은 다음과 같이 계산된다(스칼라 신호 기준).

$$
\begin{align} \sigma^2(\tau) = \frac{1}{2,(!N-2)} \sum\_{k=1}^{N-2} \bigl(\overline{y}*{k+2} - 2,\overline{y}*{k+1} + \overline{y}\_{k}\bigr)^2 \end{align}
$$

여기서 $\overline{y}\_{k}$는 구간 길이 $\tau$ 동안의 측정값 평균을 의미하고, $N$은 전체 측정 구간을 $\tau$ 간격으로 나눈 총 구간 수다(계산 방식은 상황에 따라 약간씩 다를 수 있다). 로그-로그 축에 $\sigma(\tau)$를 플롯하면, 특정 노이즈가 지배적인 구간에서 $\sigma(\tau)$의 기울기가 특이한 형태로 나타난다.

예를 들어 백색 노이즈가 지배적이면 $\sigma(\tau)$는 $1/\sqrt{\tau}$ 형태의 기울기를 갖고, 랜덤 워크가 지배적이면 $\sigma(\tau)$는 $\sqrt{\tau}$ 형태를 보이며, 바이어스 불안정은 일정한 상수처럼 나타난다. 이러한 해석 결과를 바탕으로, 센서의 오차 모델을 더욱 정교하게 세우고, 퓨전 알고리즘 설계 시 각 노이즈 항을 고려한 잡음 공분산 혹은 상태공간 확장을 진행한다.

#### 아웃라이어와 이벤트성 노이즈

아웃라이어(outlier)란 통계적 분포로 설명하기 어려울 정도로 극단값을 보이는 측정치를 말한다. 센서 측정에서 아웃라이어가 발생하는 원인은 매우 다양하며, 전원 불안정, 갑작스러운 충격, 소프트웨어 오류 등으로 인해 순식간에 잘못된 값이 나오는 경우도 흔하다. 이러한 아웃라이어가 칼만 필터나 일반 선형 추정 알고리즘에 입력되면, 추정 결과가 크게 왜곡될 수 있다.

이벤트성 노이즈는 일시적 요인으로 인해 특정 시점 또는 단기간에만 발생하는 노이즈를 통칭한다. 전자기 간섭(EMI), 방사선 영향, 레이저 센서의 반사환경 변화 등이 해당된다. 이는 통계적으로 가우시안 분포의 두꺼운 꼬리(tail)를 갖도록 만들거나, 극단적으로는 이산(discrete) 이벤트 형태로 분석되기도 한다. 따라서 센서 퓨전 시 아웃라이어나 이벤트성 노이즈를 식별하고 제거 혹은 최소화하는 로버스트(robutst) 기법이 적용되기도 한다.

이상 측정 점들을 실시간으로 감지하는 방법으로는 잔차(residual) 검사, Mahalanobis 거리 기반 게이팅(gating), RANSAC 등의 기법이 활용된다. 특히 다수 센서 데이터를 동시에 활용하는 센서 퓨전 환경에서는 다른 센서의 정상 값을 참조하여 특정 센서의 이상값을 배제하는 것이 상대적으로 용이하다. 이를 통해 퓨전 알고리즘의 안정성을 향상시키고, 극단값에 의한 치명적 에러를 줄일 수 있다.

#### 상관 잡음(Correlated Noise)과 ARMA 모델

노이즈가 시간적으로 서로 독립이라고 가정할 수 없을 때, 상관 잡음(correlated noise)을 고려해야 한다. 실제 센서에서는 열잡음이나 전자회로 노이즈 등은 비교적 단시간에 서로 무관하다고 볼 수 있지만, 저주파 성분이나 시스템적 불안정이 포함된 노이즈는 시점 간에 상관 구조가 나타나기도 한다. 또한 멀티채널 센서의 경우, 채널 간 크로스 토크(cross-talk)나 공통 모드(common-mode) 영향으로 인한 상호 상관(inter-sensor correlation)이 발생할 수 있다.

이러한 상관성을 모델링하기 위해선 자기회귀이동평균(ARMA) 모델이나 상태공간(state-space) 표현이 자주 사용된다. ARMA(p,q) 모델은 현재 노이즈값이 과거 노이즈값과 이동평균항의 선형결합으로 표현된다는 가정이다. 스칼라 노이즈 $v\_t$에 대해 ARMA(p,q) 모델을 간단히 쓰면,

$$
\begin{align} v\_t + a\_1 v\_{t-1} + \ldots + a\_p v\_{t-p}  &= w\_t + b\_1 w\_{t-1} + \ldots + b\_q w\_{t-q} \end{align}
$$

형태가 된다. 여기서 $w\_t$는 백색 잡음이며, $a\_i, b\_i$는 ARMA 모델의 계수들이다. 센서 측정 신호에서 상관성을 보이는 노이즈가 존재하면, 이를 적절한 ARMA 모델로 근사해 칼만 필터나 확장 칼만 필터(EKF)의 잡음 모델에 반영할 수 있다.

상태공간 관점에서도, 잡음 프로세스를 별도의 상태로 두어 추가로 추정하는 방식을 사용할 수 있다. 예를 들어 잡음이 1차 Markov 과정(first-order Markov process)을 따른다고 가정하면, 다음과 같은 형태로 확장할 수 있다.

$$
\begin{align} v\_{k+1} &= \alpha , v\_k + w\_k \ z\_k &= H , x\_k + v\_k \end{align}
$$

여기서 $| \alpha | < 1$, $w\_k$는 백색 노이즈다. 이렇게 노이즈 자체를 또 하나의 상태 변수로 간주해 필터링하면, 시간에 따른 상관성을 추정해 더 정확한 상태 추정을 수행할 수 있다.

#### 센서 간 노이즈 상관

멀티센서 환경에서는 서로 다른 센서가 유사한 외란에 동시에 노출되거나, 물리적으로 근접해 전자기 간섭을 주고받으면 센서 간 노이즈가 상관성을 띨 수 있다. 예컨대 하나의 보드 위에 여러 IMU를 탑재하면, 동일한 기판 진동이나 온도 변화에 의해 발생하는 노이즈가 일정 부분 공통으로 섞일 수 있다. 이러한 상관은 센서 퓨전 알고리즘에서 잡음 공분산을 단순 대각화(diagonalization)로 가정할 경우 문제가 될 수 있다.

멀티센서 노이즈의 공분산을 $\mathbf{R}$이라 하면, $\mathbf{R}$이 대각행렬이 아닌 일반적인 양의정부호 행렬이 될 수 있다. 센서 i, j의 잡음이 상호 상관성을 가질 경우, $\mathbf{R}$의 i,j 원소(또는 j,i 원소)가 0이 아니게 된다. 이를 고려해 칼만 필터 설계 시 측정 오차 공분산 행렬을 올바르게 세팅해야 퓨전의 최적해를 얻을 수 있다.

이 상호 상관성을 추정하기 위해서는 센서 i, j의 잔차나 측정값을 다량 수집해 서로의 공분산, 상관계수를 추정하는 방법이 일반적이다. 특정 환경(예: 동일 기판 상)에 대해서는 실험적으로 측정하여 노이즈 상관을 규명하고, 그 결과를 퓨전 알고리즘에 반영할 수도 있다. 또한 특정 주파수 대역에서만 상관이 강하면, 융합 과정에서 필터의 주파수 대역 분리 기법을 적용해 분산을 줄이는 방안도 고려된다.

#### 고차 통계 기반 모델

가우시안 노이즈 모델이 선형 필터 설계에 용이하다는 장점이 있지만, 실제 센서 노이즈는 비가우시안 형태를 띠는 경우도 많다. 고차 통계(higher-order statistics)를 분석하면 노이즈의 왜도(skewness), 첨도(kurtosis) 등이 가우시안 가정과 달라질 수 있음을 알 수 있으며, 이러한 특성이 센서 데이터 처리에 중요할 수 있다.

고차 통계 기반의 잡음 모델링에서는 $\mathbf{v}(t)$의 3차, 4차 모멘트와 같은 고차 모멘트를 추정하고, 이를 통해 비대칭 분포나 두터운 꼬리(tail) 분포 등을 설명한다. 예컨대 레이저 거리 센서에서 주변 반사 환경이 다양한 경우, 측정값의 분포가 앞뒤로 긴 꼬리를 가질 수 있으며, 이는 도플러 효과, 난반사, 레이저 펄스 잡음 등 복합 요소에 기인한다. 이때 중간값 필터나 M-추정(M-estimation) 기법 같은 로버스트 추정법이, 단순 가우시안 가정 기반 필터보다 성능이 나을 수 있다.

#### 로버스트(Robust) 추정 기법

센서 노이즈가 가우시안에서 크게 벗어나거나, 아웃라이어가 자주 발생하는 환경에서는 로버스트 추정 기법이 유리하다. 일반 칼만 필터는 측정 잔차(residual)가 가우시안 분포를 따른다는 가정이 크게 벗어나면 성능이 급격히 저하될 수 있으며, 극단값에 의해 상태 추정이 무너지는 경우도 있다.

로버스트 추정 알고리즘은 오차 함수나 비용 함수를 재설계하여, 잔차가 큰 측정값에 대해 가중치를 줄이는 방식으로 동작한다. 대표적으로 Huber M-에스티메이터나 튜키(Tukey) 손실 함수를 이용하는 방법, 혹은 라플라스 분포 기반 측정 모델 등을 적용하는 방식이 있다. 이러한 기법들은 측정값이 큰 편차를 보이더라도, 필터가 전체 추정을 크게 훼손하지 않도록 안정성을 부여한다.

실시간 센서 퓨전에서 로버스트화를 구현하려면, 잔차 검증(gating) 과정에서 이상값을 배제하거나, 아웃라이어에 대해 동적으로 측정 공분산을 확장하는 기법이 주로 사용된다. Mahalanobis 거리 게이팅 방식이 대표적이며, 이는 센서 측정값이 예측값으로부터 너무 떨어져 있으면 해당 측정치의 신뢰도를 줄이거나 배제한다. 다센서 환경에서는 측정값들 간 상호 일관성(consistency)을 검사하는 방식으로도 로버스트성을 확보할 수 있다.

#### Wavelet 및 시계열 분해 기법

센서 노이즈가 특정 구간에서만 국소적으로 큰 값을 띠거나, 주파수별로 다른 양상이 강하게 나타나는 경우, 웨이블릿(wavelet) 변환이나 시계열 분해 기법이 유용하다. 웨이블릿 변환을 통해 신호를 시간-주파수 영역에서 다중 해상도로 분해하면, 노이즈가 집중되는 특정 스케일(주파수 대역)을 골라 제거하거나 작게 할 수 있다. 노이즈 제거(denoising) 후 필터에 입력하면 더 안정적인 추정을 얻을 수 있다.

특히 초음파 센서나 레이더 센서 등의 펄스 기반 신호에서는 반사 특성이 복잡해 잡음이 특정 구간에 몰릴 수 있으며, 공간적 스파이크(spike)나 이상값이 발생하기 쉽다. 이때 웨이블릿 임계값(threshold) 기법을 이용해 해당 대역에서 특정 범위를 초과하는 파형만 제거하거나 완화한다. 다만, 웨이블릿 등 비선형 신호처리 방식은 연산량이 커질 수 있어, 실시간성이 중요한 임베디드 시스템에서는 균형점을 찾는 노력이 필요하다.

#### 비모수적(Non-parametric) 접근

가우시안 분포나 ARMA 모델 등은 모두 특정한 형태의 분포나 시계열 구조를 가정하는 파라메트릭(parametric) 방식이다. 그러나 센서 노이즈가 매우 복잡한 물리적 원인으로 형성되어 이러한 가정이 어려운 경우, 커널 밀도 추정(kernel density estimation)이나 Gaussian mixture 모델(GMM) 같은 비모수적(non-parametric) 접근법도 고려된다.

비모수적 방법은 데이터로부터 직접 분포 형상을 학습하고 추정한다. 예컨대 특정 센서의 장시간 측정 기록을 수집해, 그 히스토그램을 바탕으로 확률분포를 커널 함수를 통해 근사한다. 혹은 다양한 모드(mode)가 존재한다고 판단되면, 여러 개의 가우시안 모드를 혼합하여 복잡한 분포를 표현한다. 이를 통해 가우시안 단일 모드로는 설명이 어려운 센서 노이즈 특성을 좀 더 정교하게 모델링한다.

비모수적 방법을 칼만 필터 구조에 직접 적용하기는 어려우며, 대신 입자 필터(particle filter)나 몬테카를로 기반 베이즈 추정 기법 등으로 확장하는 경우가 많다. 입자 필터에서 측정 확률 $p(z\_k|x\_k)$를 구할 때, 센서 노이즈 모델을 GMM으로 정의해 확률밀도를 평가하는 식이다. 이 방식은 연산량이 큰 단점이 있지만, 노이즈 분포가 복잡할수록 추정 정확도가 유리해질 수 있다.

#### 고급 센서 노이즈 모델 활용 사례

고급 노이즈 모델을 적용하는 대표적 사례로는 UAV, 로봇, 자율주행 등에서 사용되는 고정밀 관성센서(IMU)와 GNSS(위성항법시스템) 간 퓨전 알고리즘을 들 수 있다. IMU의 각속도와 가속도 측정값에는 백색 노이즈, 랜덤 워크, 바이어스 드리프트가 복합적으로 존재하며, GNSS 신호에는 주파수 선택적 페이딩, 다중경로(multipath)에 따른 비정상 분포 노이즈가 포함될 수 있다.

이 상황에서 간단히 IMU 노이즈를 독립 가우시안, GNSS 노이즈를 백색 가우시안으로 두면 실제 환경을 충분히 반영하지 못할 수 있다. 따라서 AR(1)이나 ARMA 모델로 IMU 바이어스 변동을 추정하거나, GNSS 신호 노이즈를 GMM 형태로 표현해 다중경로 유발 이상값을 설명하는 식으로 접근한다. 이를 통해 정확도를 높이고, 실환경에서 로버스트한 추정을 수행할 수 있게 된다.

#### 센서 노이즈 특성 시뮬레이션

센서 노이즈 모델이 정해졌다면, 이를 시뮬레이션 환경에서 재현해 볼 수 있다. 시뮬레이션을 통해 센서 데이터를 가상의 타임 스텝마다 생성하고, 특정 알고리즘(예: 칼만 필터)을 구동하며 결과를 관찰한다. 센서 노이즈가 정확히 어떤 양상으로 동작하는지, 그리고 알고리즘이 이를 어떻게 처리하는지 확인할 수 있다. 예를 들어 가우시안 백색 노이즈 모델을 적용한다고 하면, 확률 분포에 따라 랜덤 샘플을 생성한 다음 센서의 측정값에 더해주는 과정을 반복한다. 랜덤 워크나 AR(1) 형태라면 상태공간으로 표현된 노이즈 항을 업데이트하면서 센서 값을 생성한다.

시뮬레이션 환경에서 센서 노이즈가 현실과 어느 정도 부합하는지를 평가하기 위해서는 실제 센서에서 장기간 수집한 데이터와 비교한다. 만일 합성된 노이즈가 실제 데이터와 통계적으로 유사한 분포 및 자기상관함수를 보인다면, 모델이 적절하다고 볼 수 있다. 이후 퓨전 알고리즘 또는 제어 알고리즘을 시뮬레이션상에서 시험해 보고, 노이즈가 변화하거나 심해졌을 때 시스템이 어떻게 반응하는지 미리 확인하면 실환경 실험의 시행착오를 크게 줄일 수 있다.

#### 측정 노이즈 동적 추정(Online Noise Estimation)

센서는 환경이나 내부 상태에 따라 노이즈 특성이 실시간으로 변할 수 있다. 이때 초기에 추정해둔 고정 잡음 공분산 $\mathbf{R}$만 사용하면 오차가 커질 수 있다. 예컨대 열적 조건이 달라지면 바이어스가 변하거나, 특정 시점에 외부 간섭이 커져 노이즈 공분산이 갑자기 커질 수 있다. 따라서 온라인으로 센서 노이즈 수준을 추정(또는 추적)하는 방법이 연구되어 왔다.

대표적인 방식은 잔차(residual) 분석이다. 칼만 필터 등에서 센서 측정값과 예측값의 차이를 잔차라고 할 때, 특정 길이의 윈도우에서 잔차의 분산을 추정해 이를 실시간으로 업데이트한다. 다만 시스템 모델이 잘못되어 있으면 잔차가 노이즈만 반영하는 것이 아니라, 모델 오차까지 포함해 버릴 수 있기 때문에 신중한 해석이 필요하다.

이밖에도 EM(Expectation-Maximization) 알고리즘을 사용하여 동적으로 잡음 공분산을 추정하거나, 서보(servo)나 관성센서처럼 비교적 자주 측정되는 센서의 경우에는 잔차 통계값을 빠르게 업데이트해 잡음이 바뀌었음을 감지한다. 이러한 온라인 노이즈 추정을 통해 환경 변화에 유연하게 대응할 수 있고, 노이즈 특성이 급변하는 상황에서 보다 안정적인 상태 추정을 보장한다.

#### 센서 노이즈 분석의 활용

노이즈 특성 분석은 단순히 센서 정확도를 평가하기 위한 수단을 넘어서, 센서 퓨전 전략을 수립하는 중요한 기반이 된다. 예컨대 특정 센서가 저주파 노이즈가 큰 반면 고주파 대역에서는 비교적 깨끗한 신호를 제공한다면, 이 센서를 다른 저주파 대역에서 안정적인 센서와 보완적으로 결합해 전체 시스템 정확도를 향상할 수 있다. 또한 노이즈가 시간에 따라 느리게 변동하는 경우라면, 이 바이어스 변동을 상태공간에 추가해서 온라인으로 보정할 수 있다.

센서 제조사에서 제공하는 스펙(사양)은 종종 평균적 조건에서 측정된 결과를 기준으로 하므로, 실제 응용환경에서 이 값을 그대로 쓰면 과도한 오차나 보수적 추정이 일어날 수 있다. 따라서 실제 운용 환경에서 각 센서 노이즈를 직접 측정하고, 다양한 주파수 및 온도, 진동, 전원 변동 조건에서 데이터를 수집하여 노이즈 특성을 파악하는 단계가 필수적이다. 이 과정에서 얻어진 결과는 센서 퓨전 알고리즘의 잡음 공분산 설정, 모델 차수 선택(예: AR(1) vs ARMA(2,2) 등), 로버스트 처리 등 전반적인 설계에 반영된다.

센서 노이즈 특성 분석은 보정(calibration)과 상호 검증(cross-validation) 과정에서도 중요하다. 레이더, LiDAR, 카메라를 동시에 사용하는 자율주행 시스템에서는 각 센서별 노이즈 특성과 취약점을 알고 있어야, 환경별로 최적의 측정값을 택하거나 센서가 실패했을 때 다른 센서가 대체하는 방안을 마련할 수 있다. 예컨대 야간이나 악천후에는 카메라 센서 노이즈가 커질 수 있으므로 레이더 데이터의 신뢰도를 높여주는 가중 방식을 쓰는 식이다.

이러한 일련의 과정에서 노이즈를 단순 분포로만 보는 것이 아니라 시간적, 공간적, 환경적 측면까지 고려하여 정교하게 모델링하고 추적함으로써, 더 높은 수준의 센서 퓨전 성능을 달성하게 된다.

#### 센서 노이즈 측정 및 파라미터 추정 기법

센서 노이즈 특성을 정밀하게 파악하기 위해서는 실제 센서로부터 일정 시간 이상의 데이터를 수집한 뒤, 이를 분석하여 노이즈 모델의 파라미터를 추정한다. 관성센서(IMU)처럼 장시간 누적오차가 치명적인 경우에는 수시간 이상의 연속 측정 데이터가 필요하기도 하다. 센서 데이터를 여러 환경에서 수집하면, 온도나 진동, 동작 범위 등에 따라 노이즈 특성이 어떻게 달라지는지도 관찰할 수 있다.

측정 데이터가 충분히 확보되면, 시간영역 분석을 통해 자기상관함수나 Allan 분산을 구한다. 자기상관함수로 노이즈의 단기적·장기적 상관성을 파악하고, Allan 분산은 백색 노이즈, 랜덤 워크, 플리커 노이즈, 바이어스 드리프트 등이 어떤 시간 스케일에서 두드러지는지를 시각적으로 보여준다. 주파수영역 분석(PSD, 웨이블릿 등)을 병행하면 저주파 대역 또는 특정 공진 주파수대에서 발생하는 잡음 특성을 분리해볼 수 있다.

이렇게 얻은 통계 지표를 바탕으로, 센서 노이즈 모델을 ARMA(p,q) 형태로 결정하거나, 간단한 AR(1) 모델로 근사할지 여부를 정한다. 바이어스가 천천히 변화한다면, 상태공간에서 바이어스 항을 별도 상태로 두고 1차 Markov 과정으로 추정하기도 한다. 노이즈가 가우시안에서 벗어나는 양상을 보이면, 커널 밀도 추정이나 GMM(Gaussian Mixture Model) 같은 비모수적 방식을 검토한다.

센서 노이즈 모델 파라미터를 추정할 때, 최소자승(LS), 최대우도추정(MLE), EM 알고리즘, 베이즈 추정 등 다양한 접근법을 사용할 수 있다. 실험 환경에서 반복 측정한 데이터를 여러 번 분할해서(교차 검증 개념) 파라미터를 추정하고, 재현성(reproducibility)이 충분한지 확인하는 일도 중요하다. 노이즈 모델이 너무 복잡하면 과적합(overfitting)이 일어나 실제 운용에서 예측 성능이 떨어질 수 있으므로, 모델 간 복잡도와 실제 오차 감소 효과 간의 균형을 고려한다.

센서 노이즈 분석 및 파라미터 추정 과정을 단순 개념도로 표현하면 다음과 같다.

{% @mermaid/diagram content="flowchart TD
A\[센서 데이터 수집] --> B\["초기 분석(시간·주파수 영역)"]
B --> C\[노이즈 모델 가정 및 후보 선정]
C --> D\["파라미터 추정(예: ARMA, Allan 분산)"]
D --> E\[검증 및 적합도 평가]
E --> F\[모델 확정 및 필터 설계 반영]" %}

#### 간단한 노이즈 시뮬레이션 예시 (Python)

아래 예시는 스칼라 센서 노이즈를 백색 노이즈와 랜덤 워크, 바이어스 드리프트가 혼합된 형태로 시뮬레이션하는 단순 Python 코드다. 시뮬레이션 결과를 통해 합성된 데이터가 원하는 통계적 특성을 만족하는지 검사해볼 수 있다.

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

np.random.seed(0)

t_end = 1000
dt = 0.1
N = int(t_end/dt)
time = np.arange(N)*dt

# 백색 노이즈 표준편차
sigma_white = 0.05
# 랜덤 워크 파라미터 (적분 효과)
sigma_rw = 0.001
# 바이어스 드리프트(저주파 AR(1) 형태)
alpha = 0.999
sigma_bias = 1e-4

v_white = sigma_white * np.random.randn(N)  # 백색 노이즈
v_rw = np.zeros(N)                          # 랜덤 워크
v_bias = np.zeros(N)                        # 바이어스(AR(1))

for i in range(1, N):
    v_rw[i] = v_rw[i-1] + sigma_rw*np.random.randn()
    v_bias[i] = alpha*v_bias[i-1] + sigma_bias*np.random.randn()

# 최종 센서 노이즈(백색 + 랜덤 워크 + 바이어스)
sensor_noise = v_white + v_rw + v_bias

plt.figure(figsize=(10,5))
plt.plot(time, sensor_noise, label='Simulated Sensor Noise')
plt.xlabel('Time (s)')
plt.ylabel('Noise Value')
plt.title('Mixed Sensor Noise Simulation')
plt.grid(True)
plt.legend()
plt.show()
```

이 코드는 단순화된 예시지만, 백색 노이즈와 랜덤 워크, AR(1) 형태의 바이어스가 동시에 포함된 센서 노이즈 신호를 생성한다. 실제 센서로부터 취득한 데이터의 통계적 특성과 비교해보면서, 모델 파라미터(예: sigma\_white, sigma\_rw, alpha, sigma\_bias)를 조정해가면 점차 실제 센서 거동에 가까운 합성 신호를 얻을 수 있다.

#### 향후 고려 사항

센서 노이즈는 한 번 측정해서 끝나는 정적인 특성이 아니라, 온도·습도·충격·노화·하우징 구조에 따라 시시각각 달라질 수 있는 동적 특성을 지닌다. 따라서 시스템 설계 시 센서 퓨전 알고리즘이 환경 변화나 장기 드리프트에 유연하게 대응하도록 설계해야 한다. 온라인으로 노이즈 통계를 추정하거나, 주기적인 재보정(calibration) 과정을 거쳐 노이즈 모델 파라미터를 갱신하는 전략이 필수적이다.

센서 노이즈 특성 분석은 센서 사용의 기초이자, 고신뢰도 로봇·자율주행·항법 시스템 구현의 핵심 기술이다. 충분한 양의 실험 데이터 수집과 면밀한 통계적·주파수적·시간영역 분석을 통해, 센서가 실제 운용 환경에서 어떤 불확실성을 갖는지 꾸준히 점검하고 모델링하는 일이 곧 센서 퓨전의 정확도와 안정성으로 직결된다.
