Altitude descend slowly if the multicopter takeoff from ground

In my plane, I found the altitude velocity is not good. I found the velocity is negative, but the altitude is still growing in positive direction. I think the velocity is wrong.

My solution:
I noticed that we control the altitude using a Cascade PID. Using position and velocity to control it.
Is it possible to just use a simple PID. Someone had tried that? I am trying that but I found the tuning is not very easy.
Beside I don’t think we should use acceleration in altitude velocity.because when it reach the point, it can not bring the velocity down very fast. In the end it will asend a little then descend.
`// limit vertical acceleration
float acc_v = (_vel_sp(2) - _vel_sp_prev(2)) / dt;

if (fabsf(acc_v) > 2 * _params.acc_hor_max) {
acc_v /= fabsf(acc_v);
_vel_sp(2) = acc_v * 2 * _params.acc_hor_max * dt + _vel_sp_prev(2);

Or any other way?


This is my log file image. I takeoff from the ground.