Harmonic Notch + Gyro LPF on Large-Prop Y6 QuadPlane — 10 Hz vs 20 Hz

Hi everyone,

I’m tuning a Y6 QuadPlane with 30" 2-blade props and looking for feedback on the gyro LPF and harmonic notch configuration.

Setup:

  • ArduPlane 4.6.3 / CubeOrangePlus

  • 6 × motors, DroneCAN ESC RPM telemetry

  • Loop rate: 400 Hz

  • Hover RPM: ~2200–3000 RPM

  • QSTABILIZE/QHOVER testing

Current filters:

INS_GYRO_FILTER  = 10 Hz
INS_ACCEL_FILTER = 10 Hz

INS_HNTCH_FREQ = 72
INS_HNTCH_BW   = 75
INS_HNTCH_ATT  = 30
INS_HNTCH_HMNCS = 3

INS_HNTC2_FREQ = 80
INS_HNTC2_BW   = 75
INS_HNTC2_ATT  = 30
INS_HNTC2_HMNCS = 3

Raw gyro analysis shows the dominant vibration around 158–180 Hz, with significantly higher energy in the 120–240 Hz region than around the 70–120 Hz blade-passing region.

The current notch configuration gives approximately 70+ dB attenuation in the 120–240 Hz region.

I also tested 10 Hz vs 20 Hz gyro filtering:

10 Hz 20 Hz
3–20 Hz attenuation up to ~3.5 dB <1.5 dB
Phase at 20 Hz ~-202° ~-156°
Mean roll/pitch error ~0.18–0.30° Similar

The aircraft is already tracking very well with the 10 Hz filter.

I also tested RPM-based Multi-Source notch tracking, but due to the large RPM spread between the six motors, it resulted in significantly more phase lag, so I reverted to the fixed notch configuration.

My questions:

  1. Would moving INS_GYRO_FILTER from 10 → 20 Hz provide a meaningful control benefit, or is 10 Hz preferable given the current attitude-tracking performance?

  2. Should INS_ACCEL_FILTER remain at 10 Hz if the gyro filter is increased to 20 Hz?

  3. Is the wide fixed notch reasonable for this configuration, given that the dominant vibration remains around 158–180 Hz?

  4. The six motors consistently show a 3-vs-3 RPM split (~2200–2400 vs ~2890–2990 RPM), with corresponding temperature differences. Would you treat this primarily as a CG/mechanical balance issue rather than tuning around it?

I’m mainly trying to determine whether the phase-lag reduction from 20 Hz is worth the additional noise passed to the controller, given that the aircraft is already performing well at 10 Hz.

Thanks.

I Have added the log files with the Gyro Filter Value changes in the drive below

Yes.

Yes.

Probably not. Static notches should be narrow.

Yes, it is a CG/mechanical balance issue. Fix it. Do not tune around it.

Thanks.

Regarding point 4, I want to clarify that this is a Y6 coaxial configuration, with three upper and three lower motors.

We consistently see a 3-vs-3 RPM split across three flights:

  • 3 motors: ~2200–2400 RPM, 53–58°C

  • 3 motors: ~2890–2990 RPM, 67–72°C

  • Roll/pitch errors remain low (~0.2–0.3°)

  • Yaw I-term is significantly higher (~3.5× P-term)

I’m checking the motor mapping to confirm whether the higher-RPM group corresponds to the lower rotors.

If confirmed:

  1. Is a ~30% RPM difference typical for a 30" coaxial Y6, or is it excessive?

  2. Could this primarily be due to coaxial/downwash losses rather than CG imbalance?

  3. If the RPM spread is inherent to the Y6 configuration, should we prefer dynamic notch tracking over narrow static notches?

You should always prefer tracking notches over static ones, Ardupilot supports running the notch on per motor basis so you get a notch on each motor’s frequency.

I’m not terribly familiar with this frame type, but I can’t find any code for coaxial motor configurations that accounts for losses in the bottom motors and ramps up the rpm accordingly (but I could have missed it, happy to be proven wrong). I also haven’t looked at the log to see which 3 motors you say are high, I’m speaking only about what the mixer would do.

There is a recently added experimental co-rotating coaxial configuration that has a baked in offset between the top and bottom, but this isn’t done for the Y6 frames.