本篇目录
1为什么需要滤波器?
第二篇讲的基础调参法,靠飞行手感和观察就能调出"不错飞"的结果。但如果你追求极致的手感——更跟手、更稳、propwash更小、电机更凉——就必须用到Blackbox日志分析和滤波器调参。
1.1 陀螺仪噪声从哪来?
陀螺仪(gyro)是一个非常敏感的传感器,它不仅测量飞机的转动,还会采集到大量的"噪声"——不是飞机真实的运动,而是振动。噪声来源主要有三类:
- 电机振动:电机高速旋转产生的振动,频率和电机转速直接相关
- 螺旋桨振动:桨叶不平衡、桨叶通过频率(blade pass frequency)
- 机架共振:机臂、机架在特定频率下产生共振
这些噪声如果不经过滤就进入PID控制器,会被D项放大(因为D对快速变化极其敏感),导致飞控根据噪声不断发出微小的电机调整指令。结果就是:电机频繁微调、电流波动大、发热严重,甚至出现高频振荡。
1.2 不滤波的后果
- 电机过热(D项放大噪声导致频繁微调)
- 高频颤音(trilling)
- 带伤桨飞行时容易烧电机
- 陀螺仪噪声进入PID导致振荡
- 延迟增大,飞机感觉" disconnected"(不跟手)
- propwash恶化(延迟大导致纠正不及时)
- 手感模糊、反应慢
- 有效信号也被滤掉了
滤波器的目标不是"把噪声滤得一干二净",而是在足够安全(电机不烫、不振荡)和足够灵敏(延迟低、跟手)之间找到平衡点。用最少的滤波达到可接受的噪声水平。
2滤波器层级策略
Betaflight的滤波器不是一个,而是一组分层级的滤波器,每层负责滤除特定类型的噪声。调参时必须按顺序来,从源头开始一层层处理。
Oscar Liang的滤波器调参策略是:先用RPM Filter消除电机噪声带,再用Dynamic Notch压机架共振,最后用Gyro和D-term低通降低整体噪声底。
1RPM Filter(转速滤波器)
根据每个电机的实时转速,精确滤除电机转动频率及其谐波产生的噪声。这是最精准的滤波器,因为它知道电机当前转多快,能精准定位噪声频率。需要ESC支持DShot并启用RPM遥测。
目标:电机振动噪声2Dynamic Notch Filter(动态陷波滤波器)
自动检测陀螺仪信号中的共振峰值,并在对应频率放置一个"陷波"(notch)来压制。它是动态的——会随着飞行状态变化自动调整中心频率。主要处理机架共振等RPM Filter覆盖不到的噪声。
目标:机架共振峰3Gyro Lowpass(陀螺仪低通滤波器)
一个全局低通滤波器,把高于截止频率的信号全部衰减。用于降低整体噪声底(noise floor),是前两层滤波器之后的"兜底"。截止频率越低,滤波越强,但延迟也越大。
目标:整体环境噪声底4D-term Lowpass(D项低通滤波器)
D项对噪声最敏感,所以在D项计算之前再加一层独立的低通滤波。这层滤波只影响D项,不影响P和I,因此可以在不增加整体延迟的情况下保护D项不被噪声放大。
目标:D项输入噪声必须按 RPM → Dynamic Notch → Gyro Lowpass → D-term Lowpass 的顺序调。如果先调低通,会把噪声峰值压平,导致Dynamic Notch检测不到峰值;如果RPM Filter没开就调其他,等于在噪声很大的基础上硬滤,效果差且延迟大。
3滤波与延迟的平衡
3.1 滤波器为什么会增加延迟?
任何滤波器都需要时间来处理信号。低通滤波器的截止频率越低,它需要"看"更多过去的数据来判断哪些是噪声、哪些是有效信号,这就引入了延迟。延迟意味着:你打杆了,飞控要等一小会儿才做出反应。
对于FPV飞行来说,延迟是手感的天敌。延迟大的飞机感觉"不跟手""像在水里飞",做动作慢半拍,propwash也会更严重(因为纠正动作来得太晚)。
3.2 电机温度作为辅助指标
除了看Blackbox日志,电机温度是一个非常实用的滤波器调参指标。飞完一块电池后摸一下电机:
- 电机烫手(超过70-80°C):通常说明滤波不足,D项在放大噪声导致电机频繁微调。需要加强滤波(尤其是D-term低通),或降低D增益。
- 电机温热(40-50°C):正常范围,滤波和D增益比较合理。
- 电机几乎不热:可能滤波过度或D增益太低,飞机可能不够跟手。可以尝试减少滤波或提高D。
可以"保守一点"多上些滤波来保证安全(尤其是带伤桨飞行时),但不要过度。如果你发现飞机手感模糊、propwash严重,试着逐步提高Gyro低通的截止频率(减少滤波),每次提高后飞一电验证手感和电机温度。
4Blackbox 日志工具
要精确调参,你需要"看"到飞机内部发生了什么。Blackbox日志就是飞机的"飞行数据记录仪",记录了陀螺仪、PID输出、电机输出、遥控指令等所有数据。
4.1 Blackbox Explorer
Betaflight官方的日志分析工具,免费开源。主要功能:
- 时域曲线:查看setpoint(目标)、gyro(实际)、PID输出、电机输出随时间的变化
- 频谱分析(Spectrum Analyzer):把信号转换到频域,查看噪声在哪些频率上最强
- 多轨迹叠加:同时显示Roll/Pitch/Yaw三轴数据,对比各轴差异
- 标记与测量:在曲线上打标记,测量延迟、过冲量等参数
4.2 PIDToolBox
第三方开发的更强大的日志分析工具,在Blackbox Explorer基础上增加了:
- 更直观的噪声频谱可视化
- 自动滤波器推荐(根据噪声峰值建议滤波器参数)
- PID响应质量评估(跟踪误差、过冲、振荡等量化指标)
- 多日志对比(调参前后对比效果)
对于新手来说,PIDToolBox的自动推荐功能可以大幅降低滤波器调参的门槛。建议先用Blackbox Explorer理解基本概念,再用PIDToolBox提高效率。
5如何读取 Blackbox 日志
5.1 陀螺仪噪声频谱
这是滤波器调参最重要的视图。操作步骤:
- 在Blackbox Explorer中打开日志文件
- 点击菜单栏的 View Analyser Display(频谱分析视图)
- 在右侧图例中选择 Gyro 轨迹(Roll/Pitch/Yaw分别看)
- 点击 Zoom Analyser Window 放大频谱视图
- 选择一段平稳悬停或匀速飞行的时间段(不要选做动作的时段,那时的信号是有效操控而非噪声)
正常的噪声频谱应该是:低频(0-100Hz)有较高的能量(这是飞行操控信号),然后随着频率升高逐渐下降,中间可能有几个明显的峰值(电机/桨的振动频率)。
5.2 PID响应曲线(Setpoint vs Gyro)
在时域视图中,同时显示 Setpoint(你想要的转速)和 Gyro(实际转速)两条曲线:
- 两条线重合得越好,说明PID跟踪越精准,飞机越跟手
- Gyro滞后于Setpoint:说明延迟大(滤波过度或P/前馈太低)
- Gyro超过Setpoint后振荡:说明过冲(P或前馈太高,或D太低)
- Gyro有高频毛刺:说明噪声没滤干净,D项可能在放大噪声
测量延迟的方法:在Setpoint开始变化的位置打一个标记,在Gyro开始响应的位置打另一个标记,两者的时间差就是控制延迟。优秀的调参通常能做到几毫秒的延迟。
5.3 电机输出
查看四个电机的输出曲线(Motor 1-4):
- 电机输出有高频抖动:说明D项在根据噪声频繁调整,滤波不足或D太高
- 电机输出饱和(达到100%):说明推力不足或PID Sum太高,飞机已经达到极限
- 四个电机输出差异大:可能重心偏移或某个电机/电调有问题
6基于 Blackbox 的滤波器调参流程
采集日志
确保Blackbox已开启(板载Flash或SD卡),飞一块电池,包含:平稳悬停30秒、匀速飞行、几个翻滚/横滚动作、垂直下降(测试propwash)。
- 悬停时段用于分析噪声频谱
- 动作时段用于分析PID响应和过冲
- 垂直下降用于评估propwash
开启并验证 RPM Filter
在Betaflight中确认RPM Filter已开启(需要ESC支持DShot和RPM遥测)。查看噪声频谱,电机频率处的峰值应该被显著压制。如果RPM Filter没生效,先解决ESC遥测问题再继续。
调整 Dynamic Notch
查看RPM Filter处理后的频谱,如果还有明显的共振峰值(通常在200-400Hz范围),调整Dynamic Notch的参数来压制。Dynamic Notch默认设置通常已经不错,主要确认它在正常工作。
调整 Gyro 低通
前两层处理完后,看剩余的噪声底。逐步提高Gyro低通的截止频率(减少滤波),每次提高后飞一电、看日志、摸电机温度。目标是在电机温度可接受的前提下,截止频率尽量高(延迟尽量小)。
调整 D-term 低通
最后调整D-term低通。查看D项输出的频谱,如果D项有高频噪声爆发,降低D-term低通截止频率。D-term低通只影响D项,可以比Gyro低通更激进一些(截止频率更低)。
验证与微调
滤波器调好后,重新审视PID增益。滤波改善后,D项可以承受更高的增益而不放大噪声,所以可能可以适当提高D和P。飞几电验证手感、电机温度、propwash表现,做最终微调。
和基础调参一样,每次只改一个滤波器参数,飞一电采集日志对比。不要一次改好几个参数,否则你不知道是哪个变化起了作用。建议保留每次调参的日志文件,方便前后对比。
7相关参数与常见问题诊断
7.1 RC Smoothing(遥控平滑)
RC Smoothing对前馈(Feedforward)影响很大。如果遥控信号有抖动,前馈会把抖动放大成振荡。建议:
- 加载对应遥控链路的 RC_Link 预设(Betaflight内置了ELRS、Crossfire、FrSky等预设),避免手动设置出错
- Auto Factor 是最重要的参数:值越低越灵敏、越"贼";值越高越柔和、越顺滑但也越拖沓
- 一般参考:竞技飞行 20-25;花飞 30-40;新手/远航可以更高
7.2 PID Sum Limit
PID输出的总和有一个上限限制,默认是500(对应50%)。如果你的PID增益很高,PID Sum可能撞到上限,导致飞机在大动作时"力不从心"。
在Blackbox日志中查看 PID Sum 轨迹,如果频繁达到500上限,可以在CLI中提高:
set pid_sum_limit = 1000
但注意,即使提高了限制,电机可能在这个输出水平已经饱和,所以不一定能明显改善飞行表现。
7.3 TPA(Throttle PID Attenuation)
TPA会在高油门时自动降低PID增益,因为高油门时电机振动更大、更容易振荡。默认设置通常已经合理,不建议新手随意调整。如果高油门时出现振荡,可以适当降低TPA的起始油门或增加衰减量。
7.4 常见问题诊断
陀螺仪故障
如果某一个轴的噪声明显大于其他轴,尤其是在低频(200Hz以下),可能是陀螺仪硬件故障。诊断方法:把飞控旋转90度安装,如果噪声轴也跟着旋转(比如原来Pitch噪声大,旋转后变成Roll噪声大),基本可以确认是陀螺仪坏了。
可能原因:高功率线靠近陀螺仪、飞控供电噪声大、板子设计缺陷。解决方法:移走高功率线、在ESC供电处加1000uF低ESR电容、在飞控供电处加220-470uF电容。如果都不行,只能换飞控。
ADC Filter 抖动
如果即使设置了正确的RC Link预设,前馈仍然出现随机尖峰导致振荡,检查遥控器的ADC Filter是否开启。在遥控器系统菜单的硬件页面中关闭ADC Filter。开启时,Blackbox日志中前馈轨迹会出现明显的尖刺。
RC链路丢包
如果飞机出现随机的、无法解释的抖动或延迟,在Blackbox中查看 RC Commands 轨迹。如果出现突然的下跌(dips),说明遥控链路在丢包。这不是PID或滤波器的问题,需要先解决遥控信号问题(检查接收机位置、天线、功率等),再继续调参。
| 问题现象 | 可能原因 | 排查方向 |
|---|---|---|
| 某轴噪声异常大 | 陀螺仪硬件故障 | 旋转飞控90度验证,检查供电和布线 |
| 前馈随机尖峰 | 遥控器ADC Filter开启 | 遥控器硬件页面关闭ADC Filter |
| 随机抖动/延迟 | RC链路丢包 | Blackbox看RC Commands是否有下跌 |
| 电机烫手 | 滤波不足或D太高 | 加强D-term低通,降低D增益 |
| 手感模糊不跟手 | 过度滤波或延迟大 | 提高低通截止频率,减少滤波 |
| 大动作力不从心 | PID Sum撞上限 | CLI提高pid_sum_limit,检查电机是否饱和 |
8小结
这一篇我们进入了进阶调参的核心:
- 为什么需要滤波器:陀螺仪采集到电机/桨/机架的振动噪声,D项会放大噪声,不滤波会导致电机过热和振荡
- 滤波器四层策略:RPM Filter(电机噪声)→ Dynamic Notch(机架共振)→ Gyro Lowpass(噪声底)→ D-term Lowpass(D项保护),按顺序调
- 滤波与延迟的平衡:滤波越少延迟越低但电机越烫,过度滤波手感模糊;电机温度是实用的辅助判断指标
- Blackbox工具:Blackbox Explorer(官方基础工具)和PIDToolBox(第三方进阶工具,带自动推荐)
- 读日志三要素:噪声频谱(调滤波器)、Setpoint vs Gyro(调PID响应)、电机输出(查饱和和抖动)
- 六步调参流程:采集日志 → RPM → Dynamic Notch → Gyro低通 → D-term低通 → 验证微调
- 相关参数:RC Smoothing/Auto Factor、PID Sum Limit、TPA
- 问题诊断:陀螺仪故障、ADC Filter抖动、RC丢包,这些都不是PID问题
掌握了Blackbox和滤波器调参,你已经能把飞机调到"非常好飞"的水平。下一篇我们会讲常见飞行问题的系统诊断方法,以及如何通过场外工具(遥控器LUA脚本、OSD菜单)在飞行现场快速调整PID。