Harmonic Notch Filter Setup using FFT

Hello everyone,

I’m facing some challenges with excessive Z-axis vibrations (above 30 m/s/s) on my hexacopter, and I’m hoping someone can point me in the right direction. My goal is to get everything dialed in well enough to safely run Autotune and get the best tune.

Here’s what I’ve done so far:

  1. Enabled FFT
  • I set up the FFT-based approach for identifying primary vibration frequencies.
  • Took a short test flight to gather data.
  1. Configured the Harmonic Notch Filter
  • Using the data from the FFT, I adjusted my Harmonic Notch settings.
  • Flew again, but still seeing very high Z-axis vibration (above 30 m/s/s).

Despite these steps, the vibrations remain high, and I’m not sure what else to tweak. I’m attaching a log that shows the issue in detail. If anyone could give me tips on:

  • How to refine the FFT-based approach and harmonic notch settings
  • Possible frame- or hardware-related causes I should check
  • Param settings that might help reduce the Z-axis vibrations further

…I would really appreciate it!

Ultimately, I’d like to lower these vibrations enough so that I can run Autotune reliably. Any advice, steps to diagnose, or parameter suggestions would be greatly appreciated. Thanks in advance for your help.

Log attached. Please let me know if you need more info or screenshots from my setup.

Thank you!

00000085.BIN

Vibration levels above 20 can not be solved in software. You need to reduce them by fixing and improving the hardware. After that, once they are back at acceptable levels, the software is able to do it`s job. But not before.

1 Like

Hi @amilcarlucas

After your reply, I completely disassembled the drone frame and assembled again making sure that each arm is secured and not moving. I added 3D Printed TPU gaskets at some places to damp vibration. I then lowered the battery plate a bit to get the CG downward.

I changed the FC to more powerful CUAV X7 Plus Pro with latest arducopter version 4.5.7 and GNSS to Neo 3 Pro. At the time of configuration, I used Ardupilot Methodic Configurator. I have also configured CAN based ESC Telemetry of Hobbywing.

I took off in AltHold Mode and flight was smooth. But when I checked the Logs, the Z vibration was getting above 60. I am attaching both video and log of the flight. Please suggest me the further steps.

Video:
First Flight.mp4

Log:
00000015.BIN

My guess is that the TPU is making the frame too flexible. But that is just a guess.

Do you think that adding payload at the CG will reduce the Z vibration?
As of now, I can’t see any vibration or oscillation visually and audibly. Also, TPU is only used as gasket at only 4 places where payload plate is connected.

What should I do in this condition, please guide me.

Thank You.

Flexibility is not necessarily a good thing - there used to be motor mount dampeners around and they almost always made vibrations worse. Z axis vibration is usually caused by the props passage over the arms and even the base plates if the props are too big.
I suspect the X7 Plus will measure higher vibrations because the IMUs are more sensitive.
The harmonic notch filter wont reduce your vibrations, it’s job is to prevent those vibrations from affecting the control loops as much. So you wont see any difference in vibrations by changing filter settings.

You need to set INS_LOG_BAT_MASK,1 to log the pre-filter and post-filter noise (it seems you had already done all that measurement) - that’s what matters after you’ve done everything you can to reduce physical vibrations. You appear to have the other notch filter settings OK and it should be working with the ESC RPM.
If you are happy with it you can set INS_LOG_BAT_OPT,0 along with INS_LOG_BAT_MASK,0.

1 Like

Okay,
Let me change INS_LOG_BAT_MASK to 1 and then do a test flight. What do you think, by adding weight at CG will reduce the Z Vibration?
I want to reduce the Z vibration as soon as possible as I want to move forward in tunning procedure.

Thank You So Much.