(Active Noise Control 개념부터 알고리즘까지)
코골이를 줄이기 위해 착용형 기기가 아니라 침대 머리맡에서 소음을 줄이는 시스템을 만들고 있다.
이어폰처럼 귀에 착용하는 방식이 아니라
침대 헤드보드에서 코골이 소음을 줄이는 ANC 시스템이다.
이 글에서는 개발하면서 정리한 Active Noise Control (ANC)의 개념을 설명한다.
설명 순서는 다음과 같다.
Active Noise Control이란 무엇인가
ANC의 물리적 원리
ANC 시스템 구조
ANC 알고리즘 (LMS, FxLMS)
실제 제품(이어폰)의 ANC 구조
최신 ANC 기술
헤드보드 ANC에서 중요한 포인트
Active Noise Control (ANC)은
소음을 막는 것이 아니라 상쇄시키는 기술이다.
일반적인 방음은
소음 → 차단
방식이지만 ANC는
소음 + 반대 위상의 소리 = 소리 감소
원리를 이용한다.
이를 Destructive Interference (상쇄 간섭)라고 한다.
간단히 표현하면
noise + anti_noise = 0
이 되는 방향으로 소리를 만든다.
소리는 공기 압력의 진동(파동)이다.
파동은 보통 다음과 같이 표현된다.
x(t) = A * sin(ωt)
각 기호의 의미
| 기호 | 의미 |
|---|---|
| x(t) | 시간에 따라 변하는 소리 |
| A | 진폭(소리의 크기) |
| ω | 각주파수 |
| t | 시간 |
반대 위상의 소리는
-A * sin(ωt)
두 소리를 합치면
A*sin(ωt) + (-A*sin(ωt)) = 0
즉 소리가 상쇄된다.
하지만 현실에서는 다음 문제가 있다.
지연 (delay)
반사 (reflection)
공간 전달 (acoustic transfer)
그래서 단순히 반대 파형을 만드는 것만으로는 충분하지 않다.
ANC 시스템은 보통 다음 4가지 구성으로 이루어진다.
| 구성 | 역할 |
|---|---|
| Reference microphone | 소음 측정 |
| Controller (DSP) | anti-noise 계산 |
| Speaker | anti-noise 출력 |
| Error microphone | 실제 소리 측정 |
구조는 다음과 같다.
Noise source
↓
Reference Mic
↓
Controller (DSP)
↓
Speaker
↓
Error Mic
시스템의 목표는 남은 소리를 최소화하는 것이다.
e(n) = d(n) + y(n)
각 변수의 의미
| 변수 | 의미 |
|---|---|
| d(n) | 원래 소음 (primary noise) |
| y(n) | anti-noise |
| e(n) | 남은 소리 (residual noise) |
목표
e(n) → 0
ANC에서는 두 가지 전달 경로가 존재한다.
Primary Path - 원래 소음이 전달되는 경로
Noise source → 공기 → 귀
수식
d(n) = P(z) * x(n)
| 기호 | 의미 |
|---|---|
| P(z) | 소음 전달 경로 (Primary path) |
| x(n) | 소음 신호 |
| d(n) | 귀에 도달한 소리 |
Secondary Path - 스피커에서 나온 소리가 전달되는 경로
Speaker → 공기 → 귀
수식
y(n) = S(z) * u(n)
| 기호 | 의미 |
|---|---|
| S(z) | 스피커 전달 경로 (Secondary path) |
| u(n) | 스피커 신호 |
| y(n) | 실제 전달된 소리 |
이 Secondary Path 때문에 ANC가 어려워진다.
왜냐하면
거리
공기
반사
때문에 위상 변화와 지연이 생기기 때문이다.
ANC의 핵심은 Adaptive Filter (적응형 필터)이다.
LMS (Least Mean Square)
가장 기본적인 적응 알고리즘
w(n+1) = w(n) + μ * e(n) * x(n)
| 기호 | 의미 |
|---|---|
| w(n) | 필터 계수 |
| μ | 학습률 (step size) |
| e(n) | error signal |
| x(n) | 입력 신호 |
즉, error가 줄어드는 방향으로 필터 계수를 계속 업데이트한다.
FxLMS (Filtered-x LMS)
ANC에서 가장 많이 사용되는 알고리즘이다.
핵심 아이디어
Secondary Path를 고려해서 입력을 먼저 필터링한다.
x'(n) = S(z) * x(n)
업데이트
w(n+1) = w(n) + μ * e(n) * x'(n)
즉, FxLMS = LMS + 음향 경로 보정
대부분의 ANC 연구와 제품은 FxLMS 기반이다.
ANC 구조는 크게 두 가지다.
Feedforward ANC : 소음을 미리 측정한다.
Noise → Reference mic → Controller → Speaker
장점 - 저주파 소음 제거에 강함
단점 - reference mic 필요
Feedback ANC
error mic만 사용한다.
Speaker → Error mic → Controller
장점 - 구조 단순
단점 - 안정성 문제 가능
Hybrid ANC
실제 제품은 대부분 Feedforward + Feedback 구조를 사용한다.
실제 이어폰 ANC 구조
예를 들어 AirPods 같은 제품은 다음 구조를 사용한다.
구성
외부 소음
↓
외부 마이크
↓
DSP
↓
스피커
↓
귀
↓
내부 마이크
DSP는
소음 분석
anti-noise 생성
error correction
을 초당 수만 번 반복한다.
최근 ANC 시스템은 단순 FxLMS만 사용하지 않는다.
Multi-band ANC
주파수 대역별로 ANC 수행
Low band ANC
Mid band ANC
High band ANC
Directional Filtering
여러 마이크로 소리 방향을 계산
Mic array → sound direction
이를 Beamforming이라고 한다.
ML Noise Classifier
AI가 소음 종류를 분류한다.
자동차
사람 목소리
엔진
그리고 ANC 강도를 조절한다.
ANC는 모든 소음을 제거하지 못한다.
특히 고주파 소음은 어렵다.
파장 공식
λ = c / f
| 주파수 | 파장 |
|---|---|
| 100 Hz | 3.4 m |
| 1000 Hz | 34 cm |
고주파는
파장이 짧고
위상 오차에 민감하다.
그래서 ANC는 보통
20Hz ~ 500Hz
영역에서 가장 효과적이다.
헤드보드 ANC는 이어폰 ANC와 다른 문제가 있다.
공간이 크다
이어폰
speaker → ear
헤드보드
speaker → 공기 → 머리 위치
Multi-channel ANC 필요
여러 스피커
Spk1 Spk2 Spk3
여러 마이크
Mic1 Mic2 Mic3
즉
Multi-channel ANC
Secondary Path 변화
사람이 움직이면
S(z) 변화
그래서 adaptive control이 중요하다.
ANC 시스템의 핵심은 다음 네 가지다.
파동 상쇄 (Destructive interference)
적응 필터 (LMS / FxLMS)
음향 전달 경로 모델링
실시간 DSP 제어
실제 제품에서는
Adaptive filter
+ Multi-band processing
+ Beamforming
+ ML noise detection
같은 기술이 함께 사용된다.
다음 글에서는 실제로 만들고 있는
헤드보드 ANC 시스템 아키텍처
코골이 주파수 분석
코골이 특화 ANC 알고리즘
을 정리해볼 예정이다.