Часть 1: Настройка фильтров в Betaflight 4.5
Внимание! “Актуально для Betaflight 4.5.x (в других версиях названия пунктов и поведение фильтров могут отличаться).”
Цель этого урока — последовательно и спокойно разобрать настройку фильтров (Filter Tuning) в Betaflight 4.5 так, чтобы вы понимали, что именно делает каждый фильтр, почему он влияет на задержку (delay), и как по логам Blackbox (Blackbox logs) принять решение “поднимать частоты” или “фильтровать сильнее”.
Место в серии. Фильтры (Filters) → PID (PID tuning) → Рейты (Rates). Каждый следующий шаг опирается на предыдущий.
Глоссарий существенных терминов
- Betaflight Configurator (Betaflight Configurator) — программа настройки Betaflight, в которой вы меняете параметры, сохраняете конфигурацию и работаете с Blackbox‑логами.
- Blackbox‑логирование (Blackbox logging) — запись диагностических данных полёта (в том числе данных гироскопа) во встроенную флеш‑память (onboard flash) или на SD‑карту (SD card) для последующего анализа.
- Частота логирования (logging rate) — частота дискретизации записи в Blackbox. От неё зависит, какие частоты вы вообще сможете увидеть в анализе.
- Предел Найквиста (Nyquist frequency) — максимальная частота, которую корректно можно наблюдать при дискретизации с частотой \(f_s\): \(f_{max}=\frac{f_s}{2}\).
- Gyro rate (частота гироскопа) — частота, с которой гироскоп выдаёт данные в контроллер (например, 8 kHz или 3.6 kHz).
- PID loop rate (частота PID‑цикла) — частота, с которой контроллер пересчитывает управляющее воздействие по PID‑регулятору.
- Алиасинг (Aliasing) — эффект, при котором шум выше половины частоты дискретизации “складывается” и проявляется как ложные компоненты на более низких частотах, влияя на PID‑контур.
- Фильтр нижних частот (Low‑pass filter, LPF) — фильтр, который подавляет высокочастотный шум, оставляя низкочастотную полезную часть сигнала. Обычно описывается частотой среза (cutoff frequency).
- Частота среза (cutoff frequency) — частота, начиная с которой фильтр начинает заметно ослаблять сигнал.
- Нотч‑фильтр (Notch filter) — фильтр, “вырезающий” узкую полосу частот вокруг заданного центра. Используется для подавления резонансов и моторных гармоник.
- RPM‑фильтр (RPM filter) — набор нотч‑фильтров, которые “следуют” за оборотами моторов (RPM) и подавляют шум моторов и их гармоник.
- Гармоника (Harmonic) — шум на частоте, кратной основной частоте (например, 2×, 3× от фундаментальной частоты мотора).
- Crossfading (кроссфейдинг RPM‑фильтра) — плавное “включение” RPM‑фильтров от минимальной частоты (min Hz) до полной силы в диапазоне fade range.
- Q‑фактор (Q factor) — параметр “узости” нотча: чем выше Q, тем уже и точнее вырез, и тем меньше задержка, но тем выше риск “пропустить” шум по бокам.
- Динамический нотч (Dynamic notch) — фильтр, который “сканирует” диапазон частот и подавляет резонансные пики (например, резонансы рамы) на лету.
- Резонанс рамы (Frame resonance) — устойчивый шум на определённой частоте (часто виден как яркая вертикальная полоса в Frequency vs Throttle), возникающий из‑за механики рамы, креплений и “гибких” элементов.
- D‑term (D‑составляющая) — дифференциальная часть PID‑регулятора. Она полезна для демпфирования и контроля быстрых изменений, но сильно усиливает высокочастотный шум, поэтому требует качественной фильтрации.
- PT1‑фильтр (PT1 filter) — простой и распространённый low‑pass фильтр первого порядка. Обычно даёт понятный компромисс между задержкой и подавлением шума.
- Biquad‑фильтр (Biquad filter) — фильтр второго порядка, который может обеспечивать более “жёсткое” подавление шума при приемлемой задержке, но требует внимательной настройки.
- Attenuation (ослабление) — насколько сильно фильтр уменьшает амплитуду шумовых частот.
- Phase delay / Filter delay (фазовая задержка / задержка фильтра) — задержка полезного сигнала, возникающая из‑за фильтрации. Меньше задержка — обычно лучше “ощущение” и реакция, но выше требования к чистоте шума.
Содержание
- 1. Быстрая проверка Blackbox‑логирования перед настройкой фильтров
- 2. Как открыть лог и включить нужный вид графика в Blackbox Explorer
- 3. Что именно мы настраиваем во вкладке Filters
- 4. Gyro Low‑pass Filters: Gyro Lowpass 1 и Gyro Lowpass 2 (антиалиасинг)
- 5. RPM Filters: моторный шум, гармоники, crossfading, Q и “dimming/weights”
- 5.1. Моторный шум как главный источник вибраций
- 5.2. Гармоники и почему обычно используют до 3 RPM‑фильтров
- 5.3. RPM filter crossfading: min Hz и fade range
- 5.4. Q‑factor RPM‑фильтров: как повышать и как проверять
- 5.5. Bi‑blade vs Tri‑blade: как меняется профиль гармоник
- 5.6. RPM filter dimming / weights: ослабление отдельных гармоник
- 6. Dynamic Notch: резонанс рамы, число нотчей, min/max частоты и Q
- 7. D‑term Low‑pass: почему он критичен, и два подхода к настройке
- 7.1. Почему D‑term усиливает высокочастотный шум
- 7.2. Два подхода: “Karate” (2×PT1) и “AOS” (dynamic biquad)
- 7.3. Полезные сигналы, задержка и ослабление
- 7.4. Как подстраивать “Karate” через множитель (multiplier)
- 7.5. Как включить “AOS” (ручная настройка) и как его тюнить
- 7.6. Dynamic curve expo: как форма кривой влияет на задержку и риск осцилляций
- 8. Yaw Low‑pass: зачем он существует и когда его трогать
- 9. Чек‑лист усвоения материала (таблица)
1. Быстрая проверка Blackbox‑логирования перед настройкой фильтров
Перед тем как настраивать фильтры, имеет смысл один раз убедиться, что Blackbox‑логирование (Blackbox logging) настроено корректно, и что вы реально можете открыть лог и посмотреть в нём частотную картину. Это экономит время, потому что фильтры настраиваются не “по ощущениям”, а по тому, что вы видите в данных.
1.1. Устройство логирования и частота записи
Во вкладке Blackbox в Betaflight Configurator выберите устройство логирования Blackbox logging device:
- Onboard flash (встроенная флеш‑память), если на полётном контроллере есть flash‑чип;
- SD card (SD‑карта), если на контроллере есть слот SD.
Далее задайте частоту записи Blackbox logging rate. Важно понимать практическую механику: в Betaflight частота Blackbox обычно задаётся как доля от частоты PID‑цикла (например, 1/4, 1/8 и т. п.). То есть эффективная частота логирования получается так:
$$f_s \approx f_{PID}\cdot r$$
где \(f_{PID}\) — частота PID loop rate, а \(r\) — выбранная доля (например, 1/4 или 1/8).
Минимально разумный уровень для анализа фильтров — получить \(f_s\) не ниже ~1 kHz, потому что при дискретизации вы сможете оценивать частоты только до половины частоты записи (предел Найквиста):
$$f_{max}=\frac{f_s}{2}$$
где \(f_s\) — частота логирования (logging rate), а \(f_{max}\) — верхняя граница реально наблюдаемых частот.
Примеры (для наглядности):
- Если PID loop = 8 kHz и Blackbox logging rate = 1/8, то \(f_s \approx 1 kHz\) и вы видите до ~500 Hz.
- Если PID loop = 8 kHz и Blackbox logging rate = 1/4, то \(f_s \approx 2 kHz\) и вы видите до ~1000 Hz.
На практике для фильтров часто удобно стремиться к эффективным ~1.6–2 kHz (в зависимости от вашей конфигурации), потому что это даёт окно примерно до 800–1000 Hz и одновременно не заполняет память слишком быстро.
1.2. Почему “слишком высокая частота” редко даёт пользу
Можно поставить 4 kHz или 8 kHz, но здесь важно понимать конкретный компромисс. Дополнительной “практической” информации обычно становится не так много, зато лог начинает заполняться очень быстро. В итоге вы чаще вынуждены очищать память и переносить логи на компьютер, и это мешает нормальному циклу: полёт → лог → анализ → правка → повтор.
1.3. Про “raw gyro data” в Betaflight 4.5
Отдельно проговорим важный момент для Betaflight 4.5: “сырые” данные гироскопа (raw gyro data) записываются в лог постоянно, независимо от выбранного параметра Blackbox debug mode во вкладке Blackbox. Поэтому Blackbox debug mode можно оставить None или поставить любой удобный — сырые данные всё равно будут в логе, а именно это нам и нужно для настройки фильтров.
Перед началом настройки фильтров имеет смысл очистить память (например, onboard dataflash), если она заполнена.

