Throttle-Based Dynamic Notch Filter Fails to Attenuate Vibration: Parameters Confirmed but No Effect

I’m experiencing a perplexing issue with a throttle-based dynamic notch filter on my custom quadcopter. Despite carefully following ArduPilot’s documentation and verifying parameter settings, the filter fails to reduce vibration as expected. Here’s a detailed breakdown:

Drone Configuration**

  • Motor: 3508 KV400
  • Propeller: 15-inch
  • Battery: 6S 5200mAh
  • **Frame : about 630mm
  • Flight Controller: matek F765 WING Running ArduCopter 4.5.7

Notch Filter Setup (From Filter Review)


MOT_THST_HOVER=0.18
I try to change INS_HNTCH_FM_RAT from 1 to 0.7,NO FIX the issue;

Spectrum Observation

  • Pre-filter (blue) and Post-filter (orange) curves in the IMU spectrum (Gyro 1, X-axis) are nearly identical, indicating no measurable attenuation.
  • The estimated post-filter (green) shows the expected attenuation when simulated with the same parameters, confirming the issue is not due to invalid parameter values.

I’ve spent an entire day trying to solve this issue but to no avail. Am I making a mistake in the settings?

From the spectrum analysis, it’s clear that 47Hz is the fundamental frequency and 94Hz is the harmonic, which corresponds to the propeller’s rotational vibration noise at 2840 RPM. However, I can’t understand why setting the filter’s reference frequency has no effect at all. Even if the filter fails to track the propeller speed perfectly, it should still show some attenuation. Additionally, I noticed that even when setting a low-pass filter, the pre- and post-filter curves remain almost identical.

I’ve uploaded today’s flight logs and hope to get everyone’s help.
flight log download
Or could this be a bug? I asked people in the group, and one person said he had encountered the same situation.

Try reducing the value of INS_GYRO_FILTER to 30Hz and fly again. Attest the flight log.

I have tried lowering the low-pass filter, but there’s still no change after adjusting it. Some people say the actual filtering is working and it’s a bug, but I’m not sure.The flight records I uploaded have already done these.

Which log should I look at?

A common reason for this is an EKF lane switch and the notch filters only run on the primary EKF lane by default

Log No 57 to No 60,Is there a way to solve this, or temporarily limit EKF through that parameter?

57 something shows something totally different to what you have posted, please be precise:

The filter center frequency set at log 57 is incorrect. I have been trying to set different filter center frequencies to observe the effect. You checked the spectrum plot against the following filter parameters, but no matter how I adjust the settings, there is no visible effect on the spectrum plot at all. Even when using FFT filtering, I can’t see any indication that the filter is working.

I set INS_LOG_BAT_MASK=3 to obtain data from both IMU1 and IMU2, and increased EK3_ERR_THRSH to 0.8 to enhance EK3 lane switching, but it still didn’t work. There is no filtering effect at all.

57 something shows something totally different to what you have posted, please be precise. Can’t help you otherwise. Randomly trying different parameters is not going to help.

You can ignore flight record 57. The flight record 57 was from my previous flight, so it does not match the Posted here. Please start from flight record 58. All flight records starting from 58 were from yesterday’s flight test.

It may have found the problem. This was tested with a 2.5 - inch drone. INS_HNTCH_REF = precise throttle value, INS_HNTCH_FREQ = precise peak value. Even a slight difference may cause the filter to have no effect at all. I don’t know if it is related to my frequency resolution. Because the previous frequency resolution was about 8HZ, and now the frequency resolution is 1.95HZ. The higher the frequency resolution, the more real the frequency value corresponding to the peak. Maybe using the RAW IMU value is better.

this picture show the filter work

The differences between the two are that the center frequency is changed from 353 to 350, and INS_HNTCH_REF is adjusted from 0.31 to 0.34.