Inaccuracy Quadcopter Speed

I need to fix the Quadcopter speed in special value, but it’s amount is variating all the time.
I was testing that in guided mode with dronekit and in auto mode with Mission and in both of them the speed wasn’t appropriate.
First I thought that it’s related to my hardware so I changed the Motors and set the PID parameters by autotune and then test it again but still the problem was exist.
in first test I was using Tmotor 3506,my Firmware was arducopter V3.6.12 and my frame was AirGear S500 and in second test I just changed the motors with 3508 Tmotor.
in first test speed was start from almost desire value and was falling in the following that has been demonstrated in the log.

and in second test we have the constant speed below our desire speed.

also i was changed the firmware to 4.0.0 but it didn’t make any difference.
i want to know how can i have steady state in special speed???

Hi everyboby,
I have the same problem with the speed of arducopter. I have set vehicle speed using GroundSpeed and AirSpeed, while vehicle is performing simple_goto function. But vehicle speed goes down over time. (the desire speed was 4 m/s but the speed goes from 4 to 2.5 m/s)
Is there anybody anwering this issue please? I’m getting confused !!!