Часто она оказывается полной, и тогда вместо свежих данных вы будете работать с “историей”, которая уже не относится к текущему состоянию квадрокоптера.
↑ К оглавлениюПрактическая дисциплина. Настройка фильтров происходит быстрее всего, когда вы сознательно собираете “свежие”, предельно короткие логи под решение конкретной задачи. Не пытаетесь сразу записать большой объём данных, где будет намешано всё сразу. Ставьте короткую задачу, разбирайтесь и переходите к другой.
2. Как открыть лог и включить нужный вид графика в Blackbox Explorer
2.1. Режим Mass Storage в Betaflight Configurator
Когда приходит время смотреть собранные логи, откройте вкладку Blackbox в Betaflight Configurator и включите режим Activate Mass Storage Device Mode. Через несколько секунд система откроет окно, где логи будут отображаться так, как будто это обычная флешка. После этого вы просто выбираете нужный лог и открываете его.
Betaflight Configurator — вкладка Blackbox и кнопка Activate Mass Storage Device Mode

Открытие выбранного лога
2.2. Frequency vs Throttle: главный график для фильтров
После открытия лога в Blackbox Explorer вас интересует не “временной график”, а спектральная картина. Поэтому ключевой вид для дальнейшей работы — Frequency vs Throttle (частота по вертикали и газ по горизонтали).
Чтобы получить этот вид:
- Откройте Overlay и включите Analyzer (анализатор).
- Выберите источник данных: Gyro scaled, либо Raw gyro, либо Pre‑filtered gyro — конкретный вариант зависит от того, как именно ваша версия Betaflight обозначает эти данные.
- Переключите тип графика на Frequency vs Throttle.

