Dynamic FFT: Identiying Primary and Secondary Harmonics for OctaQuadX configuration. Should Higher Harmonics be considered?

Hello Team,

Custom building a heavy lift OctaQuadX configuration AUW of 180 to 190Kg. How many notches would be typically required for co-axial configuration?. Does each motor pair at the end of the arm having 2-bladed prop each effectively act as a single 4-bladed prop unit? As ESC telemetry is on CAN bus and is operating at lower speeds of 500Kbps compared to typical CAN based peripherals which typically operates at speeds above 1Mbps, the peripherals are glitching on the same CAN port due to force reduction of their speeds. Hence, ESC telemetry though available is not being always used for driving harmonic notches as sometimes the entire bus CAN-hub collecting ESC telemetry is removed and bus speed is set back to desired 1Mbps so that peripherals work as expected.

Hence using dynamic FFTs to filter gyro noise, but having issues in identifying primary and secondary notches and also doubting if these primary and secondary are enough for OctaQuadX setup. shouldn’t the 2nd and 3rd harmonic which is having higher amplitude too be considered for filtering?

.bin file here

Inputs would be very valuable.


Your ESC telemetry looks good for me, it can be used. There is some glitches with filtering tool but filtering itself should work. Don’t think FFT needed here. I assume it’s safe to lower your INS_GYRO_FILTER to 20 (or even more, like 16).
PIDs looks too low.
What’s your craft prop size? What motors used?

Well, for this flight had enabled ESC CAN messages(connected via a hub). Motors are HobbyWing X13 with 56" Props. Though tried changing default factory CAN rate of 500Kbps for H-W ESC telemetry but all the methods suggested by the H-W team failed to change to baud rate to expected 1Mpbs. As some primary peripherals(Compass, GPS, Baro) are also connected on the same CAN port they glitch if ESC CAN(hub) is not disconnected even after forcing to operate at lower baud rates (500Kbps). The glitch(unhealthy status is reported) could be because of CAN message loss but it deosn’t always happen. In the flight log shared it didn’t happen. Hence we have decided not to use ESC RPM telemetry for configuring notches but Dynamic FFT. We haven’t tuned PID yet. The indoor flight video is here.

I advise to use the throttle-based notch filter if the ESC RPM is unreliable.
I see these settings as your best option - note the Gyro filter at 20Hz !!

for this result:

If more payload increases the post-filter noise at the 3rd and 4th harmonics you could enable the options to filter those too, but probably unnecessary.
Less is more with the harmonic notch filter, and squashing noise below 0.05 (on that vertical scale) has diminishing returns and sometimes unwanted side-effects.

Most FCs have two CAN bus. Why not keep the Compass, GPS, Baro on CAN1 and the ESC on CAN2 ?

CAN Port 2 is bound to Scripting to parse only battery messages as the messages are not dronecan compatible hence can’t connect any other peripharal on that part. is there way in Lua scripting to segregate Dronecan messages and pass it on to underlying driver and process no drone-can message in the script

Is throttle based filter still recommended given that load could vary?

We will try out reducing gryo fitler to 20hz and keep notches to 2 as recommended.

Yes, throttle-based notch varies nicely with load.
Use all those settings I provided and see how that goes. Another log just to verify would be good to see.