跳转到主要内容

IMU FFT

[复制维基目的地="copter,plane"].

基于 FFT 的调谐音节设置

说明:

此功能包含在带有2MB内存的自动驾驶中. 检查您的自动驾驶器二进制特性用于确定您的自动驾驶员是否有此功能(GyroFFT)。 另外,只能设置一个基于FFT的Notch.

ArduPilot 预设了所有的意愿 行了 。 最初需要设置的只有:

  • 设置 **FFT ENBEL ** = 1 以启用FFT引擎. 这需要您重新启动自动驾驶, 之后将启用 FFT 支持, 其他 FFT 参数应在您的GCS 中可见 。 在默认参数设置下, FFT 引擎将运行一个自查, 以查看您的硬件上的频率匹配 。 如果你没有看到任何 FFT 错误, 那么事情是正常的。
  • FFT启用后,最好先进行试飞,检查飞机特定噪声频率是否被捕获 让CPU负载监测. 见初步分析飞行**. 通常情况下,结果会显示清晰的噪声识别和可接受的 cpu 加载, 然后你可以使用 FFT 驱动 ** 谐波 Notch通过设置这些参数:
  • 设置 **INS HNTCH ENTCL**和/或**INS HNTC2 ENTCL ** = 1 用于调谐音节 = 1 用于调谐音节
  • 设定 **INS HNTCH MODE**和/或 **INS HNTC2 MODE ** = 4用来使用FFT检测到的频率来控制口腔频率.
  • Set **INS_HNTCH_REF ** and/or **INS_HNTC2_REF ** = 1 to set the harmonic notch reference value, which for FFT analysis generally means no scaling
  • The harmonic notch reference frequency parameter, **INS_HNTCH_FREQ ** and/or **INS_HNTC2_FREQ **, is used to indicate the lowest motor speed for which the ESC telemetry should be used to dynamically set the harmonic notch reference frequency.

For most uses with other FFT-related advanced parameters at their default, this is all that is required. The user can do optimization of the filtering setup by analyzing the test flight logs and adjusting notch bandwidth, if desired, by following the **In-flight FFT Advanced Setup ** instructions.

说明:

Setting up the FFT parameters can be done automatically using the RCx_OPTION auxiliary function "162" on a transmitter switch. Set the function to a switch on the transmitter. Hover the vehicle, switch it on (high) for 30 seconds, and switch back low and land. The parameters will have been set up and the switch function removed. NOTE: do not use this feature in firmware version 4.3!

说明:

Using In-Flight FFT can result in poorer performance than a properly set up **Throttle-Based ** notch filter since the FFT computations take time and can lag the actual required center frequency. In-Flight FFT is useful when the rotor frequencies of the vehicle vary widely as in heavy lift vehicles operating with high and low loads. It can be useful in setting up **Throttle-Based ** notch filters, however, see **In-flight FFT Advanced Setup ** instructions for more information.

FFT Dynamic Harmonic Notch Frequency Tracking

FFT mode tracking sets the base frequency to the largest noise peak. Normally, when multiple harmonic notch filters are then enabled, the center frequency of each harmonic is locked to the base frequency of the first filter as an integer multiple, as determined by INS_HNTCH_HMNCS **. The bandwidth of the notch (and any enabled harmonic notches) will maintain a ratio set by the _FREQ/_BW params as the center frequency moves. Setting bit 1 of **INS_HNTCH_OPTS, or INS_HNTC2_OPTS, will enable each harmonic filter to track the three largest noise peaks, individually.

说明:

setting bit 1 of the notch options will also change the default value of **INS_HNTCH_HMNCS ** to 1 instead of its normal 3. This is to maintain backwards compatibility with previous firmware versions. You can set **INS_HNTCH_HMNCS ** back to 3, or whatever is desired, after setting bit 1 of **INS_HNTCH_HMNCS **

警告:

If you set bit 1 of INS_HNTCH_OPTS, or INS_HNTC2_OPTS, the bandwidth should not be half the frequency(default). It should be greatly reduced as more notches (3x more since now tracking three noise peaks) cause more phase lag (i.e. latency), thus the bandwidth needs to be reduced to maintain a reasonable phase lag, else oscillation and a poorer tune will result despite the more accurate filtering compared to throttle-based filtering. The suggested starting point is setting the _FREQ/_BW params to 4/1 ratio instead of the default 2/1. This is because for notch filters, a wider bandwidth causes a greater phase lag per notch. You can also use the Filter Tool to check the phase lag for your chosen filtering settings. If your phase lag is higher than it was with the single peak filtering, then you can try reducing the bandwidth even further, balancing the phase lag and the amount of noise in the system.

FFT Options

There are two options that can be selected by setting the appropriate bit in the FFT_OPTIONS parameter that affect FFT operation:

Post Filter Chain FFT Analysis Window

Normally, the FFT analysis for adjusting the center frequency is done by measuring the noise directly at the output of the unfiltered gyro data. However, if bit 0 of FFT_OPTIONS is set, then the measurement window takes into account the effects of the low pass filter and any configured notch filter(s). This is useful if there is high-frequency noise, which impacts the control response less than lower-frequency noise due to the low pass at the end of the filter chain but may be targeted by the FFT measurement. Setting this bit will only track those lower frequency, and more critical, noise peaks.

Motor Noise Check

If bit 1 of FFT_OPTIONS is set and ESC motor rpm telemetry is available, then the measurement window for the FFT is centered about the motor(s) frequency as reported by ESC telemetry. This will generate a GCS warning message if noise from any motor greater than 40db is passing through the filter chain, and identify its level, motor number, and frequency. This bit must be used with bit 0 also set.

Typical Use

A typical use of the FFT notch filter is in addition to other dynamic harmonic notch filters (Throttle, ESC, or RPM-based). In these configurations, using the post-LPF FFT Window FFT_OPTIONS bit will yield the best overall filtering results by positioning the FFT filter to target noise not filtered by the other notch filter and gyro LPF (INS_GYRO_FILTER.

Additional Information

For those interested in the details of how this feature works and tradeoffs in some of the advanced parameters, not normally adjusted by users, the **In-Flight FFT: How it Works ** document describes the operation and these advanced parameters.

【本页后半部分仍为英文原文摘录,补译中。】


译自 ArduPilot Copter「In-Flight FFT-Based Harmonic Notch Setup」· 查看原文 · CC BY-SA 3.0