Bit of INS_HNTCH_OPTS

Based on the document in the image,

  • Bit 0 = Double Notch
  • Bit 1 = Multi-Source
  • Bit 2 = Update at loop rate
  • Bit 3 = EnableOnAllIMUs,
    and so on.

In the excerpt from the ArduPilot ESC Telemetry Notch Filter documentation,
does Bit 2 correspond to “Update at loop rate” instead of Bit 3?
Is the documentation written incorrectly?

In the following image, does INS_HNTCH_OPTS bit 1 correspond to Multi-Source?

I came across this while researching how to use the ESC telemetry notch filter with an F4 flight controller (FC) and BLHeli Bluejay ESC.

Questions:

  1. For an F4 FC, what value should I set for INS_HNTCH_OPTS?
  • I believe enabling Multi-Source, Update at loop rate, and Triple notch with a value of 22 will likely exceed the F4’s CPU capacity.
  • The documentation mentions that Double Notch is no longer recommended and may even be counterproductive for small crafts.
  • Should I enable only the Multi-Source and Update at loop rate bits?
  1. If I continue to use the Throttle-based notch filter, is it correct to set INS_HNTCH_OPTS to only enable Multi-Source or set it 0?

Thank you so much!

With throttle filtering you don’t need mulit-source. I think that only takes effect when you’re using ESC RPM data so for throttle it probably wouldn’t even do anything. On a throttle based filter I’d probably leave the options at 0, but look at the plots on the web tools.

1 Like

Thanks!

If I use ESC RPM data, not throttle filtering,
Is it okay if I check only Multi-source bit?

I think applying Double Notch, Triple Notch or Update at loop rate will exceed the F4 CPU’s capacity.

Thank you

You may even run into trouble with using multi-source on an F4 without selecting the other options.
That’s not so bad though. Multi-source is nice for smaller quads or where you expect sustained lean angles (high speed) where motor outputs could be quite different. Copters where motor outputs dont differ much will be OK without the multi-source option.
Examine PM.Load in a .bin log to see if the options are overloading your flight controller. The values are in hundreds up to a maximum of 1000 for 100% load. You’d be looking to keep load below 60%, or preferably below 50% just to allow plenty of headroom. Up around 80% starts causing issues.

Keep the harmonic notch filter options to a minimum, just what is required to do the job. It can be detrimental to select the options just because they are there.

1 Like

Thank you for taking the time to address my issue.

Below is a short flight log from my recent flight.
I have configured the Throttle-based notch filter, and the CPU load remains below 40%.

This is a 7" long-range FPV craft,
and I’ve read on forums that ESC telemetry notch is preferred over the Throttle-based notch for smaller crafts.

I am still unsure whether it is better to switch to the ESC telemetry notch filter for my F4-based FC or to continue flying with the current Throttle-based notch filter.

Once again, thank you for your response.

You dont have ESC data in that log. If you can get that working it will be worth the effort, and it is definitely better to use than the throttle-based notch.

You existing notch is wrong anyway:

Your copter seems very low noise, but use these settings:

INS_HNTCH_BW,20
INS_HNTCH_FM_RAT,0.7
INS_HNTCH_FREQ,148
INS_HNTCH_HMNCS,1
INS_HNTCH_OPTS,0
INS_HNTCH_REF,0.11

for this result:

1 Like

Thank you so much for your response.

Yes, you are correct.
I am currently using BLHeli_S ESCs, so I cannot utilize the telemetry function.
Now, I’m using throttle_based but If I feel the need to apply the ESC telemetry notch, I plan to either use the Bluejay firmware or purchase BLHeli32 ESCs.

The image below shows an FFT analysis from a flight before applying the appropriate notch filter.

I assumed the peak was at 171 and set the frequency (INS_HNTCH_FREQ) to 171.
However, as shown in the image, there is also a peak occurring around 130.

As you suggested, should I have set INS_HNTCH_FREQ to 148, the middle value between 130 and 170, instead?

I read in the document that INS_HNTCH_REF should be set to Hover_Thrust.
My Hover Thrust is 0.2, but should I set it to 0.11?
Can you explain how to calculate INS_HNTCH_REF properly?

Thank you so much for your help.
Your response is incredibly valuable to me!

The values I specified are carefully calculated from your data.
For throttle-based notch filter the REF value should actually be: INS_HNTCH_REF = hover_thrust * SQRT(min_freq / hover_freq) ← I used this, I have it set up in a spreadsheet
which usually works out to be about: INS_HNTCH_REF = hover_thrust * 0.6 or 0.7

1 Like

Thank you so much!!!
I will try with values you suggested.