진동은 무엇을 말하는가
3부를 시작하며
2부에서 사람의 판단을 다뤘다. 겹침과 변화와 이력으로 신뢰를 만드는 이야기였다.
3부는 그 아래의 신호로 내려간다. 가속도 기록에 실제로 무엇이 담기는지, 도심 주행의 소음 속에서 그것을 어떻게 건져 올리는지.
이 부분이 이 프로젝트의 기술적 심장이다. 그리고 가장 어려운 부분이기도 하다.
흔들림에 정보가 실리는 이유
물체를 두드리면 소리가 난다. 그리고 그 소리로 물체의 상태를 짐작할 수 있다.
수박을 두드려 익었는지 보는 것. 벽을 두드려 속이 비었는지 아는 것. 그릇을 두드려 금이 갔는지 확인하는 것.
이건 비유가 아니라 실제로 같은 원리다. 물체는 두드림에 대해 자기 구조에 따라 반응한다. 속이 빈 것과 찬 것은 다르게 울린다. 단단한 것과 물컹한 것은 다르게 되튄다.
흔들림의 방식에 구조의 정보가 실린다. 이것이 진동으로 상태를 파악하는 기술의 기반이고, 구조물 건전성 진단이라 불리는 분야가 오래 다뤄온 주제다.
우리가 하려는 것도 같은 계열이다. 다만 두드리는 것이 망치가 아니라 지나가는 자동차이고, 듣는 것이 귀가 아니라 폰의 가속도계다.
무엇이 흔들리는가
여기서 정확히 해야 할 것이 있다. 우리가 측정하는 것은 도로의 진동이 아니다.
8편에서 본 경로를 다시 보자.
노면 → 타이어 → 서스펜션 → 차체 → 거치 → 센서
폰이 기록하는 것은 이 경로의 끝이다. 노면의 상태가 여러 겹을 통과한 뒤의 흔적이다.
이걸 신호를 다루는 관점에서 보면, 각 단계는 필터다. 신호를 통과시키면서 어떤 성분은 살리고 어떤 성분은 죽인다.
특히 서스펜션이 강력한 필터다. 서스펜션의 존재 목적 자체가 “노면의 충격을 승객에게 전달하지 않는 것”이다. 즉 우리가 알고 싶은 정보를 지워버리도록 설계된 장치다.
이건 우리 방식의 근본적인 제약이다. 도로에 센서를 직접 붙이는 방식과 비교하면 훨씬 불리한 위치에서 관측한다.
그래도 살아남는 것
그렇다면 아무것도 못 하는 것 아닐까. 그렇지는 않다.
서스펜션은 모든 것을 지우지 않는다. 빠른 흔들림은 많이 걸러내고, 느린 흔들림은 잘 통과시킨다.
그래서 신호를 성분별로 나눠 보면 대략 이런 층이 있다.
아주 느린 성분 — 차체가 전체적으로 위아래로 출렁이는 움직임. 초당 한두 번 정도. 언덕이나 완만한 요철에서 온다. 서스펜션을 잘 통과한다.
중간 성분 — 초당 열 번에서 스무 번 정도. 바퀴와 타이어가 자기 나름대로 떠는 움직임. 노면의 거칠기와 관계가 깊다.
빠른 성분 — 그보다 빠른 진동. 타이어 표면과 노면 조직의 미세한 상호작용. 서스펜션이 상당히 걸러내지만 완전히는 아니다.
우리가 관심 있는 것은 주로 중간 성분이다. 노면과 그 아래 구조의 상태가 이 대역에 실린다. 그리고 다행히 이 대역은 폰의 가속도계로 충분히 측정할 수 있다.
신호에서 무엇을 볼 수 있나
가속도 기록을 보면 무엇을 알 수 있는지, 알기 쉬운 것부터 어려운 것 순으로 정리하면 이렇다.
① 큰 충격이 있었다 — 쉽다. 값이 갑자기 크게 튀는 것을 찾으면 된다. 포트홀, 방지턱, 단차.
② 이 구간이 전반적으로 거칠다 — 어렵지 않다. 흔들림의 크기를 구간별로 평균하면 나온다. 노면 상태 등급과 비슷한 정보다.
③ 흔들림의 성격이 달라졌다 — 여기서 어려워진다. 크기가 아니라 어떤 방식으로 흔들리는지를 봐야 한다. 이걸 다루려면 신호를 성분으로 분해해야 하고, 그게 다음 편의 주제인 푸리에 변환이다.
④ 노면 아래의 지지 상태가 달라졌다 — 가장 어렵다. 우리의 최종 목표다. ③의 변화 중에서 특정 패턴을 골라내야 하고, 그 패턴이 무엇인지 아직 모른다.
①과 ②는 이미 되는 기술이다. 그래서 1단계 앱이 지금 당장 쓸모 있다. ③은 신호 처리로 접근할 수 있다. ④는 학습이 필요하고, 그게 4부의 이야기다.
왜 성분으로 나누어야 하나
③에서 왜 “성분 분해”가 필요한지 조금 더 설명이 필요하다.
가속도 기록을 그대로 보면 시간에 따라 위아래로 요동치는 곡선이다. 이걸 눈으로 보면 정보가 별로 없다. 그냥 지저분하다.
그런데 이 곡선은 실제로 여러 흔들림이 겹쳐진 결과다. 느린 출렁임, 중간 떨림, 빠른 미세 진동이 동시에 일어나 합쳐진 것이다.
비유하면 여러 악기가 함께 연주하는 소리다. 파형만 보면 뭉개져 있지만, 실제로는 각 악기의 소리가 겹쳐 있다.
그리고 우리가 알고 싶은 정보는 특정 악기에만 담겨 있다. 노면 아래의 지지 상태는 중간 대역에 실리고, 엔진 진동은 다른 대역에 있고, 언덕은 더 느린 대역에 있다.
그러니 겹친 것을 풀어야 한다. 어느 대역에 얼마만큼의 흔들림이 있는지 나눠 보는 것. 그러면 관심 없는 대역을 무시하고 관심 있는 대역만 볼 수 있다.
이 분해를 하는 도구가 푸리에 변환이다.
그리고 왜 하필 푸리에인가
여기서 이 프로젝트의 배경을 언급해 둘 필요가 있다.
두 사업이 같은 수학에 기대고 있다. Numpilot은 반복 계산을 가속하기 위해 푸리에 기반 방법(FNO)을 쓰고, NumTerra는 신호를 성분으로 나누기 위해 푸리에 변환을 쓴다.
우연이 아니다. 푸리에 변환은 “복잡한 것을 단순한 것들의 합으로 본다”는 하나의 발상이고, 그 발상이 두 영역에서 각각 유용하다. 한쪽은 물리 현상을 그렇게 보고, 다른 쪽은 측정 신호를 그렇게 본다.
이 공통 뿌리가 나중에 두 프로젝트의 논문이 만나는 지점이 된다.
다음 편에서는 우리가 쓰는 센서 자체를 들여다본다. 폰 안의 가속도계가 실제로 무엇을 어떻게 재는지, 그 한계가 어디인지.
다음 편 예고 — 주머니 속 가속도계라는 센서. 폰의 센서가 무엇을 측정하고 무엇을 놓치는지, 전용 계측기와 무엇이 다른지 확인한다.
「우리 동네가 먼저 안다」는 5부 30편으로 이어집니다. 지금 읽은 글은 3부 신호 읽기의 1번째(전체 제14회)입니다.