Tuning the Harmonic Notch

But I guess the freq is not exactly 250Hz, the peak is at 316Hz

Hi @amilcarlucas Thank you for pointing out my mistake. After setting INS_NHTCH_FREQ = 300, it is better

Yes that increased the attenuation to 50x now.

Congrats, now you can raise the PIDs and have a much more responsive copter.

Hi chobitsfan,
tell me how checkout amplitude scaling???


I did try today the Notch Filter for the first time on a bigger drone X8 Coxial:

We use the X-U8II with 80KV
31" Carbon folding propeller
Pixhawk Orange cube with 4.07 Firmware ( will try 4.15 soon)
The total weight of the drone is 7,5kg, + 4kg Payload and 7,7kg on batteries.


The logs can be found here:
I would really appreciate if someone could take a look at it, if this setup looks okay.

I would use
But the problem is your MOT settings dont make sense
MOT_SPIN_MIN is 0.23 which seems too high when MOT_THST_HOVER is only 0.19

Use the MissionPlanner motor test to check for the lowest reliable start up speed and set that as MOT_SPIN_ARM (currently 0) then add a bit (usually +0.03) and set that as MOT_SPIN_MIN.
You can also use the motor test to estimate what MOT_SPIN_MIN could actually be, minimum usable thrust.

After that you will have to test fly again, mostly hover and let the MOT_THST_HOVER learn a new value. Check the log to see if HNOTCH is all still OK.

In PIDs and attitude control, you’ve got some oscillations going on there - you should start a new discussion of your own outside the HNOTCH general discussion. I’ve got a few suggestions.

Hello Shawn,

thank you for your feedback, I have actually another discussion open for this drone :wink:


I would appreciate any suggestions! For the Hover value, you are correct, we are testing different weights for this setup. I will check this again tomorrow for the MOT_SPIN_MIN value.

New drone, slightly new problems. got a drone that shows pretty clear vibrations at 40, 80, and 160 hz. For how nicely the spikes look in post-flight FFT analysis, I would really like to nail down the in-flight FFT better.

^^this log is from a flight with additional payload, so 40 plus some change is the base freq

here I’m plotting FTN2 [0 and 1] [Pk X and Y’s]. I’d like to target the freq at ~45, and then use the first 2 harmonics for the rest. the lower lines are from FTN2[1] (lower EnXYZ than the FTN2[0] detected frequencies). I set FFT_HMNC_PEAK = 2 . This parameter sets the FFT harmonic peak target to the highest energy peak that is lower in frequency than the highest energy peak. The resultant harmonic peak looks like this:

Any suggestions for filtering out these jumps?
log here

amplitude axis is dynamic scaled. In this graph, max value of amplitude axis is 0.11

But in this graph, max value of amplitude axis is 0.006

Hi anyone here have tested pid gains for M690A T-Drone Quadcopter. The default gains shows bit oscillation on roll and pitch axis. Please share.

Please open a new thread about that specific issue.

If I’m not wrong, I’ve seen you post about this issue in three other posts where none of the posts where created by you for your specific issue.

It’s going to be very hard to help you if you scatter your issue over several posts. I would strongly suggest you create a separate new post of your own for your specific issue.

You will probably get better help if you do.

1 Like

I am task to prempt and work on another drone.

  1. Hover thrust value will change for different weight and [it is supported ( ATC_ACCEL_P_MAX x (min_TOW / max_TOW)](Setting the input shaping parameters — Copter documentation).
    So which hover thrust value should I use.
  2. From where I can get the min_freq and hover_freq?

The updated formula is actually:

  • INS_HNTCH_REF = hover_thrust * (min_freq / hover_freq)^2

That is “sqaured” not “square root”
which works out very roughly as
INS_HNTCH_REF = hover_thrust * 0.6
when using the throttle based HNOTCH filter.

You can collect the data for determining the filter settings with
and you’ll be able to see on the FFT graphs and estimate the minimum frequency, or use motor RPM and
Freq = RPM / 60
which is easy if you have BLHELI RPM data.

Hover thrust values WILL change with payloads, as you say. The trick is checking different flights to see what’s changed and if you need adjust any HNOTCH settings. You might be able to come up with HNOTCH settings that work well across multiple payloads.

  • use RPM based HNOTCH
  • ensure you have a good flight controller and use FFT based HNOTCH

And same for Accel values and payload changes, you might be able to come up with values that work well across multiple payloads. Or just have a tiny .param file for each different payload , or no payload.
The param file could include the appropriate HNTOCH and ACCEL values for each payload.

  • new ATC_ACCEL_P_MAX = ATC_ACCEL_P_MAX x (min_TOW / max_TOW)
  • new ATC_ACCEL_R_MAX = ATC_ACCEL_R_MAX x (min_TOW / max_TOW)
  • new ATC_ACCEL_Y_MAX = ATC_ACCEL_Y_MAX x (min_TOW / max_TOW)

You may want to check the small Magnitude box.

1 Like

Yes, post in the right thread. This is an old one for Copter 4.0.

After this value imu batch sample not showing

Default this value imu batch sample work
Why ?

Does that make any difference for imu sample ?

LOG_BITMASK=178175 = B0010 1011 0111 1111 1111
LOG_BITMASK=176126 = B0010 1010 1111 1111 1110
Not sure you have the same encounter as me last time.
could be due to Fast Attitude.

I think fast and raw are conflicting with the IMU batch sampling

No dont change that log bitmask, leave it at 176126

For Harmonic Notch Filter work set these:

INS_LOG_BAT_OPT,0 ← see below

0 for pre-filter data
2 for post-filter data
4 for both pre- and post-filter data, this is best.

When everything is confirmed working correctly with HNTOCH

1 Like

Indoor flights shouldn’t have a GPS signal, right

I do not see the flight modes logged in with gps .bin.

3Rx3x4.5" propeller, high rpm, motor hot high chance.

you are flying stabilizes flight mode, I think very good result.

you should further try Alt-hold flight mode with MOT_HOVER_LEARN = 2, followed by outdoor for loiter flight mode with a calibrated GPS.

MOT_THST_HOVER is unlikely to be less than 0.25, a sign of the motor is under power, maybe. CTUN.Th0 ave 0.32.

My guess is you are using a digital ESC DShot600.
any reason why you limit MOT_SPIN_MAX to 0.65?
which flight controller board are you using, a digital motor signal for example cubeOrange is
I hope this is correct for a different type of flight controller

any reason why you still stick to EKF2 and not migrate to EKF3?

I think you need to start your own discussion for all this, rather than put it all in the Harmonic Notch general discussion.

1 Like