This application relates to the field of computer technologies, and in particular, to a time of flight (TOF)-based distance measurement system and method with a time code.
The TOF method calculates a distance to an object by measuring a TOF of a beam in space. Due to advantages such as high precision and large measurement distance, the method is widely used in fields such as consumer electronics, autonomous vehicles, and AR/VR.
A distance measurement system based on the TOF principle, such as a TOF depth camera or a lidar, usually includes a light source serving as an emitting end and a receiving end. The light source emits a beam to a target space for illumination, the receiving end receives the beam reflected by a target, and the system calculates a distance to an object by calculating a time required for the beam to be emitted and to be received after being reflected. When a direct TOF method is used to perform measurement, the emitting end emits a pulsed beam to a target. The pulsed beam is emitted at a certain frequency, and a time interval (pulse period) between adjacent pulses is required to be not less than a maximum TOF corresponding to a maximum measurement distance of the system, to avoid a sign recognition failure. Therefore, a frame rate of the system is usually limited by the maximum measurement distance. When the measurement distance of the system reaches one hundred meters or more, the frame rate is extremely low, making it difficult to meet some practical application's requirement for a high frame rate.
In addition, when a plurality of systems work synchronously in the same space, interference easily occurs, that is, a receiving end of a system not only receives a light signal emitted by an emitting end of the system, but also receives a light signal emitted by an emitting end of another system. As a result, an error is caused.
The foregoing content disclosed in BACKGROUND is only used to assist in understanding the concepts and technical solutions of this application. In the absence of clear evidence that the foregoing content has been disclosed on the filing date of this application, BACKGROUND should not be used to evaluate novelty and inventiveness of this application.
To resolve at least one of a problem that the frame rate of the system is limited by a maximum measurement distance and a problem of interference between a plurality of machines, this application provides a TOF-based distance measurement system and method with a time code.
A TOF-based distance measurement system includes:
an emitter, configured to emit an optical signal pulse train with a time code;
a collector, configured to collect photons in the optical signal pulse train reflected by an object; and
a processing circuit, connected to the emitter and the collector, and configured to count the photons to form a frame-period single-photon counting timing train, and draw a histogram based on the time code and the frame-period single-photon counting timing train.
Further, the processing circuit is configured to determine a time corresponding to a pulse waveform in the histogram; and determine a TOF according to the time corresponding to the pulse waveform.
Further, a time interval between adjacent pulse trains is less than a maximum TOF corresponding to a maximum measurement distance.
Further, the collector includes a single-photon avalanche photodiode (SPAD).
Further, the time code is a regular time code [Δt, 2Δt, 3Δt, . . . , (n−1)Δt], where Δt is a pulse period, and n is a quantity of pulses included in the optical signal pulse train; and the histogram is drawn in the following manner: using a time unit in the histogram as a start unit, accumulating photon counts in all time units subsequently spaced from the start unit by an integral quantity of Δt in the timing train and a photon count in the start unit, and using an accumulated photon count as a photon count value of the start unit.
Further, the histogram is drawn starting from a middle time unit of the frame-period single-photon counting timing train, and the processing circuit is configured to search for a pulse waveform, and in response to that a pulse waveform is found, to draw the histogram in a direction to an earlier time unit until no pulse waveform is found in an earlier time period spaced from the current pulse waveform by Δt.
Further, the time code is a random time code [Δt1, Δt1+Δt2, Δt1+Δt2+Δt3, . . . , Δt1+Δt2 . . . +Δt(n−1)], and Δti represents a time interval between an ith pulse and an (i+1)th pulse, where i=1,2, . . . (n−1), and n is a quantity of pulses in the optical signal pulse train; and the histogram is drawn in the following manner: using a time unit in the histogram as a start unit, accumulating photon counts in all time units subsequently spaced from the start unit by Δt1, Δt1+Δt2, Δt1+Δt2+Δt3, . . . , and Δt1+Δt2 . . . +Δt(n−1) in the timing train and a photon count in the start unit, and using an accumulated photon count as a photon count value of the start unit.
Further, the histogram is drawn starting from a middle time unit of the frame-period single-photon counting timing train, and the processing circuit is configured to search for a pulse waveform, and in response to that a pulse waveform is found, to determine a TOF according to a time corresponding to the found pulse waveform.
Further, a time length of the histogram is [(n−1)·Δt+t1], or the time length of the histogram is t1, where t1 is a maximum TOF corresponding to the maximum measurement distance.
Further, a length of a minimum time unit of the histogram is integer times of that in each time unit in the frame-period single-photon counting timing train.
Further, when the histogram is drawn, for the frame-period single-photon counting timing train, a time-code-based accumulation is performed at an interval of one or more time units.
Further, a threshold is set to search for a pulse waveform in the histogram, where a value of the pulse waveform higher than the threshold is retained, and a value of the pulse waveform less than the threshold is discarded as a noise.
Further, a total time length of the drawn histogram is adaptively changed based on a search algorithm execution process.
A TOF-based distance measurement method with includes the following steps:
emitting an optical signal pulse train with a time code;
collecting photons in the optical signal pulse train reflected by an object;
counting the photons to form a frame-period single-photon counting timing train; and
drawing a histogram based on the time code and the frame-period single-photon counting timing train.
Further, the method further includes:
determining a time corresponding to a pulse waveform in the histogram; and
determining a TOF according to the time corresponding to the pulse waveform.
Further, a time interval between adjacent pulse trains is less than a maximum TOF corresponding to a set maximum measurement distance.
Further, the photons are collected by a SPAD.
Further, the time code is a regular time code [Δt, 2Δt, 3Δt, . . . , (n−1)Δt], where Δt is a pulse period, and n is a quantity of pulses included in the optical signal pulse train; and drawing the histogram comprises: using a time unit in the histogram as a start unit, accumulating photon counts in all time units subsequently spaced from the start unit by an integral quantity of Δt in the timing train and a photon count in the start unit, and using an accumulated photon count as a photon count value of the start unit.
Further, drawing the histogram comprises drawing the histogram starting from a middle time unit of the frame-period single-photon counting timing train, searching for a pulse waveform, and in response to that a pulse waveform is found, drawing the histogram continues in a direction to an earlier time unit until no pulse waveform is found in an earlier time period spaced from the current pulse waveform by Δt.
Further, the time code is a random time code [Δt1, Δt1+Δt2, Δt1+Δt2+Δt3, . . . , Δt1+Δt2 . . . +Δt(n−1)], and Δti represents a time interval between an ith pulse and an (i+1)th pulse, where i=1,2, . . . (n−1), and n is a quantity of pulses in the optical signal pulse train; and the histogram is drawn in the following manner: using a time unit in the histogram as a start unit, accumulating photon counts in all time units subsequently spaced from the start unit by Δt1, Δt1+Δt2, Δt1+Δt2+Δt3, . . . , and Δt1+Δt2 . . . +Δt(n−1) in the timing train and a photon count in the start unit, and using an accumulated photon count as a photon count value of the start unit.
Further, drawing histogram comprises starting from a middle time unit of the frame-period single-photon counting timing train, searching for a pulse waveform, and in response to that a pulse waveform is found, determining a according to a time corresponding to the found pulse waveform.
Further, a time length of the histogram is [(n−1)·Δt+t1], or the time length of the histogram is t1, where t1 is a maximum TOF corresponding to a maximum measurement distance.
Further, a length of a minimum time unit of the histogram is integer times of that in each time unit in the frame-period single-photon counting timing train.
Further, drawing the histogram, for the frame-period single-photon counting timing train, comprises performing a time-code-based accumulation at an interval of one or more time units.
Further, a threshold is set to search for a pulse waveform in the histogram, where a value of the pulse waveform higher than the threshold is retained, and a value of the pulse waveform less than the threshold is discarded as a noise.
Further, a total time length of the drawn histogram is adaptively changed based on a search algorithm execution process.
This application has the following beneficial effects:
This application provides a TOF-based distance measurement system and method with a time code. In this application, an emitter is allowed to emit a pulse train based on a pulse period far shorter than a maximum TOF corresponding to a maximum measurement distance, so that a frame rate may be improved significantly. Further, an embodiment of this application further provides a TOF-based distance measurement method with a time code that can prevent interference.
To make the technical problems to be resolved by embodiments of this application, and the technical solutions and beneficial effects of the embodiments of this application clearer and more comprehensible, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely used to explain this application but are not intended to limit this application.
It should be noted that, when an element is described as being “fixed on” or “disposed on” another element, the element may be directly located on the another element, or indirectly located on the another element. When an element is described as being “connected to” another element, the element may be directly connected to the another element, or indirectly connected to the another element. In addition, the connection may be used for fixation or circuit connection.
It should be understood that orientation or position relationships indicated by the terms such as “length,” “width,” “above,” “below,” “front,” “back,” “left,” “right,” “vertical,” “horizontal” “top,” “bottom,” “inside,” and “outside” are based on orientation or position relationships shown in the accompanying drawings, and are used only for ease and brevity of illustration and description of the embodiments of this application, rather than indicating or implying that the mentioned apparatus or element needs to have a particular orientation or needs to be constructed and operated in a particular orientation. Therefore, such terms should not be construed as limiting this application.
In addition, terms “first” and “second” are only used for describing the objective and cannot be understood as indicating or implying relative importance or implying a quantity of the indicated technical features. In view of this, a feature defined by “first” or “second” may explicitly or implicitly include one or more features. In the descriptions of the embodiments of this application, unless otherwise specified, “a plurality of” means two or more.
TOF-Based Distance Measurement System
This application provides a TOF-based distance measurement system, which has a stronger ambient light immunity capability and a higher resolution.
D=c·t/2 (1)
where c is a speed of light.
The emitter 11 includes a light source 111 and an optical element 112. The light source 111 may be a light source such as a light emitting diode (LED), an edge emitting laser (EEL), a vertical cavity surface emitting laser (VCSEL), or may be an array light source including a plurality of light sources. In some embodiments, the array light source 111 may be a VCSEL array light source chip formed by forming a plurality of VCSEL light sources on a single semiconductor substrate. A beam emitted by the light source 111 may be visible light, infrared light, ultraviolet light, or the like. The light source 111 emits a beam under the control of the processing circuit 13. For example, in an embodiment, the light source 111 emits a pulsed beam at a certain frequency (pulse period) under the control of the processing circuit 13, which can be used in a direct TOF measurement method with a certain frequency set according to a to-be-measured distance, for example, it can be set to 1 MHz to 100 MHz. The to-be-measured distance ranges from several meters to several hundred meters. The light source 111 may be controlled to emit related beams by a portion of the processing circuit 13 or a sub-circuit independent of the processing circuit 13, such as a pulse signal generator.
The optical element 112 receives the pulsed beam from the light source 111, performs optical modulation such as diffraction, refraction, or reflection on the pulsed beam, and emits a modulated beam such as a focused beam, a flood beam, or a structured light beam into the space. The optical element 112 may be a lens, a diffractive optical element, a mask, a reflector, or may be in a form such as a MEMS scanning mirror.
The processing circuit 13 may be an independent dedicated circuit, such as a dedicated SOC chip, FPGA chip, or ASIC chip, or may include a general-purpose processor. For example, when a depth camera is integrated into a smart terminal such as a mobile phone, a television, or a computer, a processor in the terminal may be used as at least a portion of the processing circuit 13.
The collector 12 includes a pixel unit 121 and an imaging lens unit 122. The imaging lens unit 122 receives at least a portion of the modulated beam reflected by the object and guides the portion to the pixel unit 121. In an embodiment, the pixel unit 121 includes a SPAD, or may be an array pixel unit including a plurality of SPAD pixels. An array size of the array pixel unit represents a resolution of the depth camera, such as 320×240. The SPAD can respond to a single input photon to detect the single photon, which can achieve long-distance and high-precision measurement due to high sensitivity and fast response speed. Compared with an image sensor including a CCD/CMOS and based on the principle of light integration, the SPAD can collect a weak light signal and calculate a TOF by counting single photons, for example, using a time-correlated single-photon counting (TCSPC) method. Generally, a read circuit (not shown in the figure) is further connected to the pixel unit 121, and includes one or more of devices such as a signal amplifier, a time-to-digital converter (TDC), and an analog-to-digital converter (ADC). The circuit may be integrated with the pixel unit, or may be a portion of the processing circuit 13. For ease of description, the circuit is considered as a portion of the processing circuit 13 in the embodiments of this application.
In some embodiments, the distance measurement system 10 may further include devices such as a color camera, an infrared camera, and an IMU. Combination with such devices can achieve more functions, such as 3D texture modeling, infrared face recognition, and SLAM.
In some embodiments, the emitter 11 and the collector 12 may be disposed in a coaxial form, that is, the two are implemented by an optical device with reflection and transmission functions, such as a half mirror.
In the direct-TOF-based distance measurement system using a SPAD, a single photon input to the SPAD pixel may cause an avalanche. The SPAD outputs an avalanche signal to a TDC circuit, and the TDC circuit detects a time interval between the photon is emitted from the emitter 11 and the avalanche is caused. After a plurality of detections, a histogram statistics collection is performed on time intervals by using a TCSPC circuit to restore a waveform of an entire pulse signal, so as to precisely detect a TOF. Finally, distance information of the object is calculated according to the TOF. Assuming that a pulse period of emitting the pulsed beam is Δt and a maximum measurement distance of the distance measurement system is D max, a corresponding maximum TOF is
Generally, Δt≥t1 is required to avoid signal confusion, where c is a speed of light. If a quantity of detections required by TCSPC is n, a time (frame period) for a single distance measurement is not less than n*t1. For example, the maximum measurement distance is 150 m, and a corresponding pulse period Δt=1 us, and n=100000. Then, the frame period is not less than 100 ms, and a frame rate is less than 10 fps. As such, the maximum measurement distance in the TCSPC method may limit the pulse period, thereby affecting the frame rate of distance measurement.
To resolve this problem, according to the following embodiments, the TOF-based distance measurement system and method with a time code provided in this application may be implemented by using several different time-code-based pulse modulation and demodulation solutions. Descriptions are as follows.
Regular Time-Code-Based Pulse Modulation and Demodulation Method
corresponding to a maximum measurement distance D max, where the pulse train includes n pulses, as shown in
It should be understood that the waveform of each pulse in the emitted pulse train is usually not as regular as the rectangular wave shown in the figure, wherein the waveform and the received pulse train are examples. In practice, the pulse train received by the collector 12 is a sequence that may reflect a quantity of photons of the received pulse train, which is described below in detail.
The conventional TCSPC method is not applicable to calculate a distance at such a high frame rate. Therefore, this application provides a brand-new time-code-based consecutive single-photon counting demodulation method.
In an embodiment, the frame-period single-photon counting timing train may be collected by using another type of circuit. For example, a sampling circuit may respond to an avalanche signal of the SPAD to directly obtain the timing train. Therefore, the frame-period single-photon counting timing train may also be referred to as a frame-period single-photon sampling timing train.
In an embodiment, the collected frame-period single-photon counting timing train is stored in the internal memory. Subsequently, a histogram circuit in the processing circuit 13 draws a histogram based on the timing train, which is different from the histogram drawing principle in the conventional TCSPC. The histogram in this embodiment is drawn through time-code-based consecutive single-photon counting accumulation. In an embodiment, a minimum time unit (a minimum storage unit bin) of the histogram is the same as that of the timing train. For the to-be-drawn time units, accumulation, for example, sequential accumulation, is performed according to a time code emitted with the pulse train. The pulse train is emitted based on a pulse period Δt and includes n pulses in total, and a corresponding time code is a regular time code, that is, [Δt, 2Δt, 3Δt, . . . (n−1)Δt]. Accumulation based on the time code refers to, using a current to-be-drawn time unit as a start unit, sequentially accumulating photon counts in all time units subsequently spaced from the start unit by Δt, 2Δt, 3Δt, . . . (n−1)Δt in the timing train and a photon count in the start unit, and using an accumulated photon count as a value of each time unit in the histogram. For example, an accumulation manner of the first time unit in the histogram is shown by the arrow in
Due to different distances and reflectivity of the target, there may be only a few photons in each pulse entering the collector 12, and an avalanche is generated at a certain probability, thereby causing a single-photon counting event. In terms of statistical probability, a probability that the collector 12 collects the photon counting event is the highest only at a moment at which all the pulses in the pulse train emitted by the emitter 11 are reflected by the target to the collector 12 in the entire frame period. In other words, a probability that photons are collected is the highest at a moment at which the pulse train is received as shown in
Generally, a time resolution of the TDC is less than a pulse width. In other words, a width of each time unit of the timing train is less than the pulse width. After the time-code-based consecutive single-photon counting accumulation is performed, it may be seen from the obtained histogram that a plurality of time units have relatively large values, and a waveform graph indicating a pulse shape is formed. In this case, a time corresponding to the highest point of the waveform graph is used as a to-be-measured TOF.
When the frame period T>(n−1)·Δt+t1, a collection time of photons does not need to cover the entire frame period, and the photons only need to be collected within a time of [(n−1)·Δt+t1], that is, a length of the frame-period single-photon counting timing train is [(n−1)·Δt+t1]. Data processing such as histogram calculation, TOF calculation, and distance calculation may be performed within the remaining time of the frame period.
In an embodiment, when a time-code-based consecutive single-photon counting accumulation histogram is drawn, a length of a minimum time unit of the histogram may be integer times such as twice of that in each time unit in the frame-period single-photon counting timing train. Therefore, the amount of calculation and memory required when the histogram is drawn may be reduced.
In an embodiment, when a time-code-based consecutive single-photon counting accumulation histogram is drawn, an interval between adjacent time units, that is, a step length, may be greater than 1. For example, a time-code-based accumulation is performed at an interval of one time unit. Therefore, the amount of calculation and memory required when the histogram is drawn may also be reduced.
In an embodiment, a total time length of the histogram is [(n−1)·Δt+t1]. When accumulation is performed on time units after a time of t1, no photon count of the time units in the timing train is accumulated. A quantity of time units involved in the accumulation is gradually reduced. In practice, in an embodiment, it is unnecessary to draw a histogram having the same length as that of the frame period, and only a histogram in a time period from 0 to t1 needs to be drawn. Because the first wave peak will certainly occur if the target is located within the maximum measurement distance, the TOF t may be determined based on the first wave peak.
In an embodiment, a threshold may be set to search for a pulse waveform in the histogram. A value higher than the threshold is retained, and a value less than the threshold is considered as noise.
In an embodiment, a drawing order of the histogram may be changed, that is, the time units may not be drawn one by one starting from 0. For example, the drawing may be performed starting from a middle time by using a dichotomy. Once the first pulse waveform is found, the drawing continues to be performed in a direction to an earlier time unit until no waveform is found in an earlier time period spaced from the current pulse waveform by Δt. In this case, it is considered that a time corresponding to the current pulse waveform is the TOF of the target. In conclusion, any appropriate search algorithm that can position the first pulse waveform is applicable to this solution. In this embodiment, the total time length of the histogram is adaptively changed based on an execution process of the search algorithm. Once the first pulse waveform is drawn and detected, the calculation will stop. Subsequently, a wave peak position may be determined by using the first pulse waveform, so as to obtain the TOF t. Generally, the total time length of the adaptive changed histogram does not exceed the maximum TOF t1, so that the calculation amount and memory consumption may be significantly reduced.
Compared with the conventional TCSPC, the brand-new time-code-based consecutive single-photon counting demodulation method shown in
In some embodiments, a process of drawing a frame-period single-photon counting timing train and a process of drawing a histogram based on the frame-period single-photon counting timing train may be combined into one step, that is, the histogram may be directly drawn based on a photon count. The two steps may also be expanded to more than three steps. The implementation principles are the same, but the implementation forms are different, and corresponding required hardware circuits are also different. For example, an implementation form of combining two steps into one step is described in detail in the following specific processing circuit design, which may reduce a required storage capacity. Therefore, any implementation form using this principle falls within the protection scope of this application.
Random Time-Code-Based Pulse Modulation and Demodulation Method
In an embodiment, the collected frame-period single-photon counting timing train is stored in the internal memory. Subsequently, a histogram circuit in the processing circuit 13 draws a histogram based on the timing train Similar to the embodiment shown in
In an embodiment, when a time-code-based consecutive single-photon counting accumulation histogram is drawn, a length of a minimum time unit of the histogram may be integer times, such as twice of that in the frame-period single-photon counting timing train. Therefore, the amount of calculation and memory required when the histogram is drawn may be reduced.
In an embodiment, when a time-code-based consecutive single-photon counting accumulation histogram is drawn, an interval between adjacent time units, that is, a step length, may be greater than 1. For example, a time-code-based accumulation is performed at an interval of one time unit. Therefore, the amount of calculation and memory required when the histogram is drawn may also be reduced.
In an embodiment, a total time length of the histogram is [(n−1)·Δt+t1]. When accumulation is performed on time units after a time of t1, no photon count of the time units in the timing train is accumulated. A quantity of time units involved in the accumulation is gradually reduced. In practice, in an exemplary solution, it is unnecessary to draw a histogram having the same length as that of the frame period, and only a histogram in a time period from 0 to t1 needs to be drawn. Because the first wave peak will certainly appear if the target is located within the maximum measurement distance, the TOF t may be determined based on the first wave peak.
In an embodiment, a threshold may be set to search for a pulse waveform in the histogram. A value higher than the threshold is retained, and a value less than the threshold is considered as noise.
In an embodiment, a drawing order of the histogram may be changed, that is, the time units may not be drawn one by one starting from 0. For example, the drawing may be performed starting from a middle time by using a dichotomy, so that a pulse waveform may be quickly found. In conclusion, any appropriate search algorithm that can position the pulse waveform is applicable to this solution. In this embodiment, the total time length of the histogram is adaptively changed based on an execution process of the search algorithm. Once a pulse waveform is detected, the calculation will stop. Subsequently, a wave peak position may be determined by using the pulse waveform, to obtain the TOF t. Because this embodiment uses a random time code, in the accumulation histogram, a relatively large value is formed only on one or more time units of the histogram corresponding to a time t of reflection of the first pulse in the pulse train, and a case of a plurality of pulse waveforms in
Similarly, in some embodiments, a process of drawing a frame-period single-photon counting timing train and a process of drawing a histogram based on the timing train may also be combined into one step, that is, the histogram may be directly drawn based on a photon count. The two steps may also be expanded to more than three steps. The implementation principles are the same, but the implementation forms are different, and corresponding required hardware circuits are also different. For example, an implementation form of combining two steps into one step is described in detail in the following specific processing circuit design, which may reduce a required storage capacity. Therefore, any implementation form using this principle falls within the protection scope of this application.
Dual-Random-Time-Code-Based Pulse Modulation and Demodulation Method
In an embodiment, the N collected pulse group period single-photon counting timing trains are stored in the internal memory. Subsequently, a histogram circuit in the processing circuit 13 draws a histogram based on the timing trains. In practice, the histogram is drawn by fusing the conventional TCSPC and the time-code-based accumulation in the embodiment shown in
In some embodiments, the time-code-based accumulation may be first performed and then the TCSPS is performed. That is, the pulse group period single-photon counting timing trains are accumulated in a form of the first time code, as shown by the horizontal plus signs in
Similarly, a length of a minimum time unit of the histogram may be integer times of that in the timing train. In addition, an interval between two adjacent time units in the histogram may be greater than 1, for example, a time-code-based accumulation is performed at an interval of one time unit. Therefore, the amount of calculation and memory required when the histogram is drawn may also be reduced.
Similarly, a time length of the histogram may be adaptively adjusted, and does not need to be the same as a period length of a pulse group. Generally, only a histogram in a time period from 0 to t1 needs to be drawn. Because the first wave peak will certainly occur if the target is located within the maximum measurement distance, the TOF t may be determined based on the first wave peak.
In an embodiment, a threshold may be set to search for a pulse waveform in the histogram. A value higher than the threshold is retained, and a value less than the threshold is considered as noise.
In an embodiment, a drawing order of the histogram may be changed, that is, the time units may not be drawn one by one starting from 0. For example, the drawing may be performed starting from a middle time by using a dichotomy, so that a pulse waveform may be quickly found. In conclusion, any appropriate search algorithm that can position the pulse waveform is applicable to this solution. In this embodiment, the total time length of the histogram is adaptively changed based on an execution process of the search algorithm. Once a pulse waveform is detected, the calculation will stop. Subsequently, a wave peak position may be determined by using the pulse waveform, so as to obtain the TOF t. Because this embodiment uses a random time code, in the accumulation histogram, a relatively large value is formed only on one or more time units of the histogram corresponding to a time t of reflection of the first pulse in the pulse train, and a case of a plurality of pulse waveforms in
Compared with the random modulation and demodulation methods shown in
Time Code Demodulation Processing Circuit and Processing Method
To implement the time-code-based demodulation in the foregoing embodiment, this application further provides a time-code-based demodulation processing circuit and processing method.
The time-code-based demodulation processing circuit 82 in this embodiment includes a sampling circuit 821, a timing train memory 822, a read address register 823, a time code sequence memory 824, an add register 825, a histogram time unit counter (bin counter) 826, and a histogram memory 827.
After collecting a photon signal of a reflected beam, the pixel unit 81 outputs a pulse signal representing a photon detection event. The sampling circuit 821 samples pulse signals within a period of time under the control of a clock signal (for example, 1 GHz) generated by a clock generator, to form a frame-period single-photon counting timing train. The sampling circuit 821 may be another circuit, for example, the foregoing circuit including a TDC, provided that the circuit can generate a single-photon counting timing train according to photon counting events. A sampling time interval of the sampling circuit 821 is generally not less than a pulse width, to avoid that photons cannot be sampled within a time corresponding to one pulse width. In an embodiment, when the pixel unit 81 detects a photon, the sampling circuit 821 outputs a digital signal 1. When no photon is detected, the sampling circuit 821 outputs a digital signal 0. Therefore, within a period of time, the sampling circuit 821 outputs a sequence of 0 and 1, and a sequence formed in one frame period is the frame-period single-photon counting timing train.
Frame-period single-photon counting timing trains obtained by the sampling circuit 821 through sampling are sequentially stored in the timing train memory 822 according to a memory unit address. Generally, a memory size of the timing train memory 822 varies with different sampling time lengths. For example, when a sampling time length is 1000 ms and a sampling interval 1 ns, a corresponding required memory size is 1000 bits.
The time code sequence memory 824 is configured to store a time code sequence written in advance, such as a regular time code sequence shown in
The read address register 823 is configured to store an address of a memory unit in the timing train memory 822 that needs to be read. Under the control of a clock signal, the timing train memory 822 reads corresponding data in the address according to the address in the read address register 823 and transmits the data to the add register 825. Subsequently, the read address register 823 automatically jumps to a next address that needs to be read. For example, if a current address is x, a next address x+Δti that needs to be read is automatically jumped to based on a time code sequence stored in the time code sequence memory 824, wherein Δti is a time interval sequence value stored in the time code sequence memory 824.
The add register 825 is configured to perform an addition operation, to add data currently stored in the add register 825 and data in a corresponding storage unit that is transmitted by the timing train memory 822. After all sequences in the time code sequence memory 824 are read, the add register 825 completes calculation of one histogram time unit bin, and then writes the value into the histogram memory 827 to draw a histogram.
The bin counter 826 is configured to store a number of currently drawn bin. After all sequences in the time code sequence memory 824 are read, that is, the current bin is drawn, a pulse is sent to the bin counter 826 and the add register 825, and a number of the bin counter 826 is automatically increased by 1, to begin to draw next bin. A value of the bin is written into the histogram memory 827, and the add register 825 is zeroed out.
After each bin of the histogram is drawn, the processing circuit 82 may further calculate a TOF according to the histogram.
In the embodiment shown in
In an embodiment, based on the processing circuit shown in
pre-storing a time code sequence into the time code sequence memory 824;
sampling, by the sampling circuit 821, photon events of a reflected beam detected by the pixel unit 81, to form a frame-period single-photon counting timing train and store the timing train into the timing train memory 822;
storing, into the read address register 823, an address of a memory unit in the timing train memory 822 that needs to be read currently, where a next address that needs to be read is automatically jumped to from the address according to the time code sequence;
reading corresponding data in the address from the timing train memory 822 according to the address in the read address register 823, and transmitting the data to the add register 825;
performing, by the add register 825, an addition operation between data currently stored in the add register 825 and the date read by the timing train memory 822, and transmitting an operation result of the addition operation to corresponding bin of the histogram memory 827 to draw a histogram; and
storing a number of currently drawn bin into the bin counter 826, and after the current bin is drawn, automatically increasing the number by 1.
In the embodiment shown in
When accumulation is performed on each time unit bin in a histogram, under the premise of a time code determined, a time unit (that is, a time point of a corresponding photon event) in a timing train required when an accumulation operation is performed on each bin is known according to the time code. Based on this, a correspondence between an address of each bin and an address of a time unit in a timing train that needs to accumulated with the bin may be pre-stored. For a photon count output by a sampling circuit 921 in real time, bin corresponding to the current photon count may be learn based on the correspondence. Subsequently, the photon count is gated to enter the corresponding bin for accumulation.
The time-code-based demodulation processing circuit 92 in this embodiment includes the sampling circuit 921, a time code sequence controller 922, a time code sequence control memory 923, and a histogram memory 924.
After collecting a photon signal of the reflected beam, the pixel unit 91 outputs a pulse signal representing a photon detection event. The sampling circuit 921 samples the pulse signal under the control of a clock signal (for example, 1 GHz) generated by a clock generator, to output a sampling signal (that is, a photon count 0 or 1) to the time code sequence controller 922. The time code sequence controller 922 controls, according to the correspondence stored in the time code sequence control memory 923, the sampling signal to enter corresponding bin in the histogram memory 924 for accumulation. For example, the sampling signal may be gated in a manner such as a triple state gate or a transmission gate. The time code sequence control memory 923 stores a correspondence between a sampling signal and bin needing to be turned on. For example, the time code sequence control memory 923 includes a storage space of nxj, where n is a quantity of times bin, and j is the same as a quantity of bits of a measurement sequence of the pixel unit. Triggered by each clock, corresponding n-bit data is transmitted to the time code sequence controller 922 to control the gating of a corresponding sampling signal.
In an embodiment, based on the time-code-based demodulation processing circuit shown in
writing a correspondence between a sampling signal and bin in the histogram memory 924 that needs to be turned on into the time code sequence control memory 923 in advance;
sampling, by the sampling circuit, a photon event of a reflected beam detected by the pixel unit 921, to form the sampling signal; and
controlling, by the time code sequence controller 922 according to the correspondence stored in the time code sequence control memory 923, the sampling signal to enter corresponding bin in the histogram memory 924 for accumulation, to draw a histogram.
The processing circuits shown in
In the foregoing description, for ease of describing relationships between parts, modules are separately described. In an embodiment, a plurality of modules may be alternatively combined. For example, a timing train memory and a time code memory may be the same memory. Therefore, equivalent alternative solutions obtained through combination or separation should also fall within the protection scope of this application.
When the distance measurement system of this application is embedded in a device or hardware, a corresponding structure or component may be changed to adapt to requirements with the essence still using the distance measurement system of this application. Therefore, it falls within the protection scope of this application. The foregoing content further describes this application in detail with reference to specific or exemplary implementations, and the specific implementation of this application is limited to these descriptions. A person of ordinary skill in the art, to which this application belong, may make various replacements or variations on the described implementations without departing from the principle of this application, and the replacements or variations fall within the protection scope of this application. In the descriptions of this application, descriptions using reference terms such as “one embodiment,” “some embodiments,” “exemplary embodiment,” “example,” “specific example” or “some examples” means including specific features, structures, materials, or features described in the embodiment or example in at least one embodiment or example of this application. In this specification, the schematic expression of the above terms is not necessarily for the same embodiment or example. In addition, the described specific features, structures, materials, or features may be combined in an appropriate manner in any one or more embodiments or examples. In addition, without contradiction with each other, a person skilled in the art may combine different embodiments or examples and features of the different embodiments or examples described in this specification. Although embodiments of this application and advantages thereof have been described in detail, it should be understood that various changes, substitutions, and alterations can be made herein without departing from the scope defined by the appended claims. In addition, the scope of this application is not limited to processes, machines, manufacturing, material composition, means, methods, and steps in a specific embodiment in this specification. A person of ordinary skill in the art can easily understand and use the above disclosures, processes, machines, manufacturing, material composition, means, methods, and steps that currently exist or will be developed later and that perform substantially the same functions as the corresponding embodiments described herein or obtain substantially the same results as the embodiments described herein. Therefore, the appended claims intend to include such processes, machines, manufacturing, material compositions, means, methods, or steps within the scope thereof.
This application is a continuation application of International Patent Application No. PCT/CN2019/103735, filed on Aug. 30, 2019, entitled “TIME-OF-FLIGHT-BASED DISTANCE MEASUREMENT SYSTEM AND METHOD.” The contents of the above-identified application is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2019/103735 | Aug 2019 | US |
Child | 17184390 | US |