CN110632577B - Time code demodulation processing circuit and method - Google Patents

Time code demodulation processing circuit and method Download PDF

Info

Publication number
CN110632577B
CN110632577B CN201910813659.1A CN201910813659A CN110632577B CN 110632577 B CN110632577 B CN 110632577B CN 201910813659 A CN201910813659 A CN 201910813659A CN 110632577 B CN110632577 B CN 110632577B
Authority
CN
China
Prior art keywords
time
histogram
pulse
time code
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910813659.1A
Other languages
Chinese (zh)
Other versions
CN110632577A (en
Inventor
王瑞
何燃
朱亮
闫敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Oradar Technology Co Ltd
Original Assignee
Shenzhen Oradar Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Oradar Technology Co Ltd filed Critical Shenzhen Oradar Technology Co Ltd
Priority to CN201910813659.1A priority Critical patent/CN110632577B/en
Publication of CN110632577A publication Critical patent/CN110632577A/en
Application granted granted Critical
Publication of CN110632577B publication Critical patent/CN110632577B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/483Details of pulse systems
    • G01S7/486Receivers
    • G01S7/4861Circuits for detection, sampling, integration or read-out
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/483Details of pulse systems
    • G01S7/486Receivers
    • G01S7/4865Time delay measurement, e.g. time-of-flight measurement, time of arrival measurement or determining the exact position of a peak

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

A time code demodulation processing circuit and method, the circuit includes: the sampling circuit is used for sampling photon events of the reflected light beams detected by the pixel units to form a single photon counting time sequence string; a timing string memory storing the single photon counting timing string; a time code sequence memory for storing a time code sequence written in advance; reading an address register, storing the address of a memory unit in the time sequence series memory to be read, and automatically jumping the address to the next address to be read according to the time code sequence; an addition register for executing an addition operation between the data currently stored in the addition register and the data read out from the time series memory; a histogram memory; and the bin counter stores the number of the currently drawn bin, and automatically adds 1 to the number after the current bin is drawn. The invention allows the transmitter to transmit bursts with a pulse period well below the maximum measurement range corresponding to the maximum time of flight, thereby allowing a significant increase in frame rate.

Description

Time code demodulation processing circuit and method
Technical Field
The invention relates to the technical field of computers, in particular to a time coding demodulation processing circuit and a method for time coding time flight distance measurement.
Background
The Time of flight (TOF) method calculates the distance of an object by measuring the Time of flight of a light beam in space, and is widely used in the fields of consumer electronics, unmanned aerial vehicle, AR/VR, etc. due to its advantages of high accuracy and wide measurement range.
Distance measuring systems based on the time-of-flight principle, such as time-of-flight depth cameras, lidar and the like, often include a light source emitting a light beam into the target space to provide illumination, and a receiving end receiving the light beam reflected back by the target, and the system calculates the distance of the object by calculating the time required for the light beam to be emitted to be reflected back. When the direct time flight method is used for measurement, the transmitting end transmits pulse beams to the target, the pulse beams are transmitted at a certain frequency, and the time interval (pulse period) of adjacent pulses is required to be not less than the maximum flight time corresponding to the maximum measurement distance of the system so as to avoid the condition that signals cannot be identified. Therefore, the frame rate of the system is often limited by the maximum measurement distance, and when the measurement distance of the system reaches hundreds of meters or more, the frame rate is very low, so that the requirement of some practical applications on high frame rate is difficult to meet.
In addition, when a plurality of systems synchronously operate in the same space, interference is likely to occur, that is, the receiving end of one system receives the optical signals transmitted from the transmitting end of the other system in addition to the optical signals from the transmitting end of the other system, thereby causing errors.
The foregoing background is only for the purpose of providing an understanding of the inventive concepts and technical aspects of the present application and is not necessarily prior art to the present application and is not intended to be used as an aid in the evaluation of the novelty and creativity of the present application in the event that no clear evidence indicates that such is already disclosed at the date of filing of the present application.
Disclosure of Invention
In order to solve at least one of the problems that the frame rate of the system is limited by the maximum measurement distance and the multi-machine interference is solved, the application provides a time coding demodulation processing circuit and a demodulation processing method for time coding time flight distance measurement.
A time-coded demodulation processing circuit, coupled to a pixel cell, comprising:
Sampling circuitry configured to sample photon events of the reflected light beam detected by the pixel cells to form a single photon counting timing string;
A timing string memory configured to hold the single photon counting timing string;
A time-coded sequence memory configured to hold a pre-written time-coded sequence;
The read-out address register is configured to store the address of a memory unit in the time sequence series memory to be read out, and the address automatically jumps to the next address to be read out according to the time code sequence; the data on the corresponding address in the time sequence serial memory is read according to the address in the read address register;
An addition register configured to perform an addition operation between data that it currently holds and data that the timing string memory reads out;
a histogram memory configured to store a histogram drawn from an operation result of the addition register;
A histogram time unit (bin) counter configured to store the number of the currently plotted histogram time unit and to automatically increment the number by 1 when the current histogram time unit is plotted.
Further, the processing circuit is configured to determine a time corresponding to a pulse waveform in the histogram; and determining the flight time according to the time corresponding to the pulse waveform.
Further, the time code is a regular time code [ Δt,2Δt,3Δt, …, (n-1) Δt ], wherein Δt is a pulse period and n is the number of pulses contained in the pulse train;
wherein the histogram is drawn according to the following manner: and superposing photon count values in all time units which are separated from the starting unit by an integer delta t in the time sequence string and photon count values in the starting unit by taking the time unit in the histogram to be currently drawn as the starting unit, wherein the superposed photon count values are used as photon count values of the starting unit.
Further, the time code being a random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)],Δti representing a time interval of the i-th pulse and the (i+1) -th pulse, i=1, 2, … (n-1), where n is the number of pulses contained in the pulse train;
Wherein the histogram is drawn according to the following manner: and taking a time unit in the histogram to be currently drawn as a starting unit, and superposing photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string and photon count values in the starting unit, wherein the superposed photon count values are used as photon count values of the starting time unit.
Further, the time code is a double random time code, including a first random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)] and a second random time code [ΔT1,ΔT1+ΔT2,ΔT1+ΔT2+ΔT3,…,ΔT1+ΔT2…+ΔT(N-1)],, wherein Δt i represents a time interval between an i-th pulse and an (i+1) -th pulse in a pulse group, i=1, 2, … (n-1), n being a number of pulses in the pulse group; Δt j represents the time interval between the j-th pulse group and the (j+1) -th pulse group, j=1, 2, … (N-1), N representing the number of pulse groups;
Wherein the histogram is drawn according to the following manner: superposing photon counts in corresponding time units between the N pulse group period single photon counting time series; superposing the total time sequence strings after superposition according to the first random time code to form the histogram; or the histogram is drawn according to the following manner: superposing the N pulse group periodic single photon counting time sequence strings according to the first random time code; superposing photon counts in corresponding time units between the N superposed time series to form the histogram;
wherein said superimposing according to said first random time code comprises: taking a current time unit to be overlapped as a starting unit, overlapping photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string with photon count values in the starting unit, wherein the overlapped photon count is used as a photon count value of the starting time unit, and the first random time code is that [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)].
A time code demodulation processing method comprises the following steps:
Storing the time code sequence into a time code sequence memory in advance;
Sampling photon events of the reflected light beams detected by the pixel units by a sampling circuit to form a single photon counting time sequence string and storing the single photon counting time sequence string into a time sequence string memory;
storing the address of a memory unit in the time sequence string memory which is required to be read currently into a read address register, wherein the address automatically jumps to the next address required to be read according to the time coding sequence;
reading data on corresponding addresses from the time sequence string memory to an addition register according to the addresses in the read address register;
Performing an addition operation between the data currently stored by the addition register and the data read out by the time sequence string memory, and transmitting an operation result thereof to a corresponding histogram time unit of a histogram memory to draw a histogram;
and saving the number of the previously drawn histogram time unit into a histogram time unit counter, and automatically adding 1 to the number after the drawing of the current histogram time unit is finished.
Further, the method comprises the following steps:
determining the time corresponding to the pulse waveform in the histogram;
And determining the flight time according to the time corresponding to the pulse waveform.
Further, the time code is a regular time code [ Δt,2Δt,3Δt, …, (n-1) Δt ], wherein Δt is a pulse period and n is the number of pulses contained in the pulse train;
wherein the histogram is drawn according to the following manner: and superposing photon count values in all time units which are separated from the starting unit by an integer delta t in the time sequence string and photon count values in the starting unit by taking the time unit in the histogram to be currently drawn as the starting unit, wherein the superposed photon count values are used as photon count values of the starting unit.
Further, the time code being a random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)],Δti representing a time interval of the i-th pulse and the (i+1) -th pulse, i=1, 2, … (n-1), where n is the number of pulses contained in the pulse train;
Wherein the histogram is drawn according to the following manner: and taking a time unit in the histogram to be currently drawn as a starting unit, and superposing photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string and photon count values in the starting unit, wherein the superposed photon count values are used as photon count values of the starting time unit.
Further, the time code is a double random time code, including a first random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)] and a second random time code [ΔT1,ΔT1+ΔT2,ΔT1+ΔT2+ΔT3,…,ΔT1+ΔT2…+ΔT(N-1)]., wherein Δt i represents a time interval between an i-th pulse and an (i+1) -th pulse in a pulse group, i=1, 2, … (n-1), n being a number of pulses in the pulse group; Δt j represents the time interval between the j-th pulse group and the (j+1) -th pulse group, j=1, 2, … (N-1), N representing the number of pulse groups;
Wherein the histogram is drawn according to the following manner: superposing photon counts in corresponding time units between the N pulse group period single photon counting time series; superposing the total time sequence strings after superposition according to the first random time code to form the histogram; or the histogram is drawn according to the following manner: superposing the N pulse group periodic single photon counting time sequence strings according to the first random time code; superposing photon counts in corresponding time units between the N superposed time series to form the histogram;
wherein said superimposing according to said first random time code comprises: taking a current time unit to be overlapped as a starting unit, overlapping photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string with photon count values in the starting unit, wherein the overlapped photon count is used as a photon count value of the starting time unit, and the first random time code is that [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)].
The invention has the beneficial effects that:
The invention provides a time code demodulation processing circuit and a demodulation processing method for time code time flight distance measurement, which can allow a transmitter to transmit pulse strings with pulse periods far lower than the maximum flight time corresponding to the maximum measurement range, so that the frame rate can be greatly improved. Further, the preferred embodiment of the invention also provides a time code demodulation processing circuit and a demodulation processing method, which are used for realizing anti-interference time code time flight distance measurement.
Drawings
Fig. 1 is a schematic diagram of a time-of-flight distance measurement system according to an embodiment of the present invention.
Fig. 2 (a) is a schematic diagram of a transmitter transmitting a pulse train including n pulses with a pulse period Δt according to an embodiment of the present invention, wherein the corresponding time codes are regular time codes.
Fig. 2 (b) is a schematic diagram of the corresponding time code being a regular time code, and the collector successively receiving photons in the pulse train reflected by the target after time t, according to an embodiment of the present invention.
FIG. 3 (a) is a schematic diagram of a regular time-coded frame period single photon counting timing string according to an embodiment of the present invention.
Fig. 3 (b) is a histogram formed after regular time code superposition according to an embodiment of the invention.
Fig. 4 (a) is a schematic diagram of a transmitter transmitting a burst of n pulses at random time intervals, according to an embodiment of the invention, with the corresponding time code being a random time code.
Fig. 4 (b) is a schematic diagram of the corresponding time code being a random time code, and the collector sequentially receiving photons in the pulse train reflected by the target after time t, according to an embodiment of the present invention.
Fig. 5 (a) is a schematic diagram of a random time-coded frame period single photon counting timing sequence according to an embodiment of the present invention.
Fig. 5 (b) is a histogram formed after superposition of random time codes according to an embodiment of the invention.
Fig. 6 (a) is a schematic diagram of a transmitter transmitting n×n pulses in a dual random time interval, according to an embodiment of the present invention, the corresponding time code is a dual random time code.
Fig. 6 (b) is a schematic diagram of the corresponding time code being a double random time code, with the collector successively receiving photons in the pulse train reflected by the target after time t, according to an embodiment of the present invention.
Fig. 7 (a) is a schematic diagram of a dual random time coded N pulse group periodic single photon counting timing train according to an embodiment of the present invention.
Fig. 7 (b) is a histogram formed after superposition of double random time codes according to an embodiment of the present invention.
Fig. 8 is a schematic diagram of a time code demodulation processing circuit according to an embodiment of the present invention.
Fig. 9 is a schematic diagram of another time code demodulation processing circuit according to an embodiment of the invention.
Detailed Description
In order to make the technical problems, technical schemes and beneficial effects to be solved by the embodiments of the present invention more clear, the present invention is further described in detail below with reference to the accompanying drawings and the embodiments. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
It will be understood that when an element is referred to as being "mounted" or "disposed" on another element, it can be directly on the other element or be indirectly on the other element. When an element is referred to as being "connected to" another element, it can be directly connected to the other element or be indirectly connected to the other element. In addition, the connection may be for a fixing function or for a circuit communication function.
It is to be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," and the like are merely for convenience in describing embodiments of the invention and to simplify the description by referring to the figures, rather than to indicate or imply that the devices or elements referred to must have a particular orientation, be constructed and operated in a particular orientation, and thus are not to be construed as limiting the invention.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the embodiments of the present invention, the meaning of "plurality" is two or more, unless explicitly defined otherwise.
Time flight distance measuring system
The invention provides a time flight distance measuring system which has stronger environmental light resistance and higher resolution.
FIG. 1 is a schematic diagram of a time-of-flight distance measurement system according to one embodiment of the invention. The distance measuring system 10 comprises an emitter 11, a collector 12 and a processing circuit 13, wherein the emitter 11 provides an emitted light beam 30 into a target space to illuminate an object 20 in the space, at least part of the emitted light beam 30 is reflected by the object 20 to form a reflected light beam 40, at least part of light signals (photons) of the reflected light beam 40 are collected by the collector 12, the processing circuit 13 is respectively connected with the emitter 11 and the collector 12, and the trigger signals of the emitter 11 and the collector 12 are synchronized to calculate the time required for the light beam to be emitted by the emitter 11 and received by the collector 12, namely the flight time t between the emitted light beam 30 and the reflected light beam 40, further, the distance D of corresponding points on the object can be calculated by the following formula:
D=c·t/2 (1)
Wherein c is the speed of light.
The emitter 11 comprises a light source 111, 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 an array light source composed of a plurality of light sources, and preferably, the array light source 111 is a VCSEL array light source chip formed by generating a plurality of VCSEL light sources on a single semiconductor substrate. The light beam emitted by the light source 111 may be visible light, infrared light, ultraviolet light, or the like. The light source 111 emits a light beam outwards under the control of the processing circuit 13, for example, in one embodiment, the light source 111 emits a pulse light beam at a certain frequency (pulse period) under the control of the processing circuit 13, which may be used in Direct time of flight (Direct TOF) measurement, and the frequency is set according to a measurement distance, for example, may be set to 1MHz to 100MHz, and the measurement distance is several meters to several hundred meters. It will be appreciated that the light source 111 may be controlled to emit an associated light beam, such as a pulse signal generator, either as part of the processing circuit 13 or independent of sub-circuits present in the processing circuit 13.
The optical element 112 receives the pulse light beam from the light source 111, and optically modulates the pulse light beam such as diffraction, refraction, reflection, and the like, and then emits the modulated light beam such as a focused light beam, a floodlight beam, a structured light beam, and the like into space. The optical element 112 may be a lens, a diffractive optical element, a mask, a mirror, or the like, or may be in the form of a MEMS galvanometer, or the like.
The processing circuit 13 may be a separate dedicated circuit, such as a dedicated SOC chip, FPGA chip, ASIC chip, etc., or may contain a general purpose processor, such as when the depth camera is integrated into a smart terminal, such as a cell phone, television, computer, etc., the processor in the terminal may be at least part of the processing circuit 13.
Collector 12 includes a pixel unit 121, an imaging lens unit 122, and imaging lens unit 122 receives and directs onto pixel unit 121 at least a portion of the modulated light beam reflected back by the object. In one embodiment, pixel cell 121 is comprised of a single photon avalanche photodiode (SPAD), and may be comprised of an array pixel cell comprised of a plurality of SPAD pixels, the array size of the array pixel cell representing the resolution of the depth camera, such as 320x240, etc. The SPAD can respond to the incident single photon so as to realize the detection of the single photon, and the SPAD has the advantages of high sensitivity, high response speed and the like, thereby realizing the remote and high-precision measurement. Compared with an image sensor based on light integration and composed of CCD/CMOS, the SPAD can realize the collection of weak light signals and the calculation of flight time by counting single photons, such as by using a time-dependent single photon counting method (TCSPC). Typically, a readout circuit (not shown) including one or more of a signal amplifier, a time-to-digital converter (TDC), an analog-to-digital converter (ADC), and the like is further connected to the pixel unit 121. These circuits may be integrated with the pixels either as part of the processing circuit 13 or collectively as the processing circuit 13 for ease of description.
In some embodiments, the distance measurement system 10 may further include color cameras, infrared cameras, IMUs, etc., and combinations of these devices may enable more rich functionality such as 3D texture modeling, infrared face recognition, SLAM, etc.
In some embodiments, the emitter 11 and the collector 12 may also be arranged coaxially, i.e. by means of optics with reflection and transmission functions, such as a half mirror or the like.
In a direct time-of-flight distance measurement system using SPADs, a single photon incident on a SPAD pixel will cause an avalanche, the SPAD will output an avalanche signal to the TDC circuitry, which in turn detects the time interval from the emission of a photon from the emitter 11 to the avalanche. And carrying out histogram statistics on the time interval by a time-related single photon counting (TCSPC) circuit after multiple detection to recover the waveform of the whole pulse signal, thereby realizing accurate flight time detection, and finally calculating the distance information of the object according to the flight time. Assuming that the pulse period emitted by the pulse beam is deltat, the maximum measurement range of the distance measurement system is Dmax, and the corresponding maximum flight time isDeltat+.gtoreq.t 1 is generally required to avoid signal aliasing, where c is the speed of light. If the number of times of multiple detections required by TCSPC is n, the time (frame period) to achieve a single distance measurement will not be lower than n x t 1. For example, the maximum measurement range is 150m, the corresponding pulse period Δt=1us, n=100000, the frame period will be no less than 100ms, and the frame rate will be less than 10fps. It follows that the maximum measurement range in the TCSPC method limits the pulse period, thereby further affecting the frame rate of the distance measurement.
In order to solve this problem, according to the following embodiments, the system and method for time-coded time-of-flight distance measurement provided by the present invention may be implemented by several different time-coded pulse modulation and demodulation schemes, which are described in detail below.
Regular time code pulse modulation and demodulation method
Fig. 2 (a) and 2 (b) are diagrams of time-coded pulse modulation according to an embodiment of the present invention. The transmitter 11 will have a maximum time of flight which is considerably smaller than the maximum measuring range DmaxA pulse train is transmitted, which contains n pulses, as shown in fig. 2 (a). If the measured object is at D, the corresponding time of flight is t, after which time the collector 12 will receive photons in the pulse train reflected by the object successively, as shown in fig. 2 (b). To ensure that the mutual influence of the pulsed light beams in two adjacent frame periods is avoided, the frame period T is set to T ∈ (n-1) ·Δt+t 1, i.e. the time required for the last pulse in a pulse train from the start of transmission by the transmitter 11 until reception by the collector 12 is exactly T 1 when the target is at the maximum measurement distance, which ensures that all pulse trains are received in a single frame period and that no pulse influence in adjacent frame periods occurs. In one embodiment, the maximum measurement range is also assumed to be dmax=150m, n=100000, but the pulse period Δt=100 ns, which is much smaller than 1us in the previous embodiment, the frame period t≡10ms, and the frame rate is as high as 100fps.
It should be noted that the waveform of each pulse in the transmission pulse train is often not as regular as the square wave shown in the figure, and thus the figure is merely exemplary. The received burst is also merely exemplary, and the sequence of photons received by collector 12 may actually reflect the received burst, as will be described in more detail below.
If such high frame rate distance computation is desired, the conventional TCSPC method is no longer applicable. The invention provides a brand new time coding continuous single photon counting demodulation method.
Fig. 3 (a) and 3 (b) are time-coded continuous single photon count demodulation methods according to one embodiment of the invention. While the emitter 11 emits a pulse train comprising n pulses, the collector 12 will be activated to collect part of the photons in the pulses from the target reflection, the processing circuit 13 will process and record the respective times of incidence of each incident photon, such as collecting the incident photon time with a TDC circuit, and then identifying and recording the photon time with a processing circuit, to finally form a frame period single photon counting time series as shown in fig. 3 (a), each square being the minimum time unit determined by the TDC time resolution, when the TDC detects a photon event in the time of the minimum time unit (such as photon count value 1 in the figure representing the photon detected in the minimum time unit), the value in each square being the photon count value (0 or 1), and the total time length of the time series may be equal to the frame period. The timing sequence may be obtained and stored in the memory in any suitable manner, for example, it may be obtained by continuously collecting TDCs with higher bandwidth, or it may be obtained by splicing TDCs with lower bandwidth after multiple collection.
In one embodiment, the frame period single photon counting timing string may also be acquired by other types of circuitry, such as by sampling circuitry that is responsive to the SPAD avalanche signal to directly derive the timing string. The frame period single photon counting timing sequence may also be referred to as a frame period single photon sampling timing sequence.
In one embodiment, the acquired frame period single photon count timing string is saved to memory, and then a histogram is drawn by a histogram circuit in the processor 13 based on the timing string, unlike the histogram drawing principle in conventional TCSPC. The histogram in this embodiment will take the form of a superposition of time-coded sequential single photon counts. In one embodiment, the minimum time unit (minimum memory unit bin) of the histogram is the same as the minimum time unit of the time series, and for the time units to be plotted, the time codes at the time of transmission of the pulse series are superimposed, such as sequentially. The pulse train emits n pulses with a pulse period delta t, the corresponding time codes are regular time codes, namely [ delta t,2 delta t,3 delta t, …, (n-1) delta t ], superposition is performed based on the time codes, which means that a time unit to be drawn currently is taken as a starting unit, photon count values in all time units of (n-1) delta t are sequentially superposed with photon count values in the starting unit, and the photon count values after superposition are taken as the values of the time units in a histogram. Such as the superposition for the first time cell of the histogram, as indicated by the arrow in fig. 3 (a). The histogram formed by time-coding the plurality of time cells after the superposition is shown in fig. 3 (b).
Depending on the distance of the target and the reflectivity of the target, only a few photons per pulse may enter collector 12 and avalanche with a certain probability may occur resulting in a single photon counting event. From a statistical probability, collector 12 will collect the highest probability of photon counting events during the entire frame period only at the moment each pulse in the pulse train emitted by emitter 11 is reflected back to collector 12 by the target. In other words, the probability of collecting photons at the time of the received pulse train shown in fig. 2 (b) is highest, which means that the probability of photon count value of "1" is significantly higher in the corresponding time unit in the time series in fig. 3 (a) than in other time units. Thus, after the time-coded histogram is superimposed, a peak will appear at time t+ (Δt,2Δt,3Δt, …, (n-1) Δt), i.e. the number of photons collected is the greatest, and since the superimposition is sequentially superimposed, the value of the time peak further down will gradually decrease. However, the time of flight t of the target can be calculated as long as the time at which the first pulse peak is located is determined.
In general, the time resolution of the TDC is smaller than the pulse width, that is, the width of each time unit of the time series is smaller than the pulse width, and after the time encoding continuous single photon count superposition is performed, a plurality of time units can be seen to have higher values on the obtained histogram, and a waveform diagram reflecting the pulse shape is formed, where the time corresponding to the highest point of the waveform diagram can be used as the flight time to be measured.
It will be appreciated that when the frame period T > (n-1) ·Δt+t 1, the photon acquisition time does not need to cover the whole frame period, but only needs to be acquired within the time [ (n-1) ·Δt+t 1 ], i.e. the length of the frame period single photon counting time series is [ (n-1·Δt+t 1 ], and the data processing such as histogram calculation, flight time calculation, distance calculation, etc. can be performed within the remaining time of the frame period.
In one embodiment, when the time-coded continuous single photon count superimposed histogram is plotted, the minimum time unit size may be an integer multiple, such as 2 times, of each time unit in the frame period single photon count timing sequence, thereby reducing the amount of computation and memory required for the histogram plot.
In one embodiment, when the time-coded continuous single photon count stacking histogram is drawn, the adjacent time unit interval, i.e., the step size, may be greater than 1, for example, the time-coded stacking is performed every other time unit, thereby also reducing the amount of computation and the memory required for drawing.
In one embodiment, the total time length of the histogram is [ (n-1) ·Δt+t 1 ], when the time units after the time t 1 are overlapped, the photon count values of the time units in the time sequence string are not overlapped, and the time units participating in the overlapping are gradually reduced. In practice, it is not necessary to draw a histogram of the same length as the frame period, but only a histogram in the period from 0 to t 1, since the first peak must occur only if the target is within the maximum measurement range, and the time of flight t can be determined by the first peak.
In one embodiment, when searching for pulse waveforms in the histogram, it may be found by setting a threshold, values above the threshold being preserved, values below the threshold being considered noise.
In one embodiment, the order of drawing of the histograms may also be changed, i.e. no time cell by time cell drawing from 0 is required. For example, the drawing can be started from the middle time by using a dichotomy, once the first pulse waveform is found, the drawing is continued towards the direction of an earlier time unit until no waveform is found in the earlier time period of the current pulse waveform with the distance of deltat, and the time corresponding to the current pulse waveform is considered as the target flight time. In general, any suitable search algorithm that locates the first pulse waveform is suitable for use in this scenario. In this embodiment, the total time length of the histogram is adaptively changed based on the execution of the search algorithm, and once the first pulse waveform is plotted and detected, the calculation is stopped, and then the peak position determination can be performed by using the first pulse waveform to obtain the time of flight t. Generally, the total time length of the adaptively changed histogram does not exceed the maximum flight time t 1, so that the calculation amount and the memory consumption can be greatly reduced.
The continuous single photon count demodulation method based on time coding shown in fig. 3 (a) and 3 (b) has higher memory requirement and relatively larger calculation amount compared with the traditional TCSPC, but has obvious advantages that the transmitter 11 can be allowed to transmit pulse strings with pulse periods far below the maximum measurement range corresponding to the maximum flight time, so that the frame rate can be greatly improved. However, the modulation and demodulation methods shown in fig. 2 (a) to 3 (b) still have difficulty in solving the problem of multi-machine interference, and the invention also provides a time coding time flight distance measuring method capable of resisting interference.
It will be appreciated that in some embodiments, the process of drawing a frame period single photon counting time sequence and drawing a histogram based on the time sequence may be combined into one, that is, the process of drawing a histogram may be directly based on photon counting, or two steps may be extended to more than three steps, which are the same in implementation principle, but different in implementation form, and different in corresponding required hardware circuit, for example, the implementation form of combining the detailed description into one in the specific processing circuit design later may reduce the storage capacity, so any implementation form using this principle is within the scope of the present invention.
Random time code pulse modulation and demodulation method
Fig. 4 (a) and 4 (b) are diagrams of random time coded pulse modulation according to one embodiment of the invention. In contrast to the embodiments shown in fig. 2 (a) and 2 (b), in this embodiment, the pulses are transmitted at predetermined random (pseudo-random) intervals, i.e., the pulses are transmitted in the form of random time codes [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)], Δt i represents the time interval between the i-th pulse and the (i+1) -th pulse, i=1, 2, … (n-1), as shown in fig. 4 (a). If the measured target is at D, the corresponding time of flight is t, after which time the collector 12 will receive photons in the pulse train reflected by the target successively, as shown in fig. 4 (b). In order to ensure that the mutual influence of the pulse beams in two adjacent frame periods is avoided, the frame period T is set toI.e. when the most target is at the maximum measurement distance, the time required for the last pulse in the burst to start from being reflected by the transmitter 11 until the end of being received by the collector 12 is exactly t 1, which ensures that all bursts are received during a single frame period and that no pulses in adjacent frame periods are affected. In one embodiment, the maximum measurement range is also assumed to be dmax=150m, n=100000, if the average value of the random pulse period/>Much less than 1us in the previous embodiment, frame period T≡10ms, frame rate up to 100fps.
Fig. 5 (a) and 5 (b) are random time-coded continuous single photon count demodulation methods according to one embodiment of the invention. As in the embodiment of fig. 3 (a) and 3 (b), while the emitter 11 is emitting N bursts, the collector 12 will be activated to collect part of the photons in the pulses from the target reflection, the processing circuit 13 will process and record the respective times of incidence of each incident photon, ultimately forming a frame-period single-photon counting time series as shown in fig. 5 (a), the photon count value being recorded in each time unit of the time series, the total time length of the time series being the frame period.
In one embodiment, the acquired frame period single photon count time series is saved to memory, and then a histogram circuit in the processor 13 draws a histogram based on the time series, similar to the embodiment shown in fig. 3 (a) and 3 (b), the histogram in this embodiment will also take the form of a superposition of time-coded continuous single photon counts. The difference is that the time codes are random time codes, and for the time units to be plotted, the time codes [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)] at the time of transmission according to the burst are superimposed, such as in turn. And sequentially superposing photon count values in all time units which are sequentially separated from the starting unit Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence series by taking the current time unit to be drawn as the starting unit and photon count values in the starting unit, wherein the photon count value after superposition is used as the numerical value of the time unit in the histogram. Such as the superposition for the first time cell of the histogram, as indicated by the arrow in fig. 5 (a). The histogram formed by time-coding the plurality of time cells is shown in fig. 5 (b).
In one embodiment, when the time-coded continuous single photon count superimposed histogram is drawn, the minimum time unit may be an integer multiple, such as 2 times, of the frame period single photon count timing sequence, thereby reducing the amount of computation and memory required for drawing the histogram.
In one embodiment, when the time-coded continuous single photon count stacking histogram is drawn, the adjacent time unit interval, i.e., the step size, may be greater than 1, for example, the time-coded stacking is performed every other time unit, thereby also reducing the amount of computation and the memory required for drawing.
In one embodiment, the total time length of the histogram is [ (n-1) ·Δt+t 1 ], when the time units after the time t 1 are overlapped, the photon count values of the time units in the time sequence string are not overlapped, and the time units participating in the overlapping are gradually reduced. In practice, it is not necessary to draw a histogram of the same length as the frame period, but only a histogram in the period from 0 to t 1, since the first peak must occur only if the target is within the maximum measurement range, and the time of flight t can be determined by the first peak.
In one embodiment, when searching for pulse waveforms in the histogram, it may be found by setting a threshold, values above the threshold being preserved, values below the threshold being considered noise.
In one embodiment, the order of drawing of the histograms may also be changed, i.e. no time cell by time cell drawing from 0 is required. For example, a dichotomy can be used to draw from the middle time so that the pulse shape can be found quickly. In general, any suitable search algorithm that locates the pulse shape is suitable for use in this scheme. In this embodiment, the total time length of the histogram is adaptively changed based on the execution process of the search algorithm, and once the pulse waveform is detected, the calculation is stopped, and then the peak position determination can be performed by using the pulse waveform to obtain the time of flight t. Since this embodiment is a random time code, in the superimposed histogram, only the histogram time unit or units corresponding to the time t at which the first pulse in the pulse train is reflected will have a higher value, and the situation like the multiple pulse waveforms in fig. 3 (b) will not occur. In other words, only the time t of the first pulse is taken as the initial unit, each time unit overlapped subsequently corresponds to the time of each pulse in the pulse train, the probability of collecting photons is highest, and the initial unit has high uniqueness due to random time coding. Therefore, once the time at which the pulse waveform (peak) is located is identified in the histogram, the time of flight t of the target can be calculated. Generally, the total time length of the adaptively changed histogram does not exceed the maximum flight time t 1, so that the calculation amount and the memory consumption can be greatly reduced.
Likewise, in some embodiments, the process of drawing the frame period single photon counting time sequence string and drawing the histogram based on the time sequence string may be combined into one, that is, the histogram may be drawn directly based on photon counting, or two steps may be expanded into more than three steps, which have the same implementation principle, but different implementation forms, and the corresponding required hardware circuits may also be different, for example, the implementation form of combining the details into one in the specific processing circuit design later may reduce the storage capacity, so any implementation form using this principle is within the scope of the present invention.
Dual random time code pulse modulation and demodulation method
Fig. 6 (a) and 6 (b) are schematic diagrams of dual random time coded pulse modulation according to one embodiment of the invention. In comparison with the embodiments shown in fig. 4 (a) and fig. 4 (b), in this embodiment, the pulse trains are transmitted at preset double random (pseudo random) intervals, that is, all the transmitted pulses are divided into a plurality of pulse groups, each pulse group includes a plurality of pulses, the pulses in the pulse groups are transmitted in the form of a first random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)], Δt i represents the time interval between the ith pulse and the (i+1) th pulse in each group, i=1, 2, … (n-1), and n is the number of pulses in the pulse group; the group-to-group transmissions are in the form of a second random time code [ΔT1,ΔT1+ΔT2,ΔT1+ΔT2+ΔT3,…,ΔT1+ΔT2…+ΔT(N-1)], Δt j represents the time interval between the j-th pulse group and the (j+1) -th pulse group, j=1, 2, … (N-1), N representing the number of pulse groups, and N x N pulses are transmitted in total for a single measurement, as shown in fig. 6 (a). If the measured target is at D, the corresponding time of flight is t, after which time the collector 12 will receive photons in the pulse train reflected by the target successively, as shown in fig. 6 (b). In order to ensure that the mutual influence of the pulse beams in two adjacent frame periods is avoided, the frame period T is set toI.e. when the most target is at the maximum measurement distance, the time required for the last pulse in the burst to start from being reflected by the transmitter 11 until the end of being received by the collector 12 is exactly t 1, which ensures that all bursts are received during a single frame period and that no pulses in adjacent frame periods are affected. In one embodiment, the maximum measurement range is also assumed to be dmax=150m, n=1000, n=100, if the average value of the pulse periods in the group/>Inter-group period average/>Much less than 1us in the previous embodiment, frame period T≡10ms, frame rate up to 100fps. /(I)
Fig. 7 (a) and 7 (b) are dual random time-coded continuous single photon count demodulation methods according to one embodiment of the invention. Unlike the embodiment shown in fig. 5 (a) and 5 (b), while emitter 11 emits n×n pulses, collector 12 does not collect for the entire burst emission period, but only for the time each burst is emitted (the time period for which the photons return is suitably greater than the burst) collector 12 will be activated to collect part of the photons in the pulses from the target reflection, processing circuit 13 will process and record the respective times of incidence of each incident photon, ultimately forming N burst period single photon count time series as shown in fig. 7 (a), which record in each time unit the photon count value, the total time length of the time series being the time period for which the burst corresponds.
In one embodiment, the acquired N pulse group periodic single photon count time series is saved to memory, and then a histogram is drawn by a histogram circuit in the processor 13 based on the time series. In making the histogram, a manner of superposition fusion of the conventional TCSPC with the temporal coding in the embodiment shown in fig. 3 and 5 is actually adopted. I.e. drawing in two steps (the two steps can be performed without sequential separation or can be performed in a crossed manner), the first step is similar to the manner of the traditional TCSPC, i.e. photon counts in corresponding time units between the N pulse group period single photon count time series are superimposed, as shown by the upward plus arrow in fig. 7 (a); and a second step of superposing the total time sequence obtained in the first step according to the first time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)] of pulse emission in the pulse group, namely taking a time unit to be superposed currently as a starting unit, and sequentially superposing photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence and photon count values in the starting unit, wherein the photon count value after superposition is used as the value of the time unit in the histogram. Such as the superposition for the first time cell of the histogram, as indicated by the transverse plus sign in fig. 7 (a). A histogram as shown in fig. 7 (b) will be finally obtained.
In some embodiments, the TCSPC may be performed after the time-coded superposition, i.e., the pulse group period single photon counting time series are superimposed in a first time-coded manner, as shown by the transverse plus sign in fig. 7 (a); and then, corresponding time units in the N obtained superimposed time sequence strings are superimposed, as shown by arrow plus signs in fig. 7 (a). A histogram as shown in fig. 7 (b) will be finally obtained.
Likewise, the size of the minimum time unit of the histogram may be an integer multiple of the minimum time unit of the time series. In addition, the interval between two adjacent time units of the histogram can be larger than 1, for example, the time coding superposition is performed once every other time unit, so that the calculation amount and the memory required for drawing can be reduced.
Likewise, the time length of the histogram can be adaptively adjusted, not necessarily the same as the period length of the pulse group. In general, only a histogram needs to be drawn for the period from 0 to t 1, since the first peak must appear only if the target is within the maximum measurement range, and the time of flight t can be determined with the first peak.
In one embodiment, when searching for pulse waveforms in the histogram, it may be found by setting a threshold, values above the threshold being preserved, values below the threshold being considered noise.
In one embodiment, the order of drawing of the histograms may also be changed, i.e. no time cell by time cell drawing from 0 is required. For example, a dichotomy can be used to draw from the middle time so that the pulse shape can be found quickly. In general, any suitable search algorithm that locates the pulse shape is suitable for use in this scheme. In this embodiment, the total time length of the histogram is adaptively changed based on the execution process of the search algorithm, and once the pulse waveform is detected, the calculation is stopped, and then the peak position determination can be performed by using the pulse waveform to obtain the time of flight t. Since this embodiment is a random time code, in the superimposed histogram, only the histogram time unit or units corresponding to the time t at which the first pulse in the pulse train is reflected will have a higher value, and the situation like the multiple pulse waveforms in fig. 3 (b) will not occur. In other words, only the time t of the first pulse is taken as the initial unit, each time unit overlapped subsequently corresponds to the time of each pulse in the pulse train, the probability of collecting photons is highest, and the initial unit has high uniqueness due to random time coding. Therefore, once the time at which the pulse waveform (peak) is located is identified in the histogram, the time of flight t of the target can be calculated. Generally, the total time length of the adaptively changed histogram does not exceed the maximum flight time t 1, so that the calculation amount and the memory consumption can be greatly reduced.
Compared with the random modulation and demodulation methods shown in fig. 4 (a), 4 (b) and fig. 5 (a) and 5 (b), the dual random modulation and demodulation methods shown in fig. 6 (a), 6 (b) and fig. 7 (a) and 7 (b) can not only effectively reduce ambient light noise, but also greatly reduce photon entry emitted by other devices in the coexistence of multiple devices, so that the effect of resisting multiple-machine interference is better.
Time code demodulation processing circuit and processing method
In order to realize the time code demodulation in the embodiment, the invention also provides a time code demodulation processing circuit and a processing method.
Fig. 8 is a time-coded demodulation circuit according to an embodiment of the present invention, where the time-coded demodulation circuit 82 is connected to a pixel unit 81, which may be a SPAD pixel, for detecting photons of a reflected beam, and the processing circuit 82 processes each detected photon event to calculate the flight time of a photon round trip.
The time code demodulation processing circuit 82 of the present embodiment includes a sampling circuit 821, a timing string memory 822, a readout address register 823, a time code sequence memory 824, an addition register 825, a histogram time unit counter (simply referred to as bin counter) 826, and a histogram memory 827.
The pixel unit 81 collects the photon signals of the reflected light beams and outputs a photon detection event represented by a pulse signal, and the sampling circuit 821 samples the pulse signal under the control of a clock signal (for example, 1 GHz) sent by the clock generator for a period of time to form a frame period single photon counting time sequence string. It will be appreciated that the sampling circuit 821 may also be a circuit including a TDC as described above, as long as the circuit is capable of generating a single photon counting timing train from photon counting events. The sampling time interval of the sampling circuit 821 is generally not smaller than the pulse width, so as to avoid the situation that photons cannot be sampled at a time corresponding to one pulse width. In one embodiment, when a photon is detected by the pixel unit 81, the sampling circuit 821 will output a digital signal 1, and when no photon is detected, the sampling circuit 821 will output a digital signal 0, so that for a period of time, the sampling circuit 821 will output a series of 0, 1 series, i.e., a series of frame period single photon count series.
The frame period single photon counting time sequence strings obtained by sampling by the sampling circuit 821 are sequentially stored in the time sequence string memory 822 according to the memory cell addresses, generally, the memory sizes of the time sequence string memory 822 are different according to the difference of sampling time lengths, for example, when the sampling time length is 1000ns, the sampling interval is 1ns, and the corresponding memory is 1000bits.
The time code sequence memory 824 is used to hold a pre-written time code sequence, such as the regular time code sequence shown in fig. 2 (a), or the random time code sequence shown in fig. 4 (a).
The read address register 823 is used for storing the address of the memory cell in the timing string memory 822 to be read, and the timing string memory 822 will read the data at the corresponding address to the adder register 825 according to the address in the read address register 823 under the control of the clock signal. Subsequently, the read address register 823 automatically jumps to the next address to be read, for example, if the current address is x, then, based on the time code sequence stored in the time code sequence memory 824, the read address register automatically jumps to the next address to be read: x+Δt i, where Δt i is the time interval sequence value held in the time code sequence memory 824.
The adder 825 is used to perform an adder calculation, add the data stored in the adder 825 and the data in the corresponding memory cell transmitted in the time series memory 822, and after all the sequences in the time code sequence memory 824 are read, the adder 825 completes the calculation of a histogram time unit bin, and then writes the value into the histogram memory 827 to draw a histogram.
The bin counter 826 is used for storing the number of the currently drawn bin, and after all sequences in the time code sequence memory 824 are read, that is, after the current bin is drawn, a pulse is sent to the bin counter 826 and the adding register 825, the number of the bin counter 826 is automatically +1 to start the next bin to be drawn, the value of the bin is written into the histogram memory 827, and meanwhile, the adding register 825 clears 0.
After the histogram is plotted, the processing circuitry 82 may further calculate a time of flight from the histogram.
In the embodiment shown in fig. 8, the sampling of data and the drawing of the histogram are performed sequentially in time sequence, i.e., the frame period single photon count time series sampling is stored in the time series memory 822, and then the time series is subjected to data processing to obtain the histogram. To reduce processing time to increase frame rate, in one embodiment, a multi-timing string memory 822 may be used, such as a dual-timing string memory 822, where a frame of data is stored in a first timing string memory 822 after sampling, and then the sampling circuit 821 operates synchronously when histogram drawing is performed using the timing string in the first timing string memory 822, and stores the sampled timing string in a second timing string memory 822. In this way, when the histogram is drawn using the time series in the second time series memory 822, the sampling circuit 821 saves the sampled time series in the first time series memory 822. Thus, the sampling time can be greatly increased, and the frame rate can be increased.
In one embodiment, based on the processing circuit shown in fig. 8, the present invention further provides a time code demodulation method, which includes the following steps:
the time code sequences are stored in advance in the time code sequence memory 824;
the photon events of the reflected light beam detected by the pixel unit 81 are sampled by the sampling circuit 821 to form a frame period single photon count timing string and saved into the timing string memory 822;
Storing the address of the memory unit in the time sequence string memory 822 to be read out to a read-out address register 823, wherein the address automatically jumps to the next address to be read according to the time code sequence;
Reading data at the corresponding address from the timing string memory 822 to an addition register 825 according to the address in the read address register 823;
Performing an addition operation between the data currently held by the addition register 825 and the data read out by the timing string memory 822, and transmitting the operation result thereof to the corresponding bin of the histogram memory 827 to draw a histogram;
The number of the previously drawn bin is saved in a bin counter 826 and is automatically incremented by 1 when the current bin drawing is completed.
The embodiment shown in fig. 8 has a high requirement on the memory, and for the current trend of integrating SPAD sensitization and data processing circuits into a single chip, if the processing circuits are monolithically integrated, the capacity of the on-chip memory will be large, which is not beneficial to chip mass production. In order to solve the problem, the invention provides a demodulation method for drawing a real-time histogram.
Fig. 9 is a real-time code demodulation processing circuit according to an embodiment of the present invention, where the time code demodulation processing circuit 92 is connected to a pixel unit 91, and the pixel unit 91 may be a SPAD pixel for detecting photons of a reflected beam, and the processing circuit 92 processes each detected photon event to calculate the flight time of a photon round trip.
It is considered that when the time cells bins of the histogram are superimposed, the time cells in the time series required by each bin in performing the superposition calculations (i.e. the points in time of the corresponding photon event) are known from the time code, with the time code being determined. Based on this, the correspondence between each bin address and the time unit address in the time sequence string that needs to be overlapped can be saved in advance, the photon count value output by the sampling circuit 921 in real time will know the bin corresponding to the current photon count value based on the correspondence, and then the photon count value is gated to enter the corresponding bin for overlapping.
The time code demodulation processing circuit 92 of the present embodiment includes a sampling circuit 921, a time code sequence controller 922, a time code sequence control memory 923, and a histogram memory 924.
After collecting the photon signal of the reflected light beam, the pixel unit 91 outputs a photon detection event represented by a pulse signal, the sampling circuit 921 samples the pulse signal under the control of a clock signal (for example, 1 GHz) sent by the clock generator, so as to output a sampling signal (i.e., a photon count value of 0 or 1), the sampling signal is sent to the time code sequence controller 922, and the time code sequence controller 922 controls the sampling signal to enter the corresponding bin in the histogram memory 924 according to the correspondence stored in the time code sequence control memory 923 for superposition, for example, gating the sampling signal can be realized by a tri-state gate, a transmission gate, and the like. The time code sequence control memory 923 stores a corresponding relation between the sampling signal and the bin to be turned on, for example, the time code sequence control memory includes a storage space of n x j, where n is the number of time bins, j is the same as the number of measurement sequence bits of the pixel units, and the corresponding n bit data is transmitted to the time code sequence controller 922 to control gating of the corresponding sampling signal.
In one embodiment, based on the time code demodulation processing circuit shown in fig. 9, the invention further provides a time code demodulation method, which comprises the following steps:
the corresponding relation between the sampling signal and the bin in the histogram memory 924 to be started is written into the time code sequence control memory 923 in advance;
Sampling, by a sampling circuit, photon events of the reflected light beam detected by the pixel unit 921 to form the sampling signal;
The time code sequence controller 922 controls the corresponding relation stored in the memory 923 according to the time code sequence to control the sampling signals to enter corresponding bins in the histogram memory 924 for superposition to draw a histogram.
It will be appreciated that the processing circuits shown in fig. 8 and 9 are applicable not only to the demodulation methods in the embodiments shown in fig. 3 (a), 3 (b) and fig. 5 (a), 5 (b), but also to the demodulation methods in the embodiments shown in fig. 7 (a), 7 (b).
It will be appreciated that in the above description, for convenience in describing the relationships between the parts, each module is described separately, and in practical application, a plurality of modules may be combined, for example, the timing string memory, the time code memory, and the like may be the same memory. Equivalent alternatives by means of merging, splitting etc. should therefore also be considered as the scope of protection of the present invention.
It will be appreciated that corresponding structural or component changes may be made when the distance measuring system of the present invention is embedded in a device or hardware to accommodate the needs, the nature of which still employs the distance measuring system of the present invention, and therefore should be considered as being within the scope of the present invention. The foregoing is a further detailed description of the invention in connection with specific/preferred embodiments, and it is not intended that the invention be limited to such description. It will be apparent to those skilled in the art that several alternatives or modifications can be made to the described embodiments without departing from the spirit of the invention, and these alternatives or modifications should be considered to be within the scope of the invention. In the description of the present specification, reference to the terms "one embodiment," "some embodiments," "preferred embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, schematic representations of the above terms are not necessarily directed to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, the different embodiments or examples described in this specification and the features of the different embodiments or examples may be combined and combined by those skilled in the art without contradiction. Although embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the scope as defined by the appended claims. Furthermore, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. Those of ordinary skill in the art will readily appreciate that the above-described disclosures, procedures, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.

