This guide explains the different filters in Betaflight. I will also show you how I configure the filters for the best possible performance.
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 filters reject a small bandwidth of signal around a frequency, this is used to reduce the level of noise at a specific frequency.
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 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.
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
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.
- Enable feature “Dyanmic Filter”, Go to PID tuning tab in Betaflight Configurator, Filter Settings
- 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
- Disable Gyro Notch filter 1 by setting frequency to 0, fly for 30s and check motors temp again
- Disable Gyro Notch filter 2 by setting frequency to 0, fly for 30s and check motors temp again
- 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