A light detection and ranging (LiDAR) scanning system , comprising: a light source , wherein the light source is configured to transmit a pulse of light to illuminate a surface of an object ; a modulator operable to encode the pulse of light with a sequence code in response to a signal from a sequence generator ; a light detector configured to detect a pulse of scattered light from the surface of the object originating from the light pulse; a correlator electrically coupled to the light detector , wherein the correlator is configured to correlate the pulse of scattered light with the sequence code and output a peak value associated with a time that the pulse of scattered light is received, a microprocessor electrically coupled to the light source and the correlator , wherein the microprocessor is configured to: determine whether an amplitude of the peak value exceeds a threshold value ; in accordance with a determination that the amplitude of the peak exceeds the threshold value : determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value . a light source , wherein the light source is configured to transmit a pulse of light to illuminate a surface of an object ; a modulator operable to encode the pulse of light with a sequence code in response to a signal from a sequence generator ; a light detector configured to detect a pulse of scattered light from the surface of the object originating from the light pulse; a correlator electrically coupled to the light detector , wherein the correlator is configured to correlate the pulse of scattered light with the sequence code and output a peak value associated with a time that the pulse of scattered light is received, a microprocessor electrically coupled to the light source and the correlator , wherein the microprocessor is configured to: determine whether an amplitude of the peak value exceeds a threshold value ; in accordance with a determination that the amplitude of the peak exceeds the threshold value : determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value . determine whether an amplitude of the peak value exceeds a threshold value ; in accordance with a determination that the amplitude of the peak exceeds the threshold value : determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value . determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value . <EOS>