Claims (10)

1. A time code demodulation processing circuit connected to a pixel unit, comprising:
Sampling circuitry configured to sample photon events of the reflected light beam detected by the pixel cells to form a single photon counting timing string;
A timing string memory configured to hold the single photon counting timing string;
A time-coded sequence memory configured to hold a pre-written time-coded sequence;
The read-out address register is configured to store the address of a memory unit in the time sequence series memory to be read out, and the address automatically jumps to the next address to be read out according to the time code sequence; the data on the corresponding address in the time sequence serial memory is read according to the address in the read address register;
An addition register configured to perform an addition operation between data that it currently holds and data that the timing string memory reads out;
A histogram memory configured to store a histogram drawn from an operation result of the addition register;
A histogram time unit counter configured to store a number of a currently drawn histogram time unit and to automatically increment the number by 1 when the drawing of the current histogram time unit is completed;
Wherein, for the histogram time units to be drawn, superposition drawing is performed according to the time code when the photon pulse train is emitted, and a plurality of corresponding time units in the time sequence series required by each histogram time unit to be drawn when superposition calculation is performed are determined according to the time code, thereby realizing drawing of the histogram in a mode of superposition of continuous single photon counts of the time code.
2. The time-coded demodulation processing circuit of claim 1, wherein the processing circuit is configured to determine a time corresponding to a pulse waveform in the histogram; and determining the flight time according to the time corresponding to the pulse waveform.
3. The time code demodulation processing circuit of claim 1 wherein 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 number of pulses included in the pulse train;
wherein the histogram is drawn according to the following manner: and superposing photon count values in all time units which are separated from the starting unit by an integer delta t in the time sequence string and photon count values in the starting unit by taking the time unit in the histogram to be currently drawn as the starting unit, wherein the superposed photon count values are used as photon count values of the starting unit.
4. The time code demodulation processing circuit of claim 1 wherein the time code is a random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)],Δti representing a time interval of an i-th pulse and an (i+1) -th pulse, i = 1,2, … (n-1), where n is the number of pulses contained in a burst;
Wherein the histogram is drawn according to the following manner: and taking a time unit in the histogram to be currently drawn as a starting unit, and superposing photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string and photon count values in the starting unit, wherein the superposed photon count values are used as photon count values of the starting unit.
5. The time code demodulation processing circuit of claim 1 wherein the time code is a double random time code comprising a first random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)] and a second random time code [ΔT1,ΔT1+ΔT2,ΔT1+ΔT2+ΔT3,…,ΔT1+ΔT2…+ΔT(N-1)], wherein Δt i represents the time interval between the i-th pulse and the (i+1) -th pulse in a pulse group, i = 1,2, … (n-1), n being the number of pulses in the pulse group; Δt j represents the time interval between the j-th pulse group and the (j+1) -th pulse group, j=1, 2, … (N-1), N representing the number of pulse groups;
Wherein the histogram is drawn according to the following manner: superposing photon counts in corresponding time units between the N pulse group period single photon counting time series; superposing the total time sequence strings after superposition according to the first random time code to form the histogram; or the histogram is drawn according to the following manner: superposing the N pulse group periodic single photon counting time sequence strings according to the first random time code; superposing photon counts in corresponding time units between the N superposed time series to form the histogram;
Wherein said superimposing according to said first random time code comprises: taking a current time unit to be overlapped as a starting unit, overlapping photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string with photon count values in the starting unit, wherein the overlapped photon count is used as a photon count value of the starting unit, and the first random time code is that [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)].
6. The time code demodulation processing method is characterized by comprising the following steps:
Storing the time code sequence into a time code sequence memory in advance;
Sampling photon events of the reflected light beams detected by the pixel units by a sampling circuit to form a single photon counting time sequence string and storing the single photon counting time sequence string into a time sequence string memory;
storing the address of a memory unit in the time sequence string memory which is required to be read currently into a read address register, wherein the address automatically jumps to the next address required to be read according to the time coding sequence;
reading data on corresponding addresses from the time sequence string memory to an addition register according to the addresses in the read address register;
Performing an addition operation between the data currently stored by the addition register and the data read out by the time sequence string memory, and transmitting an operation result thereof to a corresponding histogram time unit of a histogram memory to draw a histogram;
The number of the time unit of the previously drawn histogram is stored in a counter of the time unit of the histogram, and the number is automatically increased by 1 after the drawing of the current time unit of the histogram is finished;
Wherein, for the histogram time units to be drawn, superposition drawing is performed according to the time code when the photon pulse train is emitted, and a plurality of corresponding time units in the time sequence series required by each histogram time unit to be drawn when superposition calculation is performed are determined according to the time code, thereby realizing drawing of the histogram in a mode of superposition of continuous single photon counts of the time code.
7. The time-code demodulation processing method as claimed in claim 6, further comprising the steps of:
determining the time corresponding to the pulse waveform in the histogram;
And determining the flight time according to the time corresponding to the pulse waveform.
8. The time code demodulation processing method as claimed in claim 6, wherein the time code is a regular time code [ Δt,2Δt,3Δt, …, (n-1) Δt ], wherein Δt is a pulse period, and n is the number of pulses included in the pulse train;
wherein the histogram is drawn according to the following manner: and superposing photon count values in all time units which are separated from the starting unit by an integer delta t in the time sequence string and photon count values in the starting unit by taking the time unit in the histogram to be currently drawn as the starting unit, wherein the superposed photon count values are used as photon count values of the starting unit.
9. The time code demodulation processing method as claimed in claim 6, wherein the time code is a random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)],Δti representing a time interval between an i-th pulse and an (i+1) -th pulse, i=1, 2, … (n-1), where n is a number of pulses included in a pulse train;
Wherein the histogram is drawn according to the following manner: and taking a time unit in the histogram to be currently drawn as a starting unit, and superposing photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string and photon count values in the starting unit, wherein the superposed photon count values are used as photon count values of the starting unit.
10. The method of time code demodulation processing as claimed in claim 6, wherein the time code is a double random time code, including a first random time code [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)] and a second random time code [ΔT1,ΔT1+ΔT2,ΔT1+ΔT2+ΔT3,…,ΔT1+ΔT2…+ΔT(N-1)],, wherein Δt i represents a time interval between an i-th pulse and an (i+1) -th pulse in a pulse group, i=1, 2, … (n-1), n being a number of pulses in the pulse group; Δt j represents the time interval between the j-th pulse group and the (j+1) -th pulse group, j=1, 2, … (N-1), N representing the number of pulse groups;
Wherein the histogram is drawn according to the following manner: superposing photon counts in corresponding time units between the N pulse group period single photon counting time series; superposing the total time sequence strings after superposition according to the first random time code to form the histogram; or the histogram is drawn according to the following manner: superposing the N pulse group periodic single photon counting time sequence strings according to the first random time code; superposing photon counts in corresponding time units between the N superposed time series to form the histogram;
Wherein said superimposing according to said first random time code comprises: taking a current time unit to be overlapped as a starting unit, overlapping photon count values in all time units which are separated from the starting unit by Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1) in the time sequence string with photon count values in the starting unit, wherein the overlapped photon count is used as a photon count value of the starting unit, and the first random time code is that [Δt1,Δt1+Δt2,Δt1+Δt2+Δt3,…,Δt1+Δt2…+Δt(n-1)].
CN201910813659.1A 2019-08-30 2019-08-30 Time code demodulation processing circuit and method Active CN110632577B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910813659.1A CN110632577B (en) 2019-08-30 2019-08-30 Time code demodulation processing circuit and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910813659.1A CN110632577B (en) 2019-08-30 2019-08-30 Time code demodulation processing circuit and method

