Throttle Based Dynamic Notch Setup¶
If you do not have ESC telemetry or an RPM sensor, and are not using an autopilot capable of using the in-flight FFT mode, then throttle-based (INS_HNTCH_MODE = 1 , or INS_HNTC2_MODE = 1) center frequency control is best.
In order to configure the throttle-based dynamic harmonic notch filter it is important to identify the motor noise at the hover throttle level. To do this we need to use the batch sampler to obtain logs for analysis.
Once this is done, the center frequency of the notch(s) can be set and other parameters configured:
Harmonic Notch Configuration for Throttle Based Mode¶
Set INS_HNTCH_FM_RAT and/or INS_HNTC2_FM_RAT to the percentage of INS_HNTCH_FREQ and/or INS_HNTC2_FREQ that you desire the notch frequency to track below hover throttle. Note that lower frequency notch filters will have more phase lag and can impact stability. If you want throttle based notch filtering to be effective at a throttle up to 30% below the configured notch frequency then set this parameter to 0.7. The default of 1.0 means the notch will not go below the frequency in the INS_HNTCH_FREQ and/or INS_HNTC2_FREQ parameter.
Check the performance of the filter(s) after setup by doing another post filter configuration test flight as discussed in the batch sampler section and analyzing the logs.
Advanced Notch Frequency Scaling Adjustment in Throttle Based Mode¶
The harmonic notch is designed to match the motor noise frequency as it changes by interpreting the throttle value. The frequency is scaled up from the hover frequency and will never go below this frequency. However, in dynamic flight it is quite common to hit quite low motor frequencies during propwash. In order to address this it is possible to change the ref value in order to scale from a lower frequency.
First perform a long dynamic flight using your current settings and post-filter batch logging. Examine the FFT and look at how far the motor noise peak extends below the hover frequency. Use this frequency - min_freq - as the lower bound of your scaling. Then in order to calculate an updated value of the throttle reference use: