Lidars with high distance detection dynamic range and accuracy have been eagerly needed in both fields of militaryand industry. In order to reach high distance detection dynamic range and accuracy, distance ranging ambiguity andtradition signal processing method must be solved and improved separately. However, these two problems usuallycontradict with each other, making it difficult to solve them at the same time. In conventional Lidar systems, Timeof fight (ToF) method is used to extract distance information from time delay between transmitted and receivedsignal. The distance information can simply be extracted from the received signal unless it overlaps with transmittedsignal. For traditional pulse Lidar, in order to obtain high distance detection precision, ultrashort pulses should beused which is challenging to generate. Other methods such as correlation are used to further improve distanceprecision by calculating the delay between the peak of auto-correlation of transmitted signal and cross-correlation oftransmitted and received signal. However, even for this method, the distance precision is still limited by samplingrate of Lidar which is hard to improve [1-3]. Distance ambiguity is another limitation in conventional ToF Lidar. Ithappens when the object distance is so long that the correspondence between transmitted signal and received signalcannot be simply discerned by receiver [4]. Methods have been proposed to solve distance ambiguity by usingdouble transmitters with different signal periods but it will thus improve costs of the whole system [5]. In this paper, we put forward an improved ToF Lidar based on pseudo-random noise (PRN) code and phase detection method thatcan not only solve distance ambiguity problem, but also further improve range precision which can achieve up tosub-millimeter accuracy in ideal case and millimeter accuracy under extremely low signal-to-noise ratio.