Publications (2)

Publication Number Publication Date
CN110632577A CN110632577A (en) 2019-12-31
CN110632577B true CN110632577B (en) 2024-05-07

Family

ID=68969722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910813659.1A Active CN110632577B (en) 2019-08-30 2019-08-30 Time code demodulation processing circuit and method

Country Status (1)

Country Link
CN (1) CN110632577B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021243612A1 (en) * 2020-06-03 2021-12-09 深圳市大疆创新科技有限公司 Distance measurement method, distance measurement apparatus, and movable platform
CN113325386B (en) * 2021-04-16 2022-06-28 上海宏景智驾信息科技有限公司 Method for real-time statistics of TDC (time-to-digital converter) by using dual random memories of SPAD (space-based data detection) laser radar
CN116559844A (en) * 2023-05-18 2023-08-08 杭州宇称电子技术有限公司 Photon time recording ranging circuit, control method and application thereof
CN116559841B (en) * 2023-07-07 2023-10-27 苏州识光芯科技术有限公司 Photon counting method, device, chip and equipment
CN116540953B (en) * 2023-07-07 2023-09-29 苏州识光芯科技术有限公司 Time difference interval distribution histogram data generation method, device, chip and equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103616696A (en) * 2013-11-27 2014-03-05 中国电子科技集团公司第三十八研究所 Laser imaging radar device and distance measurement method thereof
CN108089194A (en) * 2017-12-15 2018-05-29 中国科学院光电技术研究所 A kind of photon counting laser radar based on compound pseudorandomcode
CN109031336A (en) * 2017-06-09 2018-12-18 中国航空工业集团公司洛阳电光设备研究所 A kind of single-photon laser distance measuring method and device removing range ambiguity
CN109791202A (en) * 2016-09-22 2019-05-21 苹果公司 Laser radar with irregular pulse train

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486668A (en) * 2010-12-22 2012-06-27 St Microelectronics Res & Dev Real-time processing method and system for an optical range finder
US10416293B2 (en) * 2016-12-12 2019-09-17 Sensl Technologies Ltd. Histogram readout method and circuit for determining the time of flight of a photon
JP7134988B2 (en) * 2017-03-01 2022-09-12 アウスター インコーポレイテッド Accurate photodetector measurements for lidar

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103616696A (en) * 2013-11-27 2014-03-05 中国电子科技集团公司第三十八研究所 Laser imaging radar device and distance measurement method thereof
CN109791202A (en) * 2016-09-22 2019-05-21 苹果公司 Laser radar with irregular pulse train
CN109031336A (en) * 2017-06-09 2018-12-18 中国航空工业集团公司洛阳电光设备研究所 A kind of single-photon laser distance measuring method and device removing range ambiguity
CN108089194A (en) * 2017-12-15 2018-05-29 中国科学院光电技术研究所 A kind of photon counting laser radar based on compound pseudorandomcode

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Compact Real-Time Inter-Frame Histogram Builder for 15-Bits High-Speed ToF-Imagers Based on Single-Photon Detection;Ion Vornicu et al.;IEEE Sensors Journal;20181209;第19卷(第6期);第2181-2190页 *
光子计数激光测距技术研究;侯利冰等;科学技术与工程;20130630;第13卷(第18期);第5186-5190页 *

