본문 바로가기
임베디드 관련 정리

필터 사용 전략

by minhyeok.lee 2025. 6. 8.
반응형

임베디드 시스템에서 필터 사용 전략

1. 임베디드 시스템에서 센서 신호나 제어 신호의 노이즈를 줄이고, 안정적인 동작을 보장하기 위해 필터링은 필수적인 전략
2.  임베디드 코딩에서 필터 사용 전략에 대한 내용을 아래에 정리


✅ 1. 필터 선택 기준

상황 추천 필터 특징
빠른 반응이 필요, 계산 자원 부족 이동 평균 (SMA) 단순 평균. 구현이 매우 간단함
최근 값을 강조하고 반응 빠름 지수이동 평균 (EMA / IIR / Low-pass) α 조절로 반응 속도/안정성 제어 가능
외란·스파이크 제거가 중요 중간값 필터 (Median Filter) 이상값에 강함, 계산량은 큼
고속 고정 주기, FFT 응용 FIR, IIR 디지털 필터 고성능 DSP용, 복잡함
상태 예측 필요 Kalman 필터 고정확도 예측용, MCU 성능 요구

✅ 2. STM32에 최적화된 적용 전략

필터 종류 전략
Low-pass Filter y = α * new + (1-α) * old
float, fixed-point 방식 모두 가능
Median Filter 작은 N값 (3~5개) 슬라이딩 윈도우로 사용
버퍼 관리에 유의
SMA (단순 평균) sum += new - old[N]; 구조로 ring buffer로 구현하면 메모리 절약
Kalman 초음파/가속도/자이로 등 센서 융합 시만 사용, STM32F4 이상에서 추천
Butterworth / FIR CMSIS-DSP 라이브러리 활용 (고성능, 연산량 많음)

✅ 3. 실제 적용 예시

class LowPassFilter {
  float alpha;
  float prev;

public:
  LowPassFilter(float alpha = 0.5f) : alpha(alpha), prev(0) {}

  float update(float input) {
    prev = alpha * input + (1.0f - alpha) * prev;
    return prev;
  }
};

✅ 4. 고도화 전략

전략 설명
Adaptive Filtering 상황에 따라 α 자동 조정 (예: 움직일 때 빠르게, 멈출 때 느리게)
Trend Break Detection 값이 급격히 변하면 필터 무시하고 초기화
Confidence Score 필터 신뢰도를 기준으로 동작을 제어 (예: UWB에서 거리 신뢰도 계산)
Periodic Reset 일정 시간 후 필터 상태 초기화로 drift 방지
Spike Filtering 변화량 임계값 초과 시 무시하거나 클램핑

✅ 5. 장단점 정리

필터 장점 단점
SMA 구현 간단 느리고 지연 큼
EMA 적절한 반응 속도 이상값에 약함
Median 이상값 제거 탁월 정렬 연산으로 연산량 ↑
Kalman 정확도 최고 설계/이해/계산량 어려움
FIR/IIR 정밀한 필터링 메모리/성능 요구

✅ 권장 조합 (센서 종류별)

센서 추천 필터
초음파, 거리 Median + EMA (중복 적용)
가속도, 자이로 EMA 또는 Low-pass (fixed-point)
UWB 거리 WMA + Trend Break + EMA
사용자 입력, 제어 신호 Low-pass 또는 Deadband 조합
반응형

댓글