스킬캠퍼스

오늘 끝나면

신호와 노이즈

  • 신호와 노이즈의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 신호와이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

현실은 지저분함 — 필터링과 보정 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

Physical AI · 08

신호와
노이즈

현실 센서값은 깨끗하지 않다. 떨리고 튄다.
이동평균과 칼만 필터로 매끈하게 다듬는다.
그런데 너무 다듬으면 반응이 느려진다. 정확함과 빠름의 줄다리기다.

P.01Physical AI · 08

현실 센서값은 지저분하다

교과서 그래프는 매끈한 곡선이다. 실제 센서가 뱉는 숫자는 들쭉날쭉하다.

같은 자리에 가만히 둔 거리 센서도 매 측정마다 값이 조금씩 다르다.
이 잔떨림이 노이즈(noise)다. 진짜 값 주위로 흩어지는 오차다.
전기 잡음, 온도, 진동, 센서 한계 등 원인은 많고 완전히 없애지는 못한다.

가끔은 한 샘플이 뜬금없이 확 튄다.
이건 이상치(outlier)다. 반사나 접촉 불량 같은 일회성 사고다.
노이즈는 잘게 늘 깔리고, 이상치는 드물게 크게 튄다. 성격이 다르다.

그래서 센서값을 날것 그대로 제어에 넣으면 로봇이 덜덜 떨거나 한 번 튄 값에 헛움직인다.
쓰기 전에 한 번 다듬어야 한다.

진짜 값 위에 떨림과 튐이 얹힌다
측정값 = 진짜 값 + 노이즈
진짜 값측정값(잔떨림)이상치, 한 번 확 튄다
P.02Physical AI · 08

이동평균, 가장 쉬운 다듬기

가장 흔하고 쉬운 필터는 이동평균(moving average)이다.

최근 N개 샘플을 평균 내서 그 값을 쓴다.
새 값이 들어오면 가장 오래된 값은 밀려나고 창(window)이 한 칸 미끄러진다.
위아래로 흩어진 노이즈는 평균에서 서로 상쇄되어 사라진다.

N이 크면 더 많이 평균 내니까 더 매끈해진다.
N=1이면 평균이 아니라 원본 그대로다. 필터를 안 한 셈이다.
이상치 한 점도 N개로 나눠지니 충격이 N분의 1로 줄어든다.

공식 하나로 끝난다. 더한 뒤 개수로 나눈다.
무겁지 않아서 작은 마이크로컨트롤러(Arduino)에서도 잘 돈다.

최근 N개를 평균 내 떨림을 깎는다
이동평균 N=3 · 창이 미끄러진다
42
51
38
47
60
44

( 38 + 47 + 60 ) / 3

= 48

새 값이 들어오면 창이 오른쪽으로 한 칸 밀린다. 흩어진 떨림은 평균에서 상쇄된다.

P.03Physical AI · 08

칼만 필터는 예측까지 섞는다

이동평균은 과거만 평균한다. 칼만 필터(Kalman filter)는 한 발 더 나간다.

두 정보를 섞는다.
하나는 “다음 값은 이쯤일 것”이라는 예측이다. 직전 상태와 운동 모델에서 나온다.
다른 하나는 방금 들어온 측정값이다. 노이즈가 낀 현실이다.

둘 중 어느 쪽을 더 믿을지를 칼만 이득(gain)이 매 순간 정한다.
센서가 시끄러우면 예측을 더 믿고, 예측이 불확실하면 측정을 더 믿는다.
그래서 이동평균보다 지연이 덜하면서도 매끈하다. 드론과 자율주행 위치 추정의 단골이다.

대신 운동 모델과 노이즈 크기를 알아야 하고 계산이 더 무겁다.
간단한 떨림을 잡을 땐 이동평균, 빠르게 움직이는 상태를 추정할 땐 칼만으로 도구를 골라 쓴다.

