Часть 2. Фильтрация сигналов гироскопа: полное руководство по настройке ArduPilot
Фильтрация гироскопа: от шума к чистому сигналу
Данный урок посвящён фундаментальному аспекту настройки полётного контроллера — фильтрации данных гироскопа. Цель фильтрации — обеспечить поступление в контур управления (PID-регулятор, где PID означает пропорционально-интегрально-дифференциальный алгоритм управления) максимально чистого сигнала угловой скорости. Это достигается путём подавления высокочастотных помех от моторов и пропеллеров, а также резонансных вибраций рамы, при одновременном минимизировании фазовой задержки (phase lag) сигнала.
В ходе урока мы последовательно: настроим параметры логирования для последующего спектрального анализа; активируем и конфигурируем банк гармонических режекторных фильтров (параметры INS_HNTCH_*); подключим источник данных об оборотах моторов (RPM) через телеметрию ESC или протокол bidirectional DShot; проверим корректность работы системы по логам полёта; устраним типовые проблемы (включая артефакты в виде «вертикальных шипов» на графиках RPM); изучим применение динамического быстрого преобразования Фурье (Dynamic FFT) для выявления резонансов конструкции; и завершим настройку плавным повышением частоты среза низкочастотного фильтра гироскопа (INS_GYRO_FILTER).
Ключевой принцип: узкополосные пики шума (гармоники моторов или резонансы рамы) эффективнее подавлять узкими режекторными фильтрами (notch filters), сохраняя частоту среза низкочастотного фильтра (low-pass filter) максимально высокой. Такой подход минимизирует общую задержку в контуре управления, обеспечивая более точную реакцию на управляющие воздействия и внешние возмущения, такие как порывы ветра.
Содержание
- 1. Цели урока
- 2. Настройка логирования: подготовка к анализу
- 3. Активация гармонических режекторных фильтров
- 4. Настройка источника RPM через bidirectional DShot
- 5. Проверка данных RPM и скачивание логов
- 6. Dynamic FFT: принцип работы и применение
- 7. Анализ логов в веб-инструменте Filter Review
- 8. Теория: зачем нужны низкочастотные фильтры гироскопа
- 9. Теория: гармонические режекторные фильтры
- 10. Анализ IMU Spectrogram: идентификация частот
- 11. Режим multi-source: подавление шума при разных оборотах моторов
- 12. Точная настройка полосы пропускания режекторных фильтров
- 13. Применение Dynamic FFT для подавления резонансов рамы
- 14. Применение Dynamic FFT для моторного шума (редкий случай)
- 15. Предупреждение: статические и привязанные к газу фильтры
- 16. Завершение: повышение частоты среза низкочастотного фильтра
- 17. Практика: типовые задачи с решениями
- 18. Чек‑лист самопроверки знаний
1. Цели урока
- Понять назначение и принцип работы низкочастотного фильтра гироскопа (gyro low-pass filter) и гармонических режекторных фильтров (harmonic notch filters).
- Настроить параметры логирования таким образом, чтобы в логах присутствовали данные для спектрального анализа сигнала «до фильтрации» и «после фильтрации», а также для проверки точности трекинга режекторных фильтров.
- Настроить первый банк режекторных фильтров для подавления шума моторов с привязкой к частоте вращения через телеметрию ESC и/или протокол bidirectional DShot.
- Освоить процедуру скачивания логов, визуализации данных RPM по каждому ESC и устранения типовых проблем, таких как артефакты в виде «шипов» на одном из каналов.
- Разобраться с принципом работы динамического быстрого преобразования Фурье (Dynamic FFT), понять его ограничения для подавления моторного шума и преимущества для выявления резонансов конструкции.
- После подавления основных пиков шума — корректно повысить частоту среза параметра
INS_GYRO_FILTER, сохраняя уровень шума ниже допустимого порога и избегая возникновения осцилляций.
2. Настройка логирования: подготовка к анализу
Перед началом настройки фильтров необходимо убедиться, что параметры логирования позволяют записывать данные, пригодные для последующего спектрального анализа. В логах должны присутствовать: сигнал гироскопа «до фильтрации» (pre-filter), сигнал «после фильтрации» (post-filter), а также данные о работе режекторных фильтров (notch tracking).
FFT Setup в Mission Planner
Путь в интерфейсе Mission Planner: Setup → Optional Hardware → FFT Setup.

