Altitude estimate not following baro nor GPS

I’ve built a new 10” quadcopter, and the altitude control is terrible. The pixhawk (ARK FPV) is in an enclosed body with vents near the propllers, so initially I thought that the body might be filling with high pressure air from the prop wash. However, looking at the logs, the baro and GPS altitudes actually agree so it looks like the baro is working just fine. But the altitude estimate is not following the baro, nor the GPS. Any ideas why not?
SRC1_POSZ is set to baro, VELZ to GPS. Z vibrations are 10m/s/s or less, 0 accel cliping.
Thanks in advance!

Could you attach the logfile for the pictured flight please?

@RHagg you can download the log from Meala:

Thanks. I’ve had a quick look through it. Can’t see any smoking guns - I agree that your baro and GPS seem to be in rough agreement.

To me the most troublesome looking thing is the magnitude of noise on the accelerometer. I see you’ve already dropped the accel LPF - what’s your current vibration isolation between frame and flight controller? and have you already tried setting up notch filters?

I’d suggest this as a culprit - the mean of the Accz looks like it roughly tracks with the decrease in altitude, but I would expect the variance on the signal to be impacting the EKF estimates to some degree.

First I would suggest setting the Vertical Acceleration Controller gains properly based on hover thrust. It’s misconfigured now. And then set the Motor Ranges correctly. They are at default.
Find info here in the usual places:
Tuning
Motor Ranges