예측값과 측정값을 믿음 비율로 합친다
칼만, 예측과 측정의 가중 합
예측직전 상태 + 운동 모델
다음은 이쯤일 것
측정방금 들어온 센서값
노이즈 낀 현실
이득 gain둘을 섞는 믿음 비율
매 순간 자동 조절
추정보정된 최종 값
예측 ↔ 측정 사이

센서가 시끄러우면 예측을, 예측이 불확실하면 측정을 더 믿는다. 이동평균보다 지연이 덜하다.

P.04Physical AI · 08

필터 강도를 직접 굴려 보기

흐린 선이 노이즈 낀 원본, 점선이 진짜 신호, 굵은 선이 필터 결과다.

평균 낼 샘플 수 N을 올리면 굵은 선이 매끈해진다. 들쭉날쭉이 사라지고 튐도 눌린다.
동시에 굵은 선이 진짜 신호보다 오른쪽으로 밀린다.
이게 지연(lag)이다. 신호가 꺾일 때 필터가 한 박자 늦게 따라온다.

매끈함을 끌어올리면 반응 지연도 같이 올라간다. 한쪽만 공짜로 가질 수는 없다.

노이즈 신호 + 이동평균 N 슬라이더
이동평균 필터 · 직접 굴려 보자
노이즈 원본진짜 신호필터 결과
필터 강도, 평균 낼 샘플 수 N1
1 = 필터 없음(원본)24 = 강하게 매끈
매끈함
62

원본 그대로, 거칠고 spike도 그대로 통과한다.

반응 지연
0

지연이 거의 없다. 즉시 반응한다.

매끈함을 얻으면 지연이 따라온다. 공짜 점심은 없다. 정확 vs 빠름의 줄다리기다.

P.05Physical AI · 08

매끈함 vs 반응속도, 정확 vs 빠름

필터링은 공짜가 아니다. 떨림을 줄인 만큼 반응이 굼떠진다.

너무 약하게 걸면 노이즈가 그대로 남아 로봇이 떨고 한 번 튄 값에 헛반응한다.
너무 세게 걸면 매끈하긴 한데 실제 변화에 한참 늦게 반응한다. 벽이 가까워져도 늦게 알아챈다.

그래서 정답은 “최대한 매끈하게”가 아니라 상황에 맞는 균형이다.
빠른 회피가 중요하면 지연을 줄이고, 안정된 측정이 중요하면 매끈함을 키운다.
정확함(매끈함)과 빠름(즉각성)을 저울질해 N이나 칼만 이득을 맞추는 게 튜닝의 핵심이다.

Q. 센서 노이즈를 줄이는 가장 흔한 방법은? 그 대가는?이동평균 같은 필터를 거는 것이다.
최근 N개를 평균 내면 위아래로 흩어진 떨림이 상쇄되어 매끈해진다.
대가는 지연(lag)이다. 평균을 많이 낼수록 실제 변화에 늦게 반응한다.
그래서 매끈함과 반응속도, 즉 정확함과 빠름 사이에서 N을 골라야 한다.
필터를 키울수록 갈리는 두 축
필터 ↑ → 매끈함 ↑ · 지연 ↑
약함 (N작게)떨림 남음 · 즉각 반응
매끈함
25
지연
8
적당 (N중간)균형점, 보통 여기
매끈함
65
지연
40
강함 (N크게)매끈함 · 굼뜬 반응
매끈함
95
지연
90

정확함(매끈함)과 빠름(즉각성)은 반대다. 한쪽을 키우면 다른 쪽이 따라온다.

3줄 요약

  1. 1현실은 지저분함 — 필터링과 보정
  2. 2신호와 노이즈은 하드웨어 → 제어·비전 → 로보틱스·RL → LLM 연동 → 자율주행·프로젝트 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

신호와

현실은 지저분함 — 필터링과 보정

센서

빛·거리·온도 같은 물리 신호를 숫자로 바꾸는 부품

액추에이터

전기 신호를 움직임으로 바꾸는 부품(모터 등)