2.1. Параметр Sample count per batch: выбор между 1024 и 2048
Данный параметр определяет количество отсчётов гироскопа, объединяемых в один пакет для расчёта спектра:
1024— рекомендуется при частоте дискретизации гироскопа около 1 кГц.2048— рекомендуется при частоте дискретизации около 2 кГц. При сомнениях следует выбрать значение 2048.
Увеличение количества точек улучшает частотное разрешение спектра, но также увеличивает объём записываемых данных и риск возникновения пропусков (dropouts) при ограниченной производительности процессора или скорости карты памяти.
2.2. Логирование данных только одного IMU
Для высокочастотного логирования рекомендуется включать запись данных только одного инерциального измерительного модуля (например, IMU1). Это позволяет снизить нагрузку на процессор и систему хранения, минимизируя риск пропусков в логе.
Важно: если в логе присутствуют пропуски, спектральный анализ может давать искажённые результаты, что приведёт к некорректной настройке фильтров.
2.3. Настройка Logging bitmask: что следует отключить
В разделе настройки битовой маски логирования следует отключить группы данных, не требующиеся для анализа фильтров и способные значительно увеличить размер лога. В частности, рекомендуется отключить Raw IMU (запись «сырых» данных IMU), если используется пакетный режим (BatchSampler), а также группы mission commands, optical flow, camera и другие, если они не нужны для текущей задачи.
Raw IMU.Параметр INS_LOG_BAT_OPT: Sensor‑Rate и pre/post‑filter
Дополнительные настройки логирования выполняются через параметры: Config → Full Parameter List → поиск INS_LOG_BAT_OPT.

Значения битов параметра INS_LOG_BAT_OPT
- Sensor‑Rate Logging — запись данных на максимальной частоте дискретизации, доступной для IMU.
- Sample pre‑ and post‑filter — запись сигнала гироскопа как до применения фильтров, так и после.
INS_LOG_BAT_OPT = 5 (бит 0 + бит 2). Не используйте значение 4, так как это отключит запись данных на частоте датчика, необходимых для корректной работы FFT.Обоснование значения 5
В версиях, где бит 0 соответствует Sensor‑Rate, а бит 2 — pre‑ and post‑filter, итоговое значение вычисляется как сумма: 1 + 4 = 5.
; Пример для версий, где bit0=Sensor‑Rate, bit2=pre&post:
; bit0 -> 1
; bit2 -> 4
INS_LOG_BAT_OPT = 5
Если в вашей версии прошивки отсутствует отдельный бит для pre/post, ориентируйтесь на описание параметра в интерфейсе Mission Planner. Не следует механически переносить значения между разными версиями прошивки.
3. Активация гармонических режекторных фильтров
Параметры INS_HNTCH_*: активация, выбор гармоник, режимы работы
Для включения банка гармонических режекторных фильтров перейдите: Config → Full Parameter List → поиск INS_HNTCH.

Базовая стартовая конфигурация гармонических режекторных фильтров
INS_HNTCH_ENABLE = 1
INS_HNTCH_HMNCS = 7 ; активация гармоник 1×, 2×, 3×
INS_HNTCH_MODE = 3 ; источник частоты: телеметрия ESC (RPM)
INS_HNTCH_OPTS = 0 ; дополнительные опции отключены
Значение INS_HNTCH_HMNCS = 7 активирует три режекторных фильтра: на основной частоте вращения мотора (1×), а также на её второй (2×) и третьей (3×) гармониках. Такая конфигурация является хорошим стартовым вариантом для пропеллеров с двумя или тремя лопастями.
INS_HNTCH_MODE = 3: частота настройки режекторных фильтров динамически отслеживает реальные обороты моторов, так как источник данных — телеметрия ESC. Такой подход обычно обеспечивает более высокую точность и быстродействие по сравнению с привязкой к положению стика газа.4. Настройка источника RPM через bidirectional DShot
После активации режекторных фильтров необходимо настроить источник данных об оборотах моторов (RPM). Это выполняется через параметры RPM* и настройки протокола DShot/ESC-телеметрии.

Настройка источника RPM через bidirectional DShot (пример для квадрокоптера, моторы 1–4)
RPM1_TYPE = 5 ; источник RPM1: bidirectional DShot / ESC telemetry
RPM1_ESC_MASK = 15 ; битовая маска 0b1111 — активация для первых 4 моторов
SERVO_BLH_BDMASK = 15 ; включение bidirectional DShot на выходах 1–4
SERVO_BLH_POLES = 14 ; число магнитных полюсов ротора (типично 14, но рекомендуется уточнить)
SERVO_BLH_ESC = 1 ; тип прошивки ESC (BLHeli32 / Kiss / AM32)
RPM1_ESC_MASK и SERVO_BLH_BDMASK необходимо активировать все каналы, на которых физически установлены моторы и для которых доступна телеметрия bidirectional DShot.Параметр SERVO_DSHOT_ESC и расширенная телеметрия DShot
Для корректного получения телеметрии необходимо указать тип ESC/прошивки в параметре SERVO_DSHOT_ESC. Значение зависит от семейства контроллеров скорости и версии их прошивки:
= 1— ESC с прошивкой KISS / AM32 / BLHeli32= 2— ESC с прошивкой Bluejay= 3или= 4— те же значения, но с активацией расширенной телеметрии DShot (extended DShot telemetry)
Расширенная телеметрия позволяет передавать дополнительные данные (температура, напряжение, ток — при поддержке со стороны ESC) по тому же интерфейсу, без необходимости прокладки дополнительных проводов. Для базовой настройки фильтров достаточно значений 1 или 2.
SERVO_DSHOT_ESC и поддерживаемые режимы телеметрии следует уточнять по описанию параметра в вашей версии Mission Planner и документации производителя ESC.5. Проверка данных RPM и скачивание логов: как убедиться в корректности работы
После настройки источника RPM и активации режекторных фильтров выполняется короткий проверочный полёт: взлёт → несколько секунд зависания → посадка. Цель — получить лог и убедиться в корректной записи данных RPM.
Короткий тестовый полёт, скачивание и просмотр лога
Скачивание лога в Mission Planner: подключиться к коптеру → Data → DataFlash Logs → Download DataFlash Log via MAVLink. Выбрать последний лог и нажать Download selected logs.

Clear logs для освобождения места.Documents\Mission Planner\logs\QUADROTOR\1.«Вертикальные шипы» на графиках RPM: конфликт ресурсов и варианты решения
Проверка данных RPM в просмотрщике логов: нажмите Review a log, откройте лог, в правой панели найдите группу ESC, раскройте каналы (0, 1, 2, 3…), включите отображение параметра RPM — на графике отобразятся данные оборотов по каждому ESC.
Если на одном из каналов наблюдаются резкие «вертикальные шипы», а на остальных данные выглядят плавно и соответствуют характеру полёта — это признак конфликта ресурсов (например, DMA) на конкретном выходе сервопривода.

Решение 1 (предпочтительное): переподключение ESC на другой выход
Переместите сигнальный провод проблемного ESC на другой выход сервопривода, затем обновите назначения выходов (motor mapping). После этого данные RPM обычно становятся стабильными.
Решение 2 (компромиссное): исключение канала из bidirectional DShot
Можно убрать проблемный канал из параметра SERVO_BLH_BDMASK, чтобы отключить bidirectional DShot на этом выходе. Недостаток: вы потеряете данные RPM для данного мотора, что снизит качество работы режекторной фильтрации.
6. Dynamic FFT: принцип работы и области применения
FFT (Fast Fourier Transform — быстрое преобразование Фурье) — математический метод преобразования временного сигнала в частотную область. Dynamic FFT выполняет это преобразование в реальном времени в полёте и может «подсказывать» режекторным фильтрам, на какой частоте расположен основной пик шума.

- Для шума двигателя режекторная фильтрация (notch) гармоник на основе RPM превосходит динамическую фильтрацию на основе FFT.
- Если вы знаете скорость вращения двигателя, вы сразу же, без задержки, узнаете точную частоту шума.
- Фильтрация Dynamic FFT чрезвычайно полезна в дополнение к фильтрации оборотов (RPM) для борьбы с резонансом корпуса дрона.
- Ее также можно использовать для подавления шума двигателя, когда данные об оборотах недоступны.
- Однако её значительно сложнее настроить корректно - требует тщательной калибровки по данным логов.

