베타플라이트의 노이즈 필터 종류와 특징


베타플라이트에서 필터란 무엇인가요?
베타플라이트에서 필터는 드론의 센서 데이터에서 노이즈를 제거하거나 정제하는 소프트웨어 도구입니다. 드론은 비행 중 모터 회전, 프로펠러 진동, 프레임 공진 등으로 인해 자이로스코프(gyroscope)와 가속도계(accelerometer)에서 불필요한 신호, 즉 노이즈가 섞인 데이터를 생성합니다. 이 노이즈는 드론의 움직임을 정확히 반영하지 못해 비행이 불안정해질 수 있습니다.
필터가 필요한 이유는 노이즈를 걸러내 깨끗한 신호를 만들어 비행 컨트롤러(Flight Controller, FC)가 드론을 안정적으로 제어할 수 있게 하기 위함입니다. 예를 들어, 모터가 고속으로 회전하면 고주파 노이즈가 발생하는데, 이를 제거하지 않으면 드론이 흔들리거나 PID 제어가 과민하게 반응할 수 있습니다.
필터링은 자이로와 가속도계의 원시 데이터에서 고주파 노이즈(모터 소음, 진동)나 특정 주파수 대역(공진 주파수)을 줄이거나 제거하는 과정입니다. 이렇게 정제된 신호는 PID 컨트롤러(Proportional-Integral-Derivative)가 사용합니다. PID 컨트롤러는 이 데이터를 바탕으로 모터 출력을 조정해 드론의 자세와 움직임을 안정적으로 유지합니다. 즉, 필터는 센서와 PID 제어 사이의 중간 역할을 하며, 드론이 부드럽고 정확하게 비행하도록 돕습니다.

1. 노이즈 제거를 위한 기본 필터
고주파 노이즈를 줄여 신호를 부드럽게 만드는 데 초점을 맞춘 필터들입니다.
  • 저역통과필터 (Low Pass Filter, LPF)
    고주파 노이즈를 제거하고 저주파 신호만 통과시킵니다. 베타플라이트에서 가장 기본적인 필터로, 모터 노이즈나 프로펠러 진동을 줄이는 데 사용됩니다.
    • 정적 LPF (Static LPF): 고정된 차단 주파수를 사용합니다.
    • 다이나믹 LPF (Dynamic LPF): 비행 상황이나 스로틀 값에 따라 차단 주파수가 동적으로 변합니다.
    • 딜레이: 차단 주파수(예: 100Hz) 기준으로 약 1~2ms의 지연이 발생합니다.
  • PT1, PT2, PT3 필터
    저역통과필터의 하위 유형으로, 차수에 따라 감쇠 특성이 달라집니다.
    • PT1 (1차): 단순하고 빠른 응답을 제공합니다. 지연이 적어 반응성을 중시할 때 적합합니다.
      • 딜레이: 약 1ms 미만입니다.
    • PT2 (2차): PT1보다 강한 감쇠를 제공하며, 노이즈 제거와 지연 간 균형을 맞춥니다.
      • 딜레이: 약 1.5~2ms입니다.
    • PT3 (3차): 가장 강한 감쇠를 제공하며 신호를 매우 부드럽게 만듭니다. 지연이 크므로 신중히 사용해야 합니다.
      • 딜레이: 약 2~3ms입니다.
  • Biquad 필터
    2차 저역통과필터로, PT2와 비슷한 감쇠율을 제공합니다. 과거 D항 필터링에 주로 사용되었으나, 계산 부하와 지연 때문에 최근에는 PT2나 PT3로 대체되는 추세입니다.
    • 특징: 강한 노이즈 제거가 가능하나 신호 변형(오버슈트) 위험이 있습니다.
    • 딜레이: 약 2ms 정도로, PT2와 비슷합니다.

2. 특정 주파수 타겟팅 필터
특정 주파수 대역의 노이즈를 선택적으로 제거하는 데 특화된 필터들입니다.
  • 노치필터 (Notch Filter)
    특정 주파수 대역만 제거합니다. 모터 회전이나 프레임 공진에서 발생하는 노이즈를 없애는 데 효과적입니다.
    • 정적 노치필터 (Static Notch Filter): 고정된 중심 주파수를 설정합니다.
    • 다이나믹 노치필터 (Dynamic Notch Filter): FFT로 노이즈 주파수를 실시간 분석해 중심 주파수를 조정합니다.
    • 딜레이: 약 1~2ms이며, 다이나믹 노치는 FFT 계산으로 최대 2.5ms까지 늘어날 수 있습니다.
  • RPM 필터 (RPM Filter)
    양방향 DShot을 통해 모터의 실시간 회전 속도(RPM)를 측정하고, 이에 맞춘 노치필터를 생성합니다. 모터별 주파수와 배수를 정밀하게 제거합니다.
    • 특징: 모터 노이즈 제거에 특화되었습니다.
    • 딜레이: 각 노치당 약 1~2ms이며, 여러 노치가 중첩되면 최대 3ms까지 발생할 수 있습니다.
  • 다이나믹 노치 FFT (Dynamic Notch FFT)
    고속 푸리에 변환(FFT)을 활용해 자이로 데이터를 분석하고, 가장 강한 노이즈 주파수를 찾아 노치필터를 적용합니다.
    • 특징: 쌍봉(dual peak) 설정이 가능하며, 프롭 손상이나 공진 같은 변동 노이즈에 적응합니다.
    • 딜레이: FFT 처리로 인해 약 2~3ms의 지연이 발생합니다.

