Filters in Betaflight

This guide explains the different filters in Betaflight. I will also show you how I configure the filters for the best possible performance.

More Tutorials:

A Simple Introduction to the Filters in Betaflight

Data from the Gyro sensor can be very noisy, therefore we use software filters to clean it up. You probably have heard of “lowpass filter” and “notch filter” already.

Low Pass Filter

Lowpass filters allow low frequencies to pass through, and they block high frequencies which is not needed for our flight controller, and mostly is just noise. You set a cut-off frequency, and the flight controller will simply ignore frequencies above this value.

Notch Filter

Notch filters reject a small bandwidth of signal around a frequency, this is used to reduce the level of noise at a specific frequency.

BiQuad Filter

The Biquad filter is basically a lowpass filter, but with 2 samples averaging. It takes the PT1 lowpass filter we already have, and cascade with another filter on top of it. Having two filters you get more filtering, and you get a much sharper cutoff curve.

Dynamic Filter

Dynamic Filter is a feature you can enable in Betaflight.

These filters usually do a good job keep noise out if you tune and set the filter parameters properly. But there are times when oscillations and noise occur at an unexpected frequency, for example, bent props, or deteriorating motors. This is where Dynamic Filter comes in.

In a nutshell, the dynamic filter is an algorithm that can detect the frequency of the noise, and it can use notch filter to reduce it automatically.

The main downside of Dynamic filter is the increase of CPU load. On F3 flight controllers, you would have to lower your looptime from 8KHz to 4KHz or lower in order to run Dynamic Filter.

Filters Settings

Benefits of using PT1 filter, and removing Notch filter

  • More responsive and “locked in” thanks to the lower latency caused by additional filters
  • Tuning might become easier and it reduces prop wash oscillations

Warning

By turning off filters, you allow more noise to get into the system, that can cause oscillations and motor/ESC overheat in some builds.

With each change below, you need to check your motor temperature, and pay attention to noise and oscillations before proceeding to the next change. Otherwise you can risk burning your motors.

Steps

  1. Enable feature “Dyanmic Filter”, Go to PID tuning tab in Betaflight Configurator, Filter Settings
  2. Change D term lowpass filter (d_lowpass_type) to PT1, I think this should be fine on most of the quads out there. Anyway, to make sure, fly your quad around for 30 seconds, see if motors are hot
  3. Disable Gyro Notch filter 1 by setting frequency to 0, fly for 30s and check motors temp again
  4. Disable Gyro Notch filter 2 by setting frequency to 0, fly for 30s and check motors temp again
  5. If your quad is super clean and well tuned, you might be able to disable “D term notch filter” too, but it’s extremely risky for most people so I don’t personally do it, and we don’t recommend it

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).