Что такое быстрое преобразование Фурье
Быстрое преобразование Фурье позволяет взять фрагмент сигнала гироскопа во временной области (обычно около 0,5 секунды) и преобразовать его в частотную область. В результате мы видим, на каких частотах присутствует энергия сигнала и какова её амплитуда. Если в спектре наблюдаются выраженные пики, их частоты можно использовать для настройки режекторных фильтров.

Настройка параметров FFT
Для активации и настройки движка FFT перейдите: Config → Full Parameter List → поиск FFT.
; Активация FFT-движка
FFT_ENABLE = 1
; Диапазон поиска частот: «обрамить» целевую область
FFT_MINHZ = (нижняя граница диапазона)
FFT_MAXHZ = (верхняя граница диапазона)
; Усреднение кадров: 0 или 1 (для более быстрой реакции)
FFT_NUM_FRAMES = 0
; Опции: применение имеющихся фильтров перед расчётом FFT
FFT_OPTIONS = 1
; Размер окна FFT: максимально возможный при допустимой нагрузке на CPU
FFT_WINDOW_SIZE = 1024
FFT_MAXHZ ≈ 0.8 × V(полностью заряжено) × KV / 60FFT_MINHZ ≈ 500 / D, гдеD— диаметр пропеллера в дюймах
Частотное разрешение и размер окна
Частотное разрешение приблизительно равно частота дискретизации / размер окна. Поэтому при частоте дискретизации 2 кГц: окно из 256 точек даёт разрешение ~8 Гц, 512 точек — ~4 Гц, 1024 точек — ~2 Гц.
Чем точнее известна частота шума — тем уже может быть режекторный фильтр и тем меньше вносимая задержка. Однако большое окно требует больше вычислительных ресурсов процессора.
7. Анализ логов в веб-инструменте Filter Review
Выполните короткий тестовый полёт на открытом пространстве: поднимите коптер, зависните на несколько секунд и выполните посадку.Этого будет достаточно для дальнейшего анализа работы системы фильтрации сигналов гироскопа.
Для анализа используйте веб-инструмент: firmware.ardupilot.org/Tools/WebTools/FilterReview/. Загрузите файл лога .bin, убедитесь в отсутствии пропусков данных, затем перейдите к разделам IMU Spectrum (спектр IMU) и IMU Spectrogram (спектрограмма IMU).
Загрузка и проверка лога

После загрузки проверьте, что данные выглядят корректно и не содержат пропусков или разрывов. Это критически важно для достоверности спектрального анализа.
IMU Spectrum: pre/post фильтр и трекинг

Признаки корректной настройки логирования
- Отображаются линии
pre-filter(сигнал до фильтрации) иpost-filter(сигнал после фильтрации) по осям X, Y, Z. - Активирован режим
notch tracking(трекинг режекторного фильтра) дляNotch 1(иNotch 2, если включён второй банк фильтров).
Присутствуют три вертикальные серые линии с серыми прямоугольниками вокруг них. - На графике видно, что уровень высокочастотного шума в
post-filterзаметно ниже, чем вpre-filter.
8. Теория: зачем нужны низкочастотные фильтры гироскопа
Полезный сигнал и вибрации
Гироскоп измеряет угловые скорости вращения коптера вокруг трёх осей. На практике сигнал гироскопа представляет собой сумму двух принципиально разных компонентов:
- Полезный сигнал: вращение коптера как единого твёрдого тела (rigid body motion), то есть те изменения ориентации, которые непосредственно связаны с управляющими воздействиями пилота или автопилота.
- Шум: высокочастотные вибрации, возникающие из-за вращения моторов и пропеллеров, резонансных колебаний рамы, креплений электроники и полезной нагрузки.
Вибрационные компоненты часто имеют более высокие частоты и бо́льшую амплитуду по сравнению с полезным сигналом. В результате шум может «перекрывать» полезный сигнал, и PID-контур начинает реагировать на вибрации вместо реальных изменений ориентации.
К счастью, реальные движения коптера происходят на низких частотах — ниже примерно 30 Гц, так как физически невозможно вращать конструкцию как твёрдое тело быстрее этого предела из-за момента инерции. Вибрации же возникают на значительно более высоких частотах — обычно выше 50 Гц, в зависимости от размера пропеллеров и оборотов моторов.

