Налаштування фільтрів на прикладі SpeedyBee Mario8 Fold

Трохи теорії

Шум – це термін, який ми часто чуємо, але що це насправді? Коли ми чуємо термін «шум», перша думка може бути про шум, який ми чуємо своїми вухами. Ми можемо назвати середовище «шумним», якщо є відволікаючий фоновий шум, який плутає те, що ми хочемо почути.

У гіроскопа та ПІД-контролера та ж проблема. Гіроскопи на наших контролерах польоту опиняються в шумному середовищі, прикріплені до рами з чотирма двигунами, що приводять у рух опори з високими обертами та рухаються в повітрі на високій швидкості. Отже, у квадрокоптері шум поділяється на дві основні категорії: вібраційний шум двигуна та загальний широкосмуговий шум.

ПІД-контролер— це система керування, яка використовується мікропрограмою польоту для корекції положення квадрокоптера відповідно до команд з апаратури або «заданої точки». Він містить низку параметрів: P, терміни I та D.

Ця система працює найкраще, коли отримує чітку та чисту інформацію, що стосується руху квадрокоптера. Багато шуму заплутує систему керування та може спричинити такі проблеми, як коливання або гарячі/згорілі двигуни.

Фільтрування – це назва процесу, у якому ми зменшуємо небажаний шум від сигналу гіроскопа.

Але яку частину сигналу гіроскопа ми хочемо зберегти і чого ми можемо позбутися?

Короткий курс з налаштування можна подивитись в цьому відео. Також розбір прикладу подібного польотного логу викладено у цьому блозі

Відкрийте журнал в Blackbox Explorer і натисніть «Gyro_Scaled» на правій панелі, це нефільтрований сигнал гіроскопа. Зніміть злітну та посадкову частини журналу, натиснувши «i» та «o».

Ось розбивка необробленого графіка частоти сигналу гіроскопа від типового 5-дюймового дрона FPV:

Betaflight Blackbox Filter Tuning Noise Spectrume Frequency Break Down

У Betaflight використовуються різні фільтри для приглушення шумів і вібрацій, які можуть впливати на стабільність польоту. Основні типи фільтрів:

1. Gyro Filters (гіроскопічні фільтри)

Фільтрують дані, які надходять із гіроскопа, перш ніж вони будуть оброблені PID-контролером.

  • Gyro Lowpass 1 / 2 – цифрові фільтри (типу PT1 або BIQUAD), які зменшують високочастотний шум.
  • Dynamic Notch Filter – адаптивний фільтр, який відстежує резонансні частоти й глушить їх.

2. D-Term Filters (фільтри для диференціальної складової PID)

Ці фільтри приглушують шум на D-компоненті PID-регулятора, бо він найбільше чутливий до шумів.

  • D-Term Lowpass 1 / 2 – як і Gyro, це PT1 або BIQUAD-фільтри.
  • D-Term Dynamic Notch – аналогічний гіроскопічному, але працює лише з D-компонентою.

3. RPM Filter (Resonant Peak Mitigation)

Це суперпотужний фільтр, який використовує дані про оберти моторів (через bidirectional DShot) і створює notch-фільтри на частотах, пов’язаних з обертами кожного мотора.

Gyro RPM Filter — це набор notch-фільтрів, які працюють точно на частотах обертання моторів, тобто там, де виникає найбільше вібрацій. Він використовує RPM-дані (оборотів на хвилину) з ESC (через bidirectional DShot), щоб динамічно створювати фільтри для кожного мотора і його гармонік.

Ось приклад графіку з частотою по осі X та рівнем амплітуди шуму по осі Y (схематично):

Застосування RPM фільтра:

Фільтр прибирає пік на основній частоті обертів та ще кілька гармонік (зазвичай 3). Це дозволяє:

  • Зменшити потребу в агресивній фільтрації,
  • Підвищити частоту зрізу інших фільтрів (gyro/d-term),
  • Зменшити latency фільтрації, тобто зробити дрон чутливішим і контрольованішим.

📈 Принцип роботи фільтра можна бачити на цьому графіку (наприклад 3 гармоніки починаючи з 90 Hz

В нашому прикладі ми бачимо 3 гармоніки з піками, що повторюються на частоті, кратній максимальній частоті шуму мотора 163 Hz, 326 Hz, 489 Hz

Також ми бачимо, що щум моторів починає інтенсивний ріст зі значення біля 90 Hz

📌 Відповідно наш GyroRpmFolter потрібно встановити в значення 3 гармоніки з початком в 90 Hz

Dynamic Notch Filter — це фільтр у Betaflight, який динамічно відстежує та приглушує вузькі резонансні частоти в системі дрона. Зазвичай це вібрації від пропелерів або рамки, які можуть виникати на певних частотах і сильно заважати PID-контролеру.


Як він працює?

Betaflight аналізує спектр шуму з гіроскопа і знаходить піки енергії (вузькі частотні області з високою амплітудою). Потім автоматично накладає notch-фільтри на ці частоти, які “вирізають” ці піки.

Кількість notch-фільтрів, які можуть бути активними одночасно.

  • Наприклад, Betaflight може накласти до трьох окремих notch-фільтрів на різні частоти, де бачить проблеми.
  • Більше = краще приглушення, але більше навантаження на процесор.

“Q-фактор” фільтра, визначає ширину вирізу на кожній частоті:

  • Більше Q = вузький notch, менша затримка.
  • Менше Q = ширший notch, сильніше глушить, але більше затримка.

Мінімальна частота, з якої починається пошук шумів.
Наприклад, 80Hz -усе, що нижче, фільтр ігноруватиме.

Максимальна частота, до якої фільтр працює.
Наприклад 500 Hz – фільтр працює лише в межах 80–500 Гц.

🔎 Зелені вертикальні лінії:

Це активні частоти Dynamic Notch Filters

вони автоматично накладаються на піки шуму.

📈 Спектр шуму (зелена область):

Показує енергію сигналу на різних частотах. Чим вище пік — тим сильніший шум.


Що видно на графіку:

  • Основний пік шуму на рівні 163 Гц — це основний механічний резонанс (викликаний мотором/рамкою).
  • 🔧 Dynamic Notch чітко “ловить” піки шуму (на ~163 Гц та інші менші).
  • Фільтр адаптується в межах заданих параметрів min_freq = 80 i max_freq= 540 у нас працює як і слід.
  • Q-фактор виглядає добре налаштованим: notch’и досить вузькі.

Визначення Q factor

Для визначення Q factor нам знадобиться программа pidtoolbox

Q factor може змінюватись з 0 до 1000

Меньше число- більша плотність фільтрів і меньше шуму доходить до гіроскопа, і навпаки-більше число-до гіроскопа доходить більше шумів

Не можна ставити значення 1000 бо це приведе до повного відключення фільтрації і неконтрольованого польоту і не рекомендується ставити менше ніж 300, тк квад стане в’ялим

Порівняємо 2 графака з значеннями Q factor = 500 (лівий) та Q factor = 400 (правий) в 2х стовбчиках в правій частині

На графіку видно що значення 400 (плотніший фільтр) працює більш ефективно, але ще залишаеться невеличка пляма

Відповідно значення в 350 буде скоріш за все оптімальним

D-Term Lowpass Filters — це фільтри, які приглушують високочастотні шуми в D-компоненті PID-регулятора. D-Term дуже чутливий до шумів, тому хороша фільтрація тут — критично важлива для стабільного польоту без вібрацій, перегріву моторів або осциляцій.

Чому це важливо:

  • Якщо LPF занадто низький → затримка → дрон погано реагує.
  • Якщо занадто високий → шум потрапляє в регулятор → перегрів або осциляції.

📐 Що таке D-Term?

У PID-регуляторі:

  • D (Derivative) відповідає за «прогнозування» руху — він реагує на зміну швидкості (derivative).
  • Якщо D отримує “шум”, то він сильно підсилює його → що викликає тремтіння, перегрів ESC/моторів або просто дрон летить нестабільно.

🔧 Які фільтри доступні для D-Term у Betaflight?

У Betaflight 4.6+ ти маєш два основних Lowpass фільтри, які можна використовувати окремо або разом:

НазваТипОсобливість
PT1ПростийМало затримки, легко тюнити
BIQUADБільш крутийБільше фільтрації, більше затримки
FIR2Більш просунутийСлабка затримка + ефективна фільтрація (найчастіше використовується)

Як працює Dynamic D-Term LPF:

Якщо ти вмикаєш dynamic LPF, Betaflight автоматично змінює частоту фільтра в залежності від рухів дрона:

  • 📉 На спокої: фільтр більш агресивний → захищає від шуму.
  • 🚀 Під час маневрів: фільтр відкривається (менше фільтрації) → менше затримки → краще керування.

На що впливає D-Term LPF:

СимптомМожлива причина
Гарячі моториЗамало фільтрації
Осциляції при падінніНадто багато фільтрації (запізнення D-term)
Мляве управлінняLPF надто низький
Висока затримкаКомбінація BIQUAD + низький Hz

Рекомендовані значення D-Term Lowpass для 8-дюймового дрона:

🔹 Варіант 1 — FIR2 (фіксована частота, спокійна фільтрація):

set dterm_lpf1_type = FIR2
set dterm_lpf1_static_hz = 70

  • FIR2 дає дуже чистий сигнал з малою затримкою.
  • Частота 70 Гц добре підходить для великих рам.

🔹 Варіант 2 — PT1 з Dynamic LPF (адаптивна фільтрація):

set dterm_lpf1_type = PT1
set dterm_lpf1_dyn_min_hz = 60
set dterm_lpf1_dyn_max_hz = 110
set dterm_lpf1_dyn_lpf_curve_expo = 7

  • У спокої фільтр захищає на 60 Гц.
  • Під час активного польоту фільтр піднімається до 110 Гц.

Розберемо наш лог

Що видно зі спектру:

  • Максимальний пік шуму: ~163 Hz (це підписано як “Max motor noise”).
  • Другорядний шум — є також нижче 100 Hz.
  • Діапазон динамічного фільтра: 73–185 Hz (зелені вертикальні лінії).

✅ Аналіз:

ПараметрЗначенняКоментар
dyn_min_Hz73 Hz🔵 Добре — нижче основного піка, але не надто низько. Не рекомендовано фільтрувати в діапазоні 40-60 Hz тому що фільтрація в цьому діапазоні погіршує керування та спричиняє зайві осциляції
dyn_max_Hz185 Hz✅ Ідеально — трохи вище найвищого шуму (163 Hz), щоб D-Term був “вільніший” під час активних рухів
lpf2_static_Hz150 Hz🟡 Непогано, але можливо трохи занизько, бо знаходиться прямо на піку

💡 Рекомендації:

  1. D-Term LPF1 (динамічний) — діапазон 73–185 Hz дуже хороший, змінювати не потрібно.
  2. D-Term LPF2 (статичний):
    • Якщо відчувається “млявість”, можна трохи підняти до 170–180 Hz.
    • Якщо дрон стабільний, гарні мотори — залишаємо як є.

set dterm_lpf1_type = PT1
set dterm_lpf1_dyn_min_hz = 73
set dterm_lpf1_dyn_max_hz = 185

set dterm_lpf2_type = PT1
set dterm_lpf2_static_hz = 170 # (опціонально підняти з 150)


Gyro Lowpass Filters — це фільтри нижніх частот, які використовуються для обробки даних з гіроскопа (gyro) на твоєму дроні. Вони відсікають високочастотні шуми, які можуть виникати під час польоту, особливо через вібрації або електричні перешкоди.

Іх значення може змінюватись від типу встановленного гіроскопу

Найпопулярніші типи гіроскопів у контролерах:

Gyro Lowpass 1 (основний фільтр):

  • Найчастіше використовується динамічний фільтр, тобто частота фільтрації змінюється в залежності від інтенсивності руху дрона.
  • Тип фільтра: PT1 (найпоширеніший) або BIQUAD (сильніше фільтрує, але має більшу затримку).
  • Частота: зазвичай від 100 до 250 Гц.

Gyro Lowpass 2 (додатковий фільтр):

  • У багатьох дронів вимкнений за замовчуванням.
  • Вмикається, якщо гіроскоп сильно “шумить”, або якщо потрібно ще краще прибрати високочастотні вібрації

Рекомендовані значення Gyro Lowpass при ввімкненій RPM-фільтрації:

ГіроскопШумністьGyro LPF1Gyro LPF2 (Hz)Примітки
MPU6000НизькаВимкнено500–600Найчистіший гіроскоп, можна максимально слабку фільтрацію
ICM20689 / 20602СередняВимкнено300–500Стабільний, але трохи шумніший
ICM42688-PТрохи шумнийВимкнено200–300Найчастіше ставлять ~250
ICM42605ШумнийВимкнено150–200Потребує більш агресивної фільтрації
BMI270 / BMI280Дуже шумнийВимкнено100–150Погано поводиться на слабкій фільтрації
BMI323 (новий)ШумнийВимкнено150–200Часто ставлять додаткові фільтри
  • RPM-фільтри дуже ефективно прибирають шуми, прив’язані до обертів моторів, і тому можна використовувати значно менш агресивну фільтрацію на гіроскопі або навіть взагалі її вимкнути.
  • На BF 4.6 так і рекомендується:

📌 Рекомендовані налаштування з RPM-фільтрацією (Betaflight 4.6):

🔹 Gyro Lowpass 1: повністю вимкнено
🔹 Gyro Lowpass 2: увімкнений на високій частоті (500 Гц), працює як «страховка» від надвисокочастотного шуму
🔹 Це дозволяє PID-контролеру працювати з максимальною «свіжістю» даних.

set gyro_lowpass_type = PT1
set gyro_lowpass_hz = 0 # тобто вимкнено (0 = OFF)
set gyro_lowpass2_type = PT1
set gyro_lowpass2_hz = 500

Остаточні налаштування- після 500Hz майже немає гармонік.

Результуюча концепція фільтра надана на скріні

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Прокрутка до верху