Blackbox Explorer — Overlay → Analyzer (включено)

Blackbox Explorer — переключатель Frequency vs Throttle
Именно этот график (красно‑чёрная “тепловая” карта) будет вашей основной опорой для решений по фильтрам дальше по тексту.
2.3. Масштаб по частоте и “яркость” (luminosity)
У этого графика есть два визуальных управления, которые реально важны:
- Масштаб по частоте — (горизонтальный ползунок) вы можете “сузить” или “расширить” диапазон частот, чтобы рассмотреть детали. На старте удобно оставить масштаб наиболее “широким”, чтобы видеть картину до ~1000 Hz.
- Luminosity (яркость/экспозиция) — (вертикальный ползунок) — настройка того, насколько “ярко” отображаются интенсивные участки. Смысл простой: вы хотите видеть все ключевые особенности, но не доводить картину до состояния, когда всё “белое” и детали выгорают.

3. Что именно мы настраиваем во вкладке Filters
Дальше мы будем идти по вкладке Filters (обычно она находится внутри раздела PID Tuning в Betaflight Configurator) и разбирать её блоки по порядку. Логика порядка здесь простая: сначала вы наводите порядок с гироскопом и моторным шумом, затем закрываете резонансы рамы, затем обязательно приводите в порядок D‑term фильтрацию, и в конце смотрите на специфическую фильтрацию по yaw.
Betaflight Configurator — PID Tuning → Filters (общий вид вкладки)
3.1. Порядок в этом уроке
- Gyro low‑pass filters (фильтры низких частот гироскопа)
- Gyro RPM filter (RPM‑фильтр гироскопа)
- Dynamic notch filter (динамический режекторный нотч‑фильтр)
- D‑term low‑pass filters (фильтры нижних частот D‑term)
- Yaw low‑pass filter (фильтр низких частот для канала рыскания (Yaw))
3.2. Почему статические Notch (Gyro/D‑term notch) здесь не рассматриваются
В этом руководстве мы сознательно не разбираем gyro notch filters и D‑term notch filters как основной рабочий инструмент, потому что в современных сборках их роль во многом заменяют RPM filters и dynamic notch. Статические нотчи остаются больше как “наследие” (legacy) и обычно не являются тем, на что стоит опираться в типичной текущей настройке.
3.3. Expert Mode: зачем он нужен
Перед настройкой включите Expert Mode (экспертный режим) в верхней панели Betaflight Configurator. Произойдут две вещи: откроется часть дополнительных настроек и некоторые ползунки будут двигаться в расширенном диапазоне (по сравнению с обычным режимом).
Здесь скрин: Betaflight Configurator — чекбокс Expert Mode (в верхней чёрной панели)

4. Gyro Low‑pass Filters: Gyro Lowpass 1 и Gyro Lowpass 2 (антиалиасинг)
4.1. Gyro Lowpass 1: почему обычно оставляют выключенным
В Betaflight есть два low‑pass фильтра для гироскопа: Gyro low‑pass 1 и Gyro low‑pass 2. При этом Gyro low‑pass 1 по умолчанию выключен, и для большинства современных сборок он действительно не нужен. За годы в Betaflight добавили много фильтрации, и этот первый фильтр чаще становится лишним звеном, которое добавляет задержку без реальной пользы.
Поэтому практическое правило здесь простое: если у вас нет конкретной причины включать Gyro Lowpass 1 — оставьте его выключенным.
Filters — Gyro Lowpass 1 (по умолчанию выключен)
4.2. Gyro Lowpass 2 как anti‑aliasing filter: логика и настройка
Gyro low‑pass 2 интересен тем, что он работает в первую очередь как anti‑aliasing filter (антиалиасинговый фильтр). Смысл в следующем: если вы используете разные частоты gyro rate и PID loop rate, например 8k gyro / 4k PID, то появляется риск алиасинга.
В такой схеме высокочастотный шум выше частоты, соответствующей PID‑циклу, может “сложиться” и проявиться на более низких частотах уже внутри PID‑контуров. Это не выглядит как “шум где‑то далеко вверху”, это превращается в реальные помехи там, где регулятор принимает решения.
Чтобы этого избежать, Gyro Lowpass 2 фильтрует данные гироскопа на частоте гироскопа (то есть до того, как эти данные попадут в PID‑цикл) и вырезает слишком высокие компоненты. Это и есть его антиалиасинговая роль.
При этом важно: значение по умолчанию часто стоит 500 Hz, и для подавляющего большинства сборок это слишком низко. Низкий срез означает лишнюю задержку.
Практическое действие, которое делается дальше: поднять срез Gyro Lowpass 2, используя Gyro filter multiplier, сдвинув ползунок максимально вправо так, чтобы Gyro Lowpass 2 стал примерно 1 kHz. Это даёт достаточную антиалиасинговую защиту и одновременно заметно снижает задержку.
Gyro filter Multiplier (сдвинут вправо), Gyro Lowpass 2.Static Cutoff Frequency ≈ 1000 Hz