Компромисс: подавление шума против задержки
Низкочастотный фильтр (low-pass filter) обеспечивает плавное подавление сигнала в диапазоне высоких частот: чем выше частота, тем сильнее ослабление. Такой фильтр эффективно подавляет высокочастотный «хвост» шума, но вносит фазовую задержку, причём чем ниже частота среза, тем задержка больше.

9. Теория: гармонические режекторные фильтры (фильтры подавления гармоник)
Принцип работы и преимущества
Режекторный фильтр подавления гармоник ( INS_HNTCH_ ) (notch filter, «фильтр-пробка») обеспечивает сильное подавление в узкой полосе частот вокруг целевого значения. Он более эффективен с точки зрения задержки для подавления узкополосных пиков, но требует точной настройки на частоту источника шума.
Чем уже полоса пропускания фильтра (bandwidth), тем меньше задержка он вносит. Однако узкий фильтр требует очень точного наведения на целевую частоту: если фильтр смещён относительно пика шума, он не окажет никакого эффекта.

Точная настройка и задержка
Настройка режекторных фильтров заключается в том, чтобы максимально сузить полосу пропускания, сохраняя при этом эффективное подавление шума. Каждый дополнительный фильтр вносит задержку, поэтому включать следует только те гармоники, которые реально наблюдаются в данных post-filter как проблема.
10. Анализ IMU Spectrogram: идентификация частот
Для валидации настройки режекторных фильтров и точной подстройки гармоник необходимо использовать раздел IMU Spectrogram в веб-инструменте Filter Review.
Ключевые ориентиры на спектрограмме

- Диапазон ниже ~30 Гц — зона полезного сигнала, соответствующая движению коптера как твёрдого тела.
- Горизонтальная линия на частоте моторов в режиме зависания — приблизительно
RPM / 60(Гц). Цель настройки — удерживать пики амплитуды моторного шума на основных частотах вращения ниже50dB. - Гармоники 2× и 3× — выраженность зависит от числа лопастей пропеллера.

RPM ≈ напряжение батареи × KV мотора × доля газа в зависании, затем / 60 для перевода в Гц. Это грубая оценка, но она помогает визуально идентифицировать соответствующую линию на спектрограмме.Гармоники и число лопастей пропеллера

Двухлопастные и трёхлопастные пропеллеры: различия в выраженности гармоник 2× и 3×
Для двухлопастных пропеллеров часто более выражена линия на частоте 2× (лопасти проходят над лучом рамы дважды за оборот). Для трёхлопастных — чаще сильнее линия на частоте 3× (три прохода за оборот). Это объясняется тем, что каждая лопасть, проходя над элементом конструкции, создаёт импульс вибрации; чем больше лопастей, тем чаще эти импульсы следуют за один оборот.
Проверка трекинга режекторных фильтров

Далее включите режим notch tracking. Если режекторные фильтры с привязкой к RPM настроены корректно, «серые линии трекинга» должны точно совпадать с красными горизонтальными линиями: на основной частоте (1×), а также на гармониках 2× и 3×.
Необходимость добавления 4‑й гармоники

Как определить, нужна ли 4‑я гармоника
Если в данных pre-filter наблюдается линия на частоте 4×, это не означает автоматической необходимости включения 4‑й гармоники. Переключитесь на просмотр данных post-filter:
- Если пик 4× в
post-filterотсутствует (подавлен НЧ-фильтром) — 4‑я гармоника не требуется. - Если пик 4× остаётся заметным в
post-filter— имеет смысл активировать 4‑ю гармонику (включить соответствующий бит в параметреINS_HNTCH_HMNCS).
11. Режим multi-source: подавление шума при разных оборотах моторов
Проблема усреднения RPM
При стандартной настройке режекторные фильтры отслеживают среднее значение RPM всех моторов. Это работает отлично, если все моторы вращаются с одинаковой скоростью. Однако на практике обороты моторов часто различаются: например, при смещённом центре тяжести или при выполнении команд по рысканью. В таких случаях часть шума оказывается «в стороне» от средней частоты — и узкий режекторный фильтр её не подавляет.

Решение: отдельные фильтры на каждый мотор
Режим multi-source (несколько источников) в конфигурации с телеметрией ESC означает: вместо одного фильтра по среднему RPM создаётся отдельный фильтр для каждого мотора. Это обеспечивает точное подавление шума даже при различающихся оборотах.
Настройка bandwidth для multi-source
Чтобы не увеличить суммарную задержку при активации multi-source, необходимо предварительно сузить полосу пропускания (bandwidth) фильтров.
Параметры для активации multi-source

