오늘 끝나면
신호와 노이즈
- ✓신호와 노이즈의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 신호와이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
현실은 지저분함 — 필터링과 보정 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
Physical AI · 08
신호와
노이즈
현실 센서값은 깨끗하지 않다. 떨리고 튄다.
이동평균과 칼만 필터로 매끈하게 다듬는다.
그런데 너무 다듬으면 반응이 느려진다. 정확함과 빠름의 줄다리기다.
현실 센서값은 지저분하다
교과서 그래프는 매끈한 곡선이다. 실제 센서가 뱉는 숫자는 들쭉날쭉하다.
같은 자리에 가만히 둔 거리 센서도 매 측정마다 값이 조금씩 다르다.
이 잔떨림이 노이즈(noise)다. 진짜 값 주위로 흩어지는 오차다.
전기 잡음, 온도, 진동, 센서 한계 등 원인은 많고 완전히 없애지는 못한다.
가끔은 한 샘플이 뜬금없이 확 튄다.
이건 이상치(outlier)다. 반사나 접촉 불량 같은 일회성 사고다.
노이즈는 잘게 늘 깔리고, 이상치는 드물게 크게 튄다. 성격이 다르다.
그래서 센서값을 날것 그대로 제어에 넣으면 로봇이 덜덜 떨거나 한 번 튄 값에 헛움직인다.
쓰기 전에 한 번 다듬어야 한다.
이동평균, 가장 쉬운 다듬기
가장 흔하고 쉬운 필터는 이동평균(moving average)이다.
최근 N개 샘플을 평균 내서 그 값을 쓴다.
새 값이 들어오면 가장 오래된 값은 밀려나고 창(window)이 한 칸 미끄러진다.
위아래로 흩어진 노이즈는 평균에서 서로 상쇄되어 사라진다.
N이 크면 더 많이 평균 내니까 더 매끈해진다.
N=1이면 평균이 아니라 원본 그대로다. 필터를 안 한 셈이다.
이상치 한 점도 N개로 나눠지니 충격이 N분의 1로 줄어든다.
공식 하나로 끝난다. 더한 뒤 개수로 나눈다.
무겁지 않아서 작은 마이크로컨트롤러(Arduino)에서도 잘 돈다.
( 38 + 47 + 60 ) / 3
= 48
새 값이 들어오면 창이 오른쪽으로 한 칸 밀린다. 흩어진 떨림은 평균에서 상쇄된다.
칼만 필터는 예측까지 섞는다
이동평균은 과거만 평균한다. 칼만 필터(Kalman filter)는 한 발 더 나간다.
두 정보를 섞는다.
하나는 “다음 값은 이쯤일 것”이라는 예측이다. 직전 상태와 운동 모델에서 나온다.
다른 하나는 방금 들어온 측정값이다. 노이즈가 낀 현실이다.
둘 중 어느 쪽을 더 믿을지를 칼만 이득(gain)이 매 순간 정한다.
센서가 시끄러우면 예측을 더 믿고, 예측이 불확실하면 측정을 더 믿는다.
그래서 이동평균보다 지연이 덜하면서도 매끈하다. 드론과 자율주행 위치 추정의 단골이다.
대신 운동 모델과 노이즈 크기를 알아야 하고 계산이 더 무겁다.
간단한 떨림을 잡을 땐 이동평균, 빠르게 움직이는 상태를 추정할 땐 칼만으로 도구를 골라 쓴다.
센서가 시끄러우면 예측을, 예측이 불확실하면 측정을 더 믿는다. 이동평균보다 지연이 덜하다.
필터 강도를 직접 굴려 보기
흐린 선이 노이즈 낀 원본, 점선이 진짜 신호, 굵은 선이 필터 결과다.
평균 낼 샘플 수 N을 올리면 굵은 선이 매끈해진다. 들쭉날쭉이 사라지고 튐도 눌린다.
동시에 굵은 선이 진짜 신호보다 오른쪽으로 밀린다.
이게 지연(lag)이다. 신호가 꺾일 때 필터가 한 박자 늦게 따라온다.
매끈함을 끌어올리면 반응 지연도 같이 올라간다. 한쪽만 공짜로 가질 수는 없다.
원본 그대로, 거칠고 spike도 그대로 통과한다.
지연이 거의 없다. 즉시 반응한다.
매끈함을 얻으면 지연이 따라온다. 공짜 점심은 없다. 정확 vs 빠름의 줄다리기다.
매끈함 vs 반응속도, 정확 vs 빠름
필터링은 공짜가 아니다. 떨림을 줄인 만큼 반응이 굼떠진다.
너무 약하게 걸면 노이즈가 그대로 남아 로봇이 떨고 한 번 튄 값에 헛반응한다.
너무 세게 걸면 매끈하긴 한데 실제 변화에 한참 늦게 반응한다. 벽이 가까워져도 늦게 알아챈다.
그래서 정답은 “최대한 매끈하게”가 아니라 상황에 맞는 균형이다.
빠른 회피가 중요하면 지연을 줄이고, 안정된 측정이 중요하면 매끈함을 키운다.
정확함(매끈함)과 빠름(즉각성)을 저울질해 N이나 칼만 이득을 맞추는 게 튜닝의 핵심이다.
Q. 센서 노이즈를 줄이는 가장 흔한 방법은? 그 대가는?
이동평균 같은 필터를 거는 것이다.최근 N개를 평균 내면 위아래로 흩어진 떨림이 상쇄되어 매끈해진다.
대가는 지연(lag)이다. 평균을 많이 낼수록 실제 변화에 늦게 반응한다.
그래서 매끈함과 반응속도, 즉 정확함과 빠름 사이에서 N을 골라야 한다.
정확함(매끈함)과 빠름(즉각성)은 반대다. 한쪽을 키우면 다른 쪽이 따라온다.