Also Published As

Publication number Publication date
CN110632577A (en) 2019-12-31

Similar Documents

Publication Publication Date Title
CN110609291B (en) System and method for time-coded time-of-flight distance measurement
CN110632578B (en) System and method for time-encoded time-of-flight distance measurement
CN110632577B (en) Time code demodulation processing circuit and method
CN110632576B (en) Time coding demodulation processing circuit and method
CN110596722B (en) System and method for measuring flight time distance with adjustable histogram
CN110596721B (en) Flight time distance measuring system and method of double-shared TDC circuit
CN111856485B (en) Distance measuring system and measuring method
CN111487637B (en) Distance measurement system and method based on time delay
WO2021035694A1 (en) System and method for time-coding-based time-of-flight distance measurement
CN111487638B (en) Distance measurement system and method based on time delay
WO2021051479A1 (en) Interpolation-based time of flight measurement method and system
WO2021051480A1 (en) Dynamic histogram drawing-based time of flight distance measurement method and measurement system
CN112731425B (en) Histogram processing method, distance measurement system and distance measurement equipment
WO2021051481A1 (en) Dynamic histogram drawing time-of-flight distance measurement method and measurement system
GB2485995A (en) Proximity sensor
US20220187430A1 (en) Time of flight calculation with inter-bin delta estimation
CN111427230A (en) Imaging method based on time flight and 3D imaging device
CN212135134U (en) 3D imaging device based on time flight
US20220099814A1 (en) Power-efficient direct time of flight lidar
CN212341461U (en) Distance measuring system based on time delay
WO2023071908A1 (en) Distance measurement method and distance measurement system
CN114236504A (en) dToF-based detection system and light source adjusting method thereof
WO2021035695A1 (en) System and method for measuring distance by time of flight based on time codes
WO2021035696A1 (en) Time code demodulation processing circuit and method
WO2021035697A1 (en) Time code demodulation processing circuit and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant