In-Flight FFT Based Harmonic Notch Setup


This feature is included in autopilots with 2MB of memory. Check your autopilot’s firmware limitations after the release to determine if your autopilot has this feature.

ArduPilot comes pre-configured with appropriate defaults for all FFT settings. The only initial setup required is:

  • Set FFT_ENABLE = 1 to enable the FFT engine. This then requires that you reboot your flight controller after which FFT support will be enabled and other FFT parameters should be visible in your GCS. With default parameter settings the FFT engine will run a self-check for frequency matching on your hardware. If you do not see any FFT errors then things are working properly.

  • With FFT enabled it is best to first perform a test flight to check that your aircraft’s particular noise frequencies are being captured and to monitor CPU load. See Initial Analysis Flight. Normally, results from this will show clear noise recognition and acceptable cpu loading, and then you can use the FFT to drive the harmonic notch by setting these parameters:

  • Set INS_HNTCH_ENABLE and/or INS_HNTC2_ENABLE = 1 to enable the harmonic notch = 1 to enable the harmonic notch

  • Set INS_HNTCH_MODE and/or INS_HNTC2_MODE = 4 to use the FFT detected frequency for controlling the harmonic notch frequency.

  • 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

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, switch back low and land. The parameters will have been setup and switch function removed.


Using In-Flight FFT can result in poorer performance than a properly setup 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 is setting up Throttle-Based notch filters, however, see In-flight FFT Advanced Setup instructions for more 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.