; 1) Сузить полосу пропускания перед активацией multi-source
INS_HNTCH_BW = INS_HNTCH_FREQ / 4
; 2) Включить multi-source и обновление на частоте основного цикла (loop rate)
; INS_HNTCH_OPTS = 6 -> bit1 (multi-source) + bit2 (update at loop rate)
INS_HNTCH_OPTS = 6
После изменения параметров можно либо выполнить новый короткий полёт и проанализировать свежий лог, либо (при использовании веб-инструмента Filter Review) пересчитать фильтры виртуально, чтобы оценить ожидаемый эффект без изменения настроек на коптере.⇓ Теперь мы видим по четыре линии фильтрации режекторными фильтрами по одной на каждый из 4-х моторов квадрокоптера на каждой из трех гармоник.
12. Точная настройка полосы пропускания режекторных фильтров
После активации multi-source и проверки корректности трекинга необходимо точно настроить параметры фильтров для достижения минимальной задержки при эффективном подавлении шума.
Методика сужения полосы
Пошаговая процедура
- Выполните полёт с плавным (очень медленным) набором газа от нуля до зависания.
- В логе определите частоту, на которой шум моторов начинает становиться заметной проблемой — это значение следует установить в параметр
INS_HNTCH_FREQ.
- Постепенно уменьшайте параметр
INS_HNTCH_BW(полоса пропускания), наблюдая за даннымиpost-filterв IMU Spectrogram. - Как только начнёт наблюдаться «протечка» шума по краям режекторного фильтра — остановитесь и немного увеличьте bandwidth (примерно на 10%).
- Повторите проверку в новом логе для подтверждения результата.
Чем уже полоса пропускания — тем меньшую задержку вносит фильтр. Однако слишком узкий фильтр может пропустить шум при небольших отклонениях частоты. Баланс между подавлением и задержкой — ключевой аспект качественной настройки.
↑ К оглавлению13. Применение Dynamic FFT для подавления резонансов рамы
Если в спектре наблюдается выраженный пик, частота которого не кратна частоте вращения моторов (не 1×/2×/3×), это часто указывает на резонанс рамы, креплений или полезной нагрузки. В таком случае рационально использовать второй банк режекторных фильтров с привязкой к Dynamic FFT.
Настройка второго банка фильтров
Первый банк режекторных фильтров остаётся привязанным к RPM (подавление моторного шума). Второй банк настраивается для подавления резонанса рамы только если резонанс действительно наблюдается.
Параметры для резонанса рамы
Второй банк режекторных фильтров

Пояснения по Конфигурации для подавления резонанса рамы
; Включить FFT-движок
FFT_ENABLE = 1
; Диапазон поиска: «обрамить» частоту резонанса
FFT_MINHZ = (чуть ниже резонанса)
FFT_MAXHZ = (чуть выше резонанса)
; Усреднение кадров: 0 или 1 (чтобы не сделать реакцию слишком медленной)
FFT_NUM_FRAMES = 0
; Опции: применение имеющихся фильтров перед расчётом FFT
FFT_OPTIONS = 1
; Размер окна FFT: максимально возможный при допустимой нагрузке на CPU
FFT_WINDOW_SIZE = 1024
; Включение второго банка режекторных фильтров с привязкой к FFT
INS_HNTC2_ENABLE = 1
INS_HNTC2_MODE = 4
INS_HNTC2_FREQ = FFT_MINHZ
INS_HNTC2_BW = INS_HNTC2_FREQ / 2
INS_HNTC2_REF = 1
INS_HNTC2_FM_RAT = 1
INS_HNTC2_HMNCS = 1
INS_HNTC2_OPTS = 0
14. Применение Dynamic FFT для моторного шума (редкий случай)
Данный подход следует применять только при отсутствии данных RPM. Логика настройки: задать FFT_MINHZ/FFT_MAXHZ для диапазона частот моторного шума, выключить усреднение кадров (для более быстрой реакции), установить максимально возможный размер окна (при допустимой нагрузке на CPU), затем привязать INS_HNTCH_MODE = 4.
Конфигурация для моторного шума без RPM
FFT_ENABLE = 1
FFT_MINHZ = (нижняя граница появления моторного шума)
FFT_MAXHZ = (чуть выше максимальной частоты на полном газу)
FFT_NUM_FRAMES = 0 (FFT должно реагировать на изменение оборотов мотора)
FFT_OPTIONS = 1 (применение фильтров нижних частот, выполняющие FFT)
FFT_WINDOW_SIZE = 1024 (если позволяет загрузка процессора / как можно выше)
INS_HNTCH_ENABLE = 1 (включение первого фильтра)
INS_HNTCH_MODE = 4 (использовать динамический FFT)
INS_HNTCH_FREQ = FFT_MINHZ (самая низкая частота, при которой шум двигателя виден при малом газе)
INS_HNTCH_BW = INS_HNTCH_FREQ / 2 (начни сначала здесь, потом настройся)
INS_HNTCH_REF = 1 (масштабирование не требуется)
INS_HNTCH_FM_RAT = 1 (предотвратить фильтрацию ниже частоты INS_HMTCH_FREQ)
INS_HNTCH_HMNCS = 7 (для трех лопастного пропеллера)