4.3. Когда Gyro Lowpass 2 можно отключить
Если у вас gyro rate равен PID loop rate, например 8k/8k или 3.6k/3.6k, то риска алиасинга из‑за несоответствия частот у вас нет, потому что данные гироскопа не “пересэмпливаются” в более низкочастотный PID‑контур.
В такой ситуации Gyro Lowpass 2 можно безопасно отключить, потому что вы не используете его антиалиасинговую функцию.
↑ К оглавлениюЕсли же вы сомневаетесь, равны ли частоты, то практичный компромисс звучит так: оставьте Gyro Lowpass 2 включённым, но поднимите срез до 1000 Hz. Это не наносит вреда и помогает избежать редких, но неприятных сценариев.
5. RPM Filters: моторный шум, гармоники, crossfading, Q и “dimming/weights”
5.1. Моторный шум как главный источник вибраций
Для большинства FPV‑квадрокоптеров основной источник шума — это моторный шум (motor noise). У вас четыре мотора с пропеллерами, они неизбежно имеют небольшой дисбаланс, и этот дисбаланс создаёт вибрации на частотах, связанных с оборотами моторов.
Этот шум двигателей лучше всего устраняется RPM‑фильтрацией (фильтрацией оборотов).
На графике Frequency vs Throttle моторный шум обычно появляется примерно от ~100 Hz и выше, а по мере увеличения газа (throttle) при этом растут частота и интенсивность шума.
Frequency vs Throttle — пример зоны моторного шума, растущей с throttle между двумя сплошными оранжевыми линиями.
5.2. Гармоники и почему обычно используют до 3 RPM‑фильтров
У моторного шума часто есть не только базовая частота, но и кратные ей гармоники. Например, если у вас трёхлопастной пропеллер (tri‑blade), то вы логично можете увидеть компоненты на частоте, кратной оборотам (базовая частота умноженная на 3): каждый проход лопасти над лучом рамы создаёт дополнительный периодический вклад в вибрации.
В логах обычно различают:
- Основную (fundamental) составляющую моторного шума (базовая частота);
- Вторую гармонику (2nd harmonic) — часто заметно менее выраженную;
- Третью гармонику (3rd harmonic) — тоже менее выраженную, чем основная, но нередко заметно более яркую, чем вторая.
Именно поэтому в настройках RPM‑фильтра обычно есть возможность задавать количество гармоник (часто до трёх): этого достаточно, чтобы “отфильтровать” помехи, мешающие правильной работе контроллера.
5.3. RPM filter crossfade (Кроссфейд фильтра RPM): RPM Filter Min Frequency (минимальная частота) и fade range (диапазон затухания)
Если смотреть на график моторного шума внимательно, то часто видно, что он не “уходит” прямо до 0 Hz. У него есть область, ниже которой он просто не проявляется. На этом построена полезная логика RPM filter crossfade: фильтр включается не сразу “на полную”, а плавно набирает силу (подавление) в необходимом диапазоне частот.
Смысл параметров:
- Gyro RPM Filter min Frequency [Hz] — частота, с которой начинает появляться фильтрация;
- Fade range — диапазон, в котором подавление фильтром усиливается до максимального значения (параметр
rpm_filter_fade_range_hzдоступен только через CLI)
Значения CLI по умолчанию:
set rpm_filter_min_hz = 100 set rpm_filter_fade_range_hz = 50
Пример интерпретации: если rpm_filter_min_hz = 100 Hz и rpm_filter_fade_range_hz = 50 Hz, то фильтрация начинает “проявляться” от 100 до 150 Hz и достигает максимальных значений к 150 Hz.
Полезный подход: вы смотрите на свой лог и выбираете, где моторный шум становится по‑настоящему заметным, и подстраиваете min/fade так, чтобы к моменту, когда шум становится сильным, фильтры уже работали в полную силу. В приведённой логике можно экспериментировать, например сделать так, чтобы полная сила фильтрации достигалась не к 150, а к 200 Hz, если именно после 200 Hz шум начинает доминировать.
5.4. Q‑factor RPM‑фильтров: как повышать и как проверять
RPM‑фильтры — это по сути режекторные нотч‑фильтры (notch filters), которые ослабляют сигнал в диапазоне вокруг заданной частоты, а “ширина” этого диапазона определяется Q‑фактором. Чем выше Q, тем уже и точнее нотч, и тем меньше задержка (delay), которую этот нотч создаёт.
Важное замечание: слишком высокий Q фильтра может снизить эффективность фильтрации, потому что вырезаемый фильтром диапазон частот становится слишком узким.
Логика настройки звучит ровно так, как вы бы хотели её слышать: повышайте Q настолько, насколько можете, пока не увидите, что моторный шум начинает “просачиваться” в отфильтрованный сигнал. Когда шум начинает просачиваться — вы немного снижаете Q обратно.
При проверке вы сравниваете:
- Raw gyro (сырые / необработанные данные гироскопа) — чтобы видеть какие данные идут непосредственно с гироскопа до фильтрации;
- Filtered gyro (отфильтрованные данные гироскопа) — чтобы понять, насколько хорошо фильтры справляются.

Blackbox Explorer — сравнение Raw gyro (сырых данных) и Filtered gyro (отфильтрованных данных) от гироскопа.
В качестве ориентиров: в CLI часто фигурирует “дефолтный” Q порядка 500:
rpm_filter_q = 500
Его можно повышать, но обычно не рекомендуется уходить существенно выше примерно ~1000, потому что дальше фильтр становится настолько узким, что риски пропуска реального шума существенно увеличиваются. Параметр rpm_filter_q доступен только в CLI.
5.5. Bi‑blade vs Tri‑blade: как меняется профиль гармоник
То, как выглядит моторный шум и его гармоники, сильно зависит от типа пропеллеров.
Если вы летаете на двухлопастных пропеллерах (bi‑blade), то на графике видны шумы на основной частоте вращения двигателей, очень заметны — на удвоенной частоте 2×, и менее заметны на дополнительных гармониках — 3× и 4×.
Если вы летаете на трёхлопастных пропеллерах (tri‑blade), то обычно больше всего шума на основной частоте, почти нет на 2×, и появляется заметная составляющая на 3×, что выглядит логично: три лопасти за один оборот двигателя трижды создают периодический вклад в вибрации.
5.6. RPM filter dimming / weights: ослабление отдельных гармоник
В Betaflight 4.5 появляется возможность настраивать “силу” (strength) фильтрации RPM‑фильтром выборочно для каждой из замеченных составляющих шума гироскопа (отдельных гармоник). Эта идея сводится к тому, что вы задаёте weights (веса) подавления для фильтрации гармоник.
Что вы делаете? ⇒
- давите сильный шум на основной частоте (1‑я гармоника)
- где шума нет — вес ставите “в ноль”
- где есть небольшой шум — выбираете вес по степени интенсивности
Что мы видим на скрине для трёхлопастных пропеллеров ниже? → Сильный шум на базовой частоте вращения моторов, почти ничего нет на 2‑й гармонике и небольшой шум на 3‑й:

; Пример: сильная 1-я гармоника, отсутствует 2-я, умеренная 3-я
set rpm_filter_weights = 100,0,80 # обычно для трёхлопастных пропеллеров
save
То есть в примере выше: 1‑я гармоника фильтруется полностью, 2‑я отключается, 3‑я фильтруется чуть слабее, потому что шума там меньше.
Для bi‑blade (двухлопастных пропеллеров) возможны другие стартовые сочетания, потому что профиль гармоник иной.
set rpm_filter_weights = 100,80,0 # обычно для двухлопастных пропеллеров save
Смысл всё равно остаётся тем же: вы можете уменьшать веса до тех пор, пока моторный шум не станет заметен в отфильтрованных данных. Чем меньше фильтруете — тем меньше задержка — и тем “лучше” ощущается квадрокоптер, при условии, что шум действительно подавлен полностью.
↑ К оглавлениюКритерий правильности. Чтобы не открыть дверь вибрациям, вы снижаете веса и/или повышаете Q ровно до той границы, где в отфильтрованных данных (filtered gyro) ещё не виден моторный шум.
6. Dynamic Notch: резонанс рамы, число нотчей, min/max частоты и Q
6.1. Как выглядит резонанс рамы на графике
Когда RPM‑фильтры сделали работу и убрали большую часть моторного шума, остаётся другой крупный источник проблем — резонансы рамы (frame resonance). На графике Frequency vs Throttle резонансы рамы выглядят обычно как яркие вертикальные полосы на определённой частоте, существующие в диапазоне значений газа.

Если вы видите такие полосы выше ~100 Hz, скорее всего это резонанс рамы.
Яркие полосы ниже 100 Hz — чаще не рама (если только аппарат не очень крупный). Это может быть что‑то гибкое: крепление антенны, крепление камеры, держатель GoPro и подобные элементы. Поэтому перед настройкой полезно просто механически проверить, нет ли “болтающихся” частей, которые создают низкочастотные резонансы.
6.2. Сколько dynamic notches нужно
Количество динамических фильтров, которое вам нужно, обычно соответствует количеству ярких вертикальных полос, которые вы видите в логе. В большинстве случаев достаточно одного dynamic notch. На некоторых рамах, особенно крупных, можно увидеть две или три полосы — тогда вы уже закладываете два или три динамических нотча.
6.3. Когда dynamic notch можно отключить
Важно учесть: dynamic notch нужен не всегда. Если ваша сборка построена на надёжной, крепкой раме, ваш лог “тихий” и вы не видите ярких вертикальных полос, то включенный dynamic notch всё равно будет “работать”, не находя проблему, а вы будете получать неоправданную задержку в управлении. В этом случае полезнее фильтр отключить и получить чуть более “быстрый” отклик за счёт уменьшения filter delay.
Frequency vs Throttle — пример “тихого” лога без вертикальных полос (dynamic notch не нужен).
6.4. Диапазон поиска: minimum и maximum frequency
Dynamic notch сканирует резонансный шум в диапазоне частот, задаваемый параметрами Dynamic notch min frequency и Dynamic notch max frequency.
Настройка минимальной частоты диапазона фильтрации (Dynamic notch min frequency) имеет чёткую практическую логику: вы ставите минимальную частоту немного ниже частоты первого резонанса, который видите в логе.
При этом есть важное замечание: желательно ставить минимальную частоту выше 150 Hz и уж точно выше 100 Hz, потому что практически никогда нет необходимости, чтобы dynamic notch “работал” в “чистом” от шумов диапазоне частот. Кроме того, это всегда приводит к неприятной задержке в управлении и деградации поведения дрона.
Пример подхода: если ваш основной резонанс находится около 225 Hz, то разумная минимальная частота — порядка 200 Hz, то есть немного ниже визуально определяемой на графике “массы” этого шума.
Максимальная частота менее критична. Если dynamic notch уходит выше по частоте, задержка несущественна и не опасна. Обычно дефолтные значения (например, около 600 Hz) являются нормальными. Если вы всё же хотите сделать работу фильтра более “сфокусированной”, опустите верхнюю границу — например, до 300 Hz. При этом убедитесь, что шумов нет в верхнем участке диапазона.
6.5. Q‑factor dynamic notch: как “сужать” без пропуска шума