3. 통계적 신호 추정 필터
센서 데이터를 정제하고 최적의 신호를 추정하는 데 사용됩니다.
  • 칼만 필터 (Kalman Filter)
    자이로와 가속도계 데이터를 통계적으로 분석해 노이즈를 줄이고 최적의 신호를 추정합니다.
    • 특징: 베타플라이트에서는 간소화된 형태로 구현됩니다. 과거 "Fast Kalman Filter(FKF)"로 사용되었으나, 계산 부하와 메모리 문제로 인해 현재는 PT1/PT2 기반 필터로 대체되는 추세입니다.
    • 용도: 센서 융합(sensor fusion)과 신호 안정화에 유용합니다. 센서 융합은 자이로스코프(회전 속도 측정)와 가속도계(중력 방향 및 가속도 측정)에서 오는 데이터를 결합해 드론의 정확한 자세와 움직임을 계산하는 과정입니다. 예를 들어, 자이로 데이터는 빠르고 민감하지만 시간이 지나면 오차가 쌓이고, 가속도계는 느리지만 장기적으로 정확합니다. 칼만 필터는 이 두 센서의 장점을 합쳐 노이즈를 줄이고 더 신뢰할 수 있는 데이터를 만듭니다. 이렇게 융합된 신호는 PID 컨트롤러가 드론을 안정적으로 제어하는 데 사용됩니다.
    • 딜레이: 베타플라이트에서는 약 1~2ms의 지연이 발생합니다.
    • 베타플라이트 vs 이뮤플라이트 차이점:
      베타플라이트의 칼만 필터는 자이로 데이터의 고주파 노이즈 제거에 초점을 맞췄습니다. 간소화로 연산 부담을 줄였지만, 실시간 최적화가 부족해 1ms에서 2ms까지의 지연이 남습니다. 최신 버전에서는 RPM 필터와 다이나믹 노치 같은 대안이 주를 이루며 칼만 필터 사용이 줄었습니다. 반면, 이뮤플라이트(EmuFlight)는 칼만 필터를 핵심으로 활용합니다. PT1과 비슷한 특성을 가지되, 예측과 측정값의 노이즈 비율을 분석해 차단 주파수를 동적으로 조정합니다. 이 방식은 신호 자체를 최적화하며, 특히 작은 드론(3인치 이하)에서 고주파 노이즈만 처리하는 깨끗한 빌드에 적합합니다. 이뮤플라이트의 칼만 필터는 지연을 0.5~1ms로 줄여 빠른 반응성을 제공합니다. 베타플라이트의 지연이 더 큰 이유는 칼만 필터가 주력으로 개선되지 않고 과거 구현에 머물며 현대 하드웨어에 맞춘 최적화가 부족하기 때문입니다. 반면, 이뮤플라이트는 칼만 필터를 지속적으로 발전시켜 실시간 성능을 극대화했습니다.

필터 활용 팁
  • 중첩 사용: LPF, 노치필터, RPM 필터를 조합할 수 있습니다. 하지만 과도한 필터링은 지연을 늘리니 주의해야 합니다.
  • 튜닝 방법: Blackbox 로그를 분석해 노이즈 주파수를 파악하고 필터를 최적화합니다.
  • 하드웨어 고려: 모터, 프레임, 프로펠러 구성에 따라 적합한 필터가 달라집니다.

결론
베타플라이트의 필터는 기본 노이즈 제거(LPF, PT1/2/3, Biquad), 특정 주파수 타겟팅(노치, RPM, FFT), **통계적 추정(칼만)**으로 나눌 수 있습니다. 각 필터는 센서 데이터를 정제해 PID 컨트롤러가 드론을 안정적으로 제어하도록 돕습니다. 최적의 비행을 위해 실험과 로그 분석이 필수입니다.

댓글

이 블로그의 인기 게시물

드론의 기초 - FPV의 구성과 이해

From BLHeli_32 to AM32: A Guide to Ease Your Transition Concerns

완전 초보도 따라하는 하이엔드 레이싱 드론 만들기 #08 - 베타플라이트(Betaflight) 완전정복 / 컴퓨터에 베타플라이트 컨피규레이터 설치하기