15. Предупреждение: статические и привязанные к газу фильтры
Почему эти методы устарели
Статические или привязанные к положению стика газа (throttle-based) режекторные фильтры — это устаревшие подходы, которые не рекомендуются к применению в современных конфигурациях.
- Они чувствительны к изменениям конфигурации: смена пропеллеров, моторов, высоты полёта нарушает соотношение между положением газа и реальными оборотами.
- Производственные допуски рамы или изменение полезной нагрузки могут сместить частоту резонанса, делая статический фильтр неэффективным.
- Динамическая привязка по RPM и/или FFT адаптируется к изменениям в реальном времени, обеспечивая стабильное подавление шума.
Рекомендуемый подход: использовать данные RPM для первого банка гармонических режекторных фильтров (подавление моторного шума) и, при необходимости, данные Dynamic FFT для второго банка (подавление резонансов рамы). Это устойчивое решение, сохраняющее эффективность при изменениях конфигурации и условий полёта.
↑ К оглавлению16. Завершение: повышение частоты среза низкочастотного фильтра
После настройки режекторных фильтров и подавления основных пиков шума можно вернуться к настройке низкочастотного фильтра гироскопа: параметр INS_GYRO_FILTER (частота среза). Повышайте значение постепенно, небольшими шагами.
Пошаговая методика
Процедура повышения частоты среза
- Найдите параметр
INS_GYRO_FILTERвConfig → Full Parameter List. - Повышайте значение на один шаг за раз (например, с 40 Гц до 50 Гц).
- После каждого изменения выполните короткий завис и проанализируйте лог.
- Ориентир по спектру: пики шума в данных
post-filterжелательно удерживать на уровне ниже примерно-50 dB(или ниже, если возможно), особенно в зоне основного моторного пика или резонанса. - Продолжайте повышать, пока не начнёт наблюдаться рост шума выше допустимого уровня.
Контроль безопасности
- прислушайтесь к появлению «звенящих» осцилляций;
- проверьте температуру моторов (сильный нагрев — тревожный признак);
- если появились проблемы — откатите изменение назад и проанализируйте причину по логам (возможно, дело не в фильтрах, а в настройках PID).
17. Практика: типовые задачи с решениями
Практика — блок 1: логирование и базовая настройка
Задача 1: Настройте BatchSampler для отображения pre/post в Filter Review
Цель: получить лог, в котором доступны слои сигнала «до фильтрации» и «после фильтрации», без пропусков данных.
; Решение (пример-скелет, значения уточняйте по вашей версии прошивки):
INS_LOG_BAT_MASK = 1 ; IMU1
INS_LOG_BAT_CNT = 2048 ; при частоте 2 кГц для лучшего разрешения
; Параметр INS_LOG_BAT_OPT:
; - 4 (только pre/post) ИЛИ
; - 5 (sensor-rate + pre/post) в современных версиях
INS_LOG_BAT_OPT = 4
Задача 2: Выполните контрольный полёт для получения лога
Последовательность: взлёт → 5–10 секунд зависания → посадка. Избегайте резких манёвров.
Решение (проверка):
1) Скачан файл лога .bin
2) Лог открыт в веб-инструменте Filter Review
3) Отображаются разделы IMU Spectrum и IMU Spectrogram
4) Видны линии pre-filter и post-filter по осям XYZ
5) Активен режим notch tracking (Notch 1)
6) Отсутствуют пропуски данных («дыры» в логе)
Практика — блок 2: RPM, multi-source, Dynamic FFT
Задача 3: Активируйте harmonic notch с привязкой к телеметрии ESC и тремя гармониками
INS_HNTCH_ENABLE = 1
INS_HNTCH_MODE = 3
INS_HNTCH_HMNCS = 7
INS_HNTCH_OPTS = 0
Задача 4: Настройте источник RPM через bidirectional DShot (квадрокоптер, моторы 1–4)
RPM1_TYPE = 5
RPM1_ESC_MASK = 15
SERVO_BLH_BDMASK = 15
SERVO_BLH_POLES = 14
Задача 5: Активируйте режим multi-source и обновление на частоте цикла
INS_HNTCH_BW = INS_HNTCH_FREQ / 4
INS_HNTCH_OPTS = 6
Задача 6: Настройте Dynamic FFT для подавления резонанса рамы (только при его наличии в спектре)
FFT_ENABLE = 1
FFT_MINHZ = (ниже резонанса)
FFT_MAXHZ = (выше резонанса)
FFT_NUM_FRAMES = 0
FFT_OPTIONS = 1
FFT_WINDOW_SIZE = 1024
INS_HNTC2_ENABLE = 1
INS_HNTC2_MODE = 4
INS_HNTC2_FREQ = FFT_MINHZ
INS_HNTC2_BW = INS_HNTC2_FREQ / 2
INS_HNTC2_REF = 1
INS_HNTC2_FM_RAT = 1
INS_HNTC2_HMNCS = 1
INS_HNTC2_OPTS = 0
18. Чек‑лист самопроверки знаний
Отметьте пункты, которые вы действительно понимаете и можете применить без подсказок.
| ✓ | Навык | Критерий проверки |
|---|---|---|
| Понимаю различие «полезный сигнал против вибраций» | Могу объяснить, почему гироскоп регистрирует резонансы и как это влияет на работу PID-регулятора. | |
| Настроил логирование для анализа фильтров | Получаю данные IMU Spectrum и IMU Spectrogram без пропусков, вижу слои pre/post. | |
| Понимаю назначение параметра INS_LOG_BAT_OPT | Знаю разницу между sensor-rate и pre/post, понимаю зависимость битовой маски от версии прошивки. | |
| Активировал первый банк гармонических режекторных фильтров | Могу включить INS_HNTCH_ENABLE, выбрать MODE=3, задать HMNCS. |
|
| Настроил источник RPM через телеметрию ESC | Вижу данные RPM по всем моторам в группе ESC в интерфейсе просмотра логов. |
|
| Умею устранять артефакты «шипов» на графиках RPM | Если один канал показывает «шипы», понимаю, что это признак конфликта выхода, и знаю решения (переподключить / исключить из BDMASK). | |
| Понимаю принцип работы режима multi-source | Могу объяснить, почему усреднение RPM иногда пропускает шум и как multi-source решает эту проблему. | |
| Умею настраивать полосу пропускания (bandwidth) | Сужаю полосу до появления «протечек» шума в post-filter, затем слегка возвращаю назад. | |
| Понимаю назначение и ограничения Dynamic FFT | Могу объяснить, почему FFT вносит задержку, и почему он полезен для подавления резонансов рамы. | |
| Умею безопасно повышать INS_GYRO_FILTER | Повышаю частоту среза пошагово, контролирую осцилляции, температуру моторов, проверяю спектр post-filter. |
INS_GYRO_FILTER. В следующей части — начало работы с rate-PID: настройка отклика на управляющие воздействия, предотвращение осцилляций и подготовка базы для перехода к режиму удержания высоты.
Похожее в категории "СОФТ"
-
Часть 1. Аппаратное обеспечение и настройка. Полное руководство по настройке ArduPilot.
В этом уроке вы пройдёте «нулевую» подготовку нового коптера перед первым зависанием: от подбора и подключения железа до прошивки, базовых настроек, калибровок, проверки моторов и логирования. В конце — короткий безопасный тестовый вылет (hover test), набор практических задач и чек‑лист самопроверки.






