디지털 필터: 이동평균, IIR, FIR
측정값의 노이즈를 MCU 계산으로 줄입니다. 가장 많이 쓰는 1차 IIR 필터 한 줄과 필터를 고르는 기준.
이동평균
최근 N개의 평균입니다. 구현이 쉽고 백색 노이즈에 효과적이지만, N개를 저장해야 하고 지연이 N/2 샘플입니다. 합계를 유지하며 가장 오래된 값을 빼면 매번 O(1)로 계산됩니다.
1차 IIR (지수 평균)
y = y + alpha * (x - y); // 0 < alpha ≤ 1
- 메모리는 이전 출력 하나
- alpha가 작을수록 부드럽고 느림
- 차단 주파수 대략 fc ≈ alpha · fs / (2π) (alpha가 작을 때)
RC 저역통과 필터를 디지털로 옮긴 것과 같아서, 가장 많이 쓰는 필터입니다.
FIR
계수 N개와 최근 입력 N개를 곱해 더합니다. 위상이 선형(모든 주파수가 같은 지연)이라 파형 모양이 보존되지만 계산량이 큽니다. Cortex-M4의 DSP 명령과 CMSIS-DSP 라이브러리가 빠르게 처리합니다.
무료 전자책이 주제를 한 권으로 이어 읽기 (PDF 3권)→고르는 기준
| 상황 | 필터 |
|---|---|
| 간단한 노이즈 제거 | 1차 IIR |
| 튀는 값(스파이크) 제거 | 중앙값 필터 |
| 날카로운 차단, 파형 보존 | FIR |
| 특정 주파수(진동) 제거 | IIR 노치 |
잊지 말 것
필터는 반드시 지연을 만듭니다. 제어 루프 안의 센서 필터를 세게 걸수록 위상 여유가 줄어 진동이 생깁니다. "필요한 만큼만" 거는 것이 원칙입니다.
영상으로 이어 보기제품은 어떻게 동작할까 시리즈 8편하늘 위 떠다니는 드론은 어떻게 동작할까? 프로펠러 4개로 뜨고 기우는 원리부터 비행 제어기 · PID · 센서 퓨전까지PROJECT COURSE칼만 필터로 로봇의 기울기를 구해 보고 싶다면밸런싱 로봇 하나를 요구사항, 회로와 PCB, 펌웨어, 앱까지 실무 순서대로 만드는 강의입니다. 10파트 165강.강의 살펴보기 →FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →