文章目录
前言
5 滤除的谐波数量
6 检查陷波滤波器的有效性
7 双层/三层陷波
8 参数说明
前言
ArduPilot 支持两个陷波滤波器,对于电机来说,其滤波频率可以与电机的旋转频率相联系,对于直升机来说,可以与转子速度相联系,并提供主频率及其谐波的陷波。
5 滤除的谐波数量
设置INS_HNTCH_HMNCS,可以启用最多三个谐波(中心频率的倍数)陷波。对于INS_HNTCH_MODE 跟踪,每个电机将得到一组这样的陷波。如果一个八旋翼飞机设置了所有三个谐波,这就导致了8 x 3 = 24个陷波滤波器。启用三层陷波(见下文)将导致 72 个滤波器!这肯定会导致过度的 cpu 和负载过大,出现性能问题。其他模式只提供一组谐波陷波。
始终只启用实际需要的谐波陷波滤波器的数量,如果使用 ESC(INS_HNTCH_MODE = 3)跟踪模式,要特别注意正在启用的内容。
6 检查陷波滤波器的有效性
设置好陷波滤波器后,可以通过再次测量滤波器输出(即 IMU 传感器的新输入)的频谱来检查其有效性。为此,请参阅"使用 IMU 批量采样器测量振动"(Measuring Vibration with IMU Batch Sampler)或"用于 FFT 分析的原始 IMU 日志"(Raw IMU Logging for FFT Analysis)页面。
7 双层/三层陷波
所使用的软件陷波滤波器非常"尖锐",相对较窄,但中心衰减能力强。在较大型的直升机上,电机的噪声曲线非常脏,覆盖的频率范围比单个陷波滤波器所能覆盖的范围更广。为了解决这种情况,可以将谐波陷波滤波器配置为多个陷波滤波器,以提供更广泛的显著衰减。配置由 INS_HNTCH_OPTS 参数控制。这是一个位掩码参数,可以同时使用多个选项,但应避免同时使用位 0、位 1 和位 4。在给定配置中只能使用其中一个选项。
INS_HNTCH_OPTS Bit | Action |
0 | 双层重叠陷波 |
1 | 多信号源:如果使用 FFT 模式,则将为三个最大的噪声源分配一个凹口。如果使用电调遥测模式,则每个电机的转速都将分配一个凹口。 |
2 | 以循环速率更新滤波器。这需要大量 CPU,但能更快地跟踪噪声变化。只有当频率源以环路速率更新时才有效,即双向 DShot 遥测。 |
3 | 启用每个 IMU 上的陷波,而不仅仅是主 IMU。这需要耗费大量 CPU,但可以在嘈杂环境和调试时做出更好的车道切换决策。不建议用于 F4 电路板。 |
4 | 三层重叠陷波 |
!Note
由于增加了三层陷波选项,所以不再推荐双层陷波选项。在双层陷波中,最大的衰减是在中心频率的两侧,所以在具有非常明显峰值的小型飞机上,使用双层陷波通常会产生反作用。
!Note
每个陷波都有一定的 CPU 成本,所以如果你配置了多个陷波,最终你的飞机上会有很多陷波。例如,三组单(无谐波)陷波,使用 ESC 遥测将导致每个电机有 3 个陷波或 12 个总陷波。例如,对于 F4 cpus 来说,这应该是可以接受的,但是用INS_HNTC2_ENABLE启用第二组三陷波或多个谐波陷波,可能会导致问题。
8 参数说明
1、INS_HNTCH_MODE:谐波陷波滤波器动态频率跟踪模式
注意:该参数适用于高级用户。
谐波陷波滤波器动态频率跟踪模式。动态更新可以是油门、转速传感器、电调遥测或基于动态 FFT 的更新。基于油门的谐波陷波不能用于固定翼飞机。它可以用于 Copters、QuaadPlane(在 VTOL 模式下)和 Rovers。
Range | Values | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 to 5 |
|
2、INS_HNTCH_OPTS:谐波陷波滤波器选项
注意:该参数适用于高级用户。
注意:更改后需要重启。
谐波陷波滤波器选项。与单陷波相比,三陷波和双陷波可以在更宽的带宽上提供更深的衰减,同时减少延迟,适用于大型飞机。多源滤波器将谐波陷波附加到每个检测到的噪声频率上,而不仅仅是基频的倍数,在 FFT 的情况下,它会将陷波附加到三个检测到的噪声峰值上,在 ESC 的情况下,它会将陷波附加到四个电机转速值上。环路速率更新以调度器环路速率(而非默认的 200Hz)改变陷波中心频率。如果同时指定了双陷波和三陷波,则只有双陷波会生效。
Bitmask | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|