phase tracking loop for dbpsk
Ok, to get this straight: you're doing DBPSK, but you're still seeing a constant phase error that has a non-zero mean?

That means you've got a frequency error. 

Your assumption 


  We suppose the Doppler shift is perfectly compensated


hence must be wrong.

So, correct frequency instead of the phase. You're already using DBPSK because you don't want to correct the absolute phase (I hope this was known to you. If you didn't know why you did differential modulation: please go and read up on differential phase shift keying, and why you don't use a phase-correcting loop with D(B)PSK).