Как и RPM‑фильтр, dynamic notch имеет Q‑фактор. И логика снова повторяется: вы повышаете Q, делая нотч более узким и уменьшая задержку, и следите, не начинает ли резонанс “просачиваться” в filtered gyro.
Когда резонанс начинает прорываться по краям — вы немного снижаете Q обратно.
При этом есть практический потолок: обычно не рекомендуется разгонять Q сильно выше ~1000, потому что на этом уровне нотч становится настолько узким, что легко начинает “промахиваться” мимо реального шума.
↑ К оглавлению7. D‑term Low‑pass: почему он критичен, и два подхода к настройке
7.1. Почему D‑term усиливает высокочастотный шум
После того как RPM‑фильтрация настроена, а резонансы рамы либо подавлены dynamic notch, либо отсутствуют, у вас всё равно остаётся “остаточный” шум. И этот остаточный шум особенно важен из‑за одной причины: D‑term (дифференциальная часть PID) усиливает высокочастотные компоненты.
Логика здесь очень простая: производная (derivative) по времени сильнее реагирует на быстрые изменения значений сигналов. Чем выше частота, тем быстрее происходят изменения — и тем больше вклад в D‑term. На уровне формул это можно выразить так: если амплитуда сигнала \(x(t)=\sin(\omega t)\), то производная \(x'(t)=\omega\cos(\omega t)\), то есть амплитуда растёт пропорционально \(\omega\).
Поэтому оставлять высокочастотный шум “как есть” нельзя: он просто раздуется в D‑term и начнёт портить моторы и управление.
$$x(t)=\sin(\omega t)\quad\Rightarrow\quad \frac{dx(t)}{dt}=\omega\cos(\omega t)$$
Чем выше \(\omega\), тем больше амплитуда производной. Поэтому D‑term требует строгой фильтрации.
Оставшийся шум мы “добиваем” D‑term low‑pass filtering.
7.2. Два подхода к фильтрации с D‑term: “Karate” (2×PT1) и “AOS” (dynamic biquad)
В Betaflight 4.5 можно применять два понятных подхода с D‑term:
- Подход по умолчанию (“Karate filter tune”) — два PT1‑фильтра. Это даёт аккуратный баланс между задержкой и подавлением.
- Более агрессивный подход (“AOS tune”) — один динамический biquad‑фильтр. Он нацелен на немного меньшую задержку полезных сигналов и немного лучшее подавление моторного шума на высоком газе, но он может быть менее “прощающе‑устойчивым”, если профиль шума у вашего квадрокоптера не очень спокойный.
7.3. Полезные сигналы, задержка и ослабление
Когда вы выбираете подход к фильтрации, вас интересуют две вещи одновременно: delay (задержка) и attenuation (ослабление шума).
При этом полезные сигналы гироскопа в полёте — это не “все сигналы во всём диапазоне”. Полезные движения квадрокоптера и проявления вроде propwash обычно лежат примерно до ~90 Hz. Поэтому нас особенно интересует фазовая задержка в этой области: если вы “задерживаете” полезный сигнал, квадрокоптер начинает реагировать хуже именно там, где вы это ощущаете руками при управлении.
Сравнение двух подходов фильтрации по задержке полезного диапазона (пример диаграммы)
Наложение графиков подавления фильтром на график шумов в диапазоне передачи сигналов гироскопа (чем выше линия, тем менее подавляется сигнал в диапазоне).
В логике сравнения: более агрессивная динамическая biquad‑настройка часто даёт чуть меньшую задержку полезных сигналов (что помогает в propwash) и чуть лучше давит моторный шум на высоком throttle. Однако если у вас заметный шум в диапазоне условно 50–150 Hz, то более “плотная” PT1‑настройка (Karate) может оказаться практичнее, потому что она сильнее давит именно эту область.
7.4. Как подстраивать “Karate” через множитель (multiplier)
С PT1‑подходом удобно то, что его можно подстраивать через ползунок‑множитель. Если вы хотите “поднять” частоты среза D‑term фильтрации, вы делаете это небольшими шагами, например по 0.05–0.1 за раз, и каждый раз проверяете результат.
Практический критерий остановки здесь звучит очень приземлённо: вы понемногу повышаете множитель, пока не начнёте слышать “шероховатость” моторов или пока моторы не начнут греться заметнее, чем раньше, и затем чуть откатываете назад.
Filters — D‑term filter multiplier (пример регулировки)

Параллельно вы можете смотреть Blackbox‑лог и оценивать, сколько шума реально проходит через D‑term фильтрацию.
7.5. Как включить “AOS” (ручная настройка) и как его настраивать
У динамического biquad‑подхода есть особенность: он не настраивается тем же самым ползунком, поэтому сначала вы отключаете “profile dependent filter settings” (профильно‑зависимые настройки фильтров), из‑за чего D‑term‑ползунок перестаёт управлять настройкой как раньше.
Дальше задаётся конкретная конфигурация D‑term low pass в виде набора чисел и типа фильтра. Логика, которую мы фиксируем здесь, выглядит так: выставить значения 80 / 110 / 7 и выбрать biquad.
Filters — D‑term low pass: 80 / 110 / 7, тип Biquad
Тюнинг при этом подходе выполняется “в два прохода”, чтобы вы поймали минимальную задержку по всей шкале диапазона тяги / газа:
- Установим минимальную частоту среза Min Cutoff Frequency при минимальном газе (throttle). Повышайте минимальную частоту Min Cutoff Frequency, пока при нулевом газе не начнёте слышать осцилляции, а затем чуть уменьшите значение.
- Максимальная частота среза Max Cutoff Frequency под полный газ. Повышайте максимальную частоту Max Cutoff Frequency, пока при полном газе не начнёте слышать осцилляции, и затем чуть уменьшите обратно.
Так вы фиксируете максимально “высокие” частоты среза, которые система выдерживает без возбуждения, отдельно при низком и высоком газе (throttle).
7.6. Dynamic curve expo: как форма кривой влияет на задержку и риск осцилляций
Когда у вас есть min cutoff (на нулевом газе / throttle) и max cutoff (на полном газе / throttle), возникает следующий вопрос: как именно фильтр будет “переезжать” от минимума к максимуму по мере роста газа? За это отвечает параметр Dynamic curve expo.

Главное правило чтения этого параметра: чем выше Dynamic curve expo, тем быстрее растёт cutoff на малом/среднем газе (и тем “раньше” по throttle фильтр начинает пропускать больше полезного сигнала, уменьшая задержку).
Практический смысл: вы снижаете задержку на низком и среднем газе, где квадрокоптер проводит много времени, но при этом повышаете риск поймать осцилляции в зоне mid throttle, если вы “пережали” настройки.
Практическая настройка после того, как min и max уже подобраны, выглядит так: вы постепенно повышаете Dynamic curve expo и наблюдаете, насколько высоко вы можете подняться, пока в области среднего газа не начнут появляться осцилляции (на слух и/или по логам). Чем выше значение, которое остаётся стабильным, тем меньше задержка, которую вы получаете в среднем режиме полёта.
Здесь скрин: Filters — параметр Dynamic curve expo (пример)
↑ К оглавлению8. Yaw Low‑pass: зачем он существует и когда его трогать
Последний фильтр, который важно осознанно понимать, — это Yaw low‑pass filter. Это фильтр в yaw‑тракте (yaw‑канале): он уменьшает попадание высокочастотных компонентов yaw‑шума в управление моторами.

Причина, по которой его часто выделяют отдельно, связана с физикой отклика. Roll и pitch управляются изменением тяги и могут “переворачивать” квадрокоптер очень быстро. Yaw же управляется изменением суммарного момента и углового момента системы “моторы‑пропеллеры”, поэтому yaw‑ось обычно реагирует заметно медленнее.
Из этого следует практический вывод: задержка фильтра по yaw обычно менее критична, чем задержка по pitch и roll, потому что сама ось yaw является более медленной. Зато подавление шума по yaw может дать неожиданный плюс: если yaw‑шум проходит в моторы, это добавляет нагрузку и нагрев, и тем самым уменьшает “запас по шуму” для pitch/roll, прежде чем моторы станут слишком горячими. Уменьшая шум по yaw, вы иногда создаёте больше “запаса для манёвра” для остальных осей.
При этом yaw low‑pass не является чем‑то “неприкосновенным”. Если вы целенаправленно ищете максимальную отзывчивость, особенно по yaw, вы можете попробовать отключить его и посмотреть, даёт ли это улучшение по логам и по поведению. Здесь смысл именно в тесте: вы меняете один фактор и затем смотрите, что произошло.
↑ К оглавлению9. Чек‑лист усвоения материала (таблица)
Это не “чек‑лист кликов”, а чек‑лист понимания и воспроизводимости. Отмечайте пункт только если вы можете сделать действие заново и объяснить, почему вы делаете именно так и по какому признаку вы останавливаетесь.
| ✓ | Пункт усвоения | Критерий “усвоено” (что должно получаться на практике) |
|---|---|---|
| Я понимаю, зачем вообще нужны фильтры (Filters) как основа качественного тюна. | Я могу своими словами объяснить, что фильтры — это компромисс между подавлением шума (attenuation) и задержкой (delay), и что чрезмерная фильтрация “задерживает” полезный сигнал. | |
| Я могу настроить Blackbox‑логирование на onboard flash или SD card. | Я открываю вкладку Blackbox, выбираю logging device, понимаю куда пишется лог, и могу сохранить настройку. | |
| Я понимаю связь частоты логирования и видимого диапазона частот (Nyquist). | Я могу объяснить формулу \(f_{max}=f_s/2\) и могу сказать, почему при 1 kHz я вижу примерно до 500 Hz. | |
| Я осознанно выбираю logging rate (как долю от PID: 1/8 ≈ 1 kHz, 1/4 ≈ 2 kHz при 8 kHz PID). | Я могу объяснить, что logging rate — это доля от PID‑частоты, и почему 4k/8k обычно быстро заполняют память и дают ограниченную добавочную пользу именно для фильтров. | |
| Я очищаю onboard flash перед серией тестов, чтобы собирать свежие данные. | Я не путаю “старые” логи с “новыми”, и могу организовать цикл тестов: полёт → анализ → правка → повтор. | |
| Я могу открыть лог через Mass Storage Device Mode. | Я включаю Activate Mass Storage Device Mode, вижу список логов как “флешку”, выбираю и открываю нужный лог. | |
| Я могу включить Analyzer в Blackbox Explorer и перейти в Frequency vs Throttle. | Я включаю Overlay → Analyzer, выбираю Gyro (raw/scaled/pre‑filtered по ситуации) и включаю Frequency vs Throttle так, чтобы получить “тепловую карту”. | |
| Я умею настраивать визуализацию графика (масштаб частоты и luminosity). | Я могу сделать картину “читабельной”: видеть особенности, но не “выжигать” детали чрезмерной яркостью. | |
| Я включил Expert Mode и понимаю, зачем он нужен. | Я вижу дополнительные настройки/диапазоны ползунков и могу двигаться по вкладке Filters без ограничений “обычного” режима. | |
| Я понимаю роль Gyro Lowpass 1 и могу объяснить, почему он обычно выключен. | Я могу обосновать решение “оставить Gyro Lowpass 1 выключенным”, потому что он часто добавляет delay без необходимости. | |
| Я понимаю роль Gyro Lowpass 2 как anti‑aliasing фильтра. | Я могу объяснить, что алиасинг возникает при различии gyro rate и PID loop rate (например, 8k/4k), и что Gyro Lowpass 2 фильтрует на уровне gyro rate до PID‑цикла. | |
| Я умею принять решение по Gyro Lowpass 2: поднять cutoff до ~1000 Hz или отключить. | Если gyro rate ≠ PID loop rate — я оставляю LPF2 и поднимаю cutoff; если gyro rate = PID loop rate — я понимаю, почему могу отключить LPF2; если сомневаюсь — оставляю включённым на 1000 Hz. | |
| Я понимаю, что motor noise — главный шум, и почему его лучше всего “держит” RPM filtering. | Я могу показать на Frequency vs Throttle область моторного шума, объяснить, почему он растёт с throttle, и почему RPM‑фильтр “следит” за этим шумом. | |
| Я понимаю гармоники и могу объяснить, зачем нужны 2‑я/3‑я гармоники в RPM‑фильтрах. | Я могу объяснить, что гармоники — это кратные частоты, и что их выраженность зависит от пропеллера (bi‑blade/tri‑blade). | |
| Я понимаю RPM filter crossfading (min Hz и fade range) и могу применить это к своему логу. | Я могу по логу определить, где моторный шум “начинает быть заметным”, и могу объяснить, зачем фильтру “вплывать” до полной силы к нужной частоте. | |
| Я понимаю Q‑factor RPM‑фильтра и умею его подбирать. | Я могу повысить Q, сравнить raw gyro и filtered gyro, увидеть “просачивание” моторного шума при слишком высоком Q и откатить Q назад. | |
| Я понимаю идею “weights/dimming” и могу разумно ослабить ненужные гармоники. | Я могу выставить веса так, чтобы не фильтровать отсутствующую гармонику (например, 2‑ю для tri‑blade), и могу проверить, что шум не появился в filtered gyro после ослабления. | |
| Я умею распознавать frame resonance как вертикальные полосы. | Я могу показать на Frequency vs Throttle вертикальную полосу, объяснить, что это резонанс на конкретной частоте, и отделить это от моторного шума. | |
| Я понимаю, когда dynamic notch нужен, а когда он “делает ничего, но даёт delay”. | Если есть яркая вертикальная полоса — я включаю dynamic notch; если полос нет — я могу отключить dynamic notch и объяснить, почему это уменьшит задержку. | |
| Я понимаю, как выбирать диапазон dynamic notch (min/max frequency). | Я ставлю min немного ниже резонанса, держу min выше 150 Hz (и точно выше 100 Hz), понимаю, почему “охота” в низких частотах ухудшает полёт, и осознанно отношусь к max. | |
| Я умею подбирать Q‑factor dynamic notch. | Я повышаю Q до границы, где резонанс не прорывается в filtered gyro, и понимаю, почему слишком высокий Q (сильно выше ~1000) становится рискованным. | |
| Я понимаю, почему D‑term требует строгой фильтрации. | Я могу объяснить, что производная усиливает высокочастотный шум (амплитуда растёт с \(\omega\)), и почему “оставить шум” означает получить проблемы в D‑term. | |
| Я понимаю два подхода к D‑term фильтрации: 2×PT1 (“Karate”) и dynamic biquad (“AOS”). | Я могу объяснить, что PT1 обычно более “прощает” шумовой профиль, а dynamic biquad стремится к меньшей задержке и лучшему подавлению на high throttle при корректной настройке. | |
| Я умею тюнить D‑term через multiplier в PT1‑подходе. | Я повышаю множитель шагами 0.05–0.1, отслеживаю признаки “rough motors / hot motors”, и откатываю назад до стабильного режима. | |
| Я умею включить и тюнить dynamic biquad‑подход. | Я отключаю profile dependent filter settings, выставляю D‑term low pass 80/110/7 и тип biquad, затем подбираю min cutoff по нулевому throttle и max cutoff по full throttle с откатом от границы осцилляций. | |
| Я понимаю параметр Dynamic curve expo и умею его “выжать” без осцилляций. | Я понимаю, что чем выше expo — тем быстрее рост cutoff на low/mid throttle (меньше delay), и я поднимаю expo до границы, где mid throttle остаётся без осцилляций. | |
| Я понимаю назначение Yaw low‑pass и могу осознанно решить, оставлять ли его. | Я могу объяснить, что yaw‑ось медленнее (реакция через изменение углового момента), что delay на yaw обычно менее критичен, и что снижение yaw‑шума может дать headroom для pitch/roll. При необходимости я могу протестировать отключение. |
