Altitude vs Desired Altitude

I am working on alt hold with Sonar. I can see baro alt value oscillates upto a meter, is this normal?. What i observed from log is, while desired climb rate is zero and barometer value goes up, climb rate also goes up and it brings down the throttle a bit and this makes drone to descend slightly.
My question is why desired altitude follow altitude (looks same as baro alt) instead leading it, like desired sonar altitude lead sonar altitude. Is acclerometer Z value corrected with baro periodically or both can update each other?


Update to ArduCopter 4.4.1-beta2 or newer and activate barometer wind compensation after parameterizing wind estimation