WO2021035695A1 - 用于时间编码时间飞行距离测量的系统及方法 - Google Patents
用于时间编码时间飞行距离测量的系统及方法 Download PDFInfo
- Publication number
- WO2021035695A1 WO2021035695A1 PCT/CN2019/103737 CN2019103737W WO2021035695A1 WO 2021035695 A1 WO2021035695 A1 WO 2021035695A1 CN 2019103737 W CN2019103737 W CN 2019103737W WO 2021035695 A1 WO2021035695 A1 WO 2021035695A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- pulse
- histogram
- photon
- superimposed
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/483—Details of pulse systems
- G01S7/486—Receivers
Definitions
- the present invention relates to the field of computer technology, in particular to a system and method for time-coded time flight distance measurement.
- the Time of Flight (TOF) method calculates the distance of an object by measuring the flight time of the beam in space. Because of its high accuracy and large measurement range, it is widely used in consumer electronics, unmanned aerial vehicles, AR/ VR and other fields.
- Distance measurement systems based on the time-of-flight principle, such as time-of-flight depth cameras and lidars, often include a light source emitting end and a receiving end.
- the light source emits a beam to the target space to provide illumination, and the receiving end receives the beam reflected by the target. Calculate the distance of the object by calculating the time required for the beam to be reflected and received.
- the transmitter emits a pulsed beam to the target.
- the pulsed beam is emitted at a certain frequency.
- the time interval between adjacent pulses (pulse period) must not be less than the maximum flight time corresponding to the maximum measurement distance of the system. In order to avoid the situation that the signal cannot be recognized. Therefore, the frame rate of the system is often limited by the maximum measurement distance. When the measurement distance of the system reaches 100 meters or more, the frame rate is very low, and it is difficult to meet the high frame rate requirements of some practical applications.
- the present application provides a system and method for time-coded time-of-flight distance measurement.
- a system for measuring flight distance in random time code time including:
- a transmitter configured to emit a light signal pulse train with a double random time code, the pulse train including N pulse groups transmitted in the form of a second random time code, and the pulse group includes n pulse groups with a first random time Pulses emitted in coded form;
- a collector configured to collect photons in the optical signal pulse train reflected back by the object
- the processing circuit is connected to the transmitter and the collector, and is configured to count the photons to form a single-photon count timing string of N pulse group periods; and is based on the first random time code and the N Draw a histogram of a single-photon counting sequence of pulse group cycles.
- the processing circuit is configured to determine the time corresponding to the pulse waveform in the histogram; and determine the flight time according to the time corresponding to the pulse waveform.
- drawing a histogram includes:
- the superimposed total time sequence string is superimposed according to the first random time code to form the histogram.
- drawing a histogram includes:
- the photon counts in the corresponding time units between the N superimposed time series are superimposed to form the histogram.
- the superimposing according to the first random time code includes:
- the subsequent ones in the sequence string are separated from the starting unit by ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...+ ⁇ t (n-1)
- the photon count value in all time units is superimposed with the photon count value in the starting unit, and the superimposed photon count is used as the photon count value in the starting time unit, where
- the first random time code is [ ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...+ ⁇ t (n-1) ].
- a method for measuring flight distance in random time code time including the following steps:
- a histogram is drawn based on the first random time code and the single-photon counting sequence of N pulse group periods.
- the method further includes the following steps:
- the flight time is determined according to the time corresponding to the pulse waveform.
- drawing the histogram includes the following steps:
- the superimposed total time sequence string is superimposed according to the first random time code to form the histogram.
- drawing the histogram includes the following steps:
- the photon counts in the corresponding time units between the N superimposed time series are superimposed to form the histogram.
- the superimposing according to the first random time code includes:
- the subsequent ones in the sequence string are separated from the starting unit by ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...+ ⁇ t (n-1)
- the photon count value in all time units is superimposed with the photon count value in the starting unit, and the superimposed photon count is used as the photon count value in the starting time unit, where
- the first random time code is [ ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...+ ⁇ t (n-1) ].
- the present invention provides a system and method for time-coded time flight distance measurement.
- the present invention can allow a transmitter to transmit pulse trains with a pulse period that is much lower than the maximum measurement range corresponding to the maximum flight time. Improve the frame rate. Since the system and method of the preferred embodiment of the present invention do not collect photons in the entire frame period, it can not only effectively reduce ambient light noise, but also can greatly reduce the entry of photons emitted by other devices when multiple devices coexist, thereby resisting multi-devices. The interference effect is better.
- 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 showing that the corresponding time code is a regular time code according to an embodiment of the present invention, and the transmitter transmits a pulse train containing n pulses with a pulse period ⁇ t.
- Fig. 2(b) is a schematic diagram showing that the corresponding time code is a regular time code according to an embodiment of the present invention, and the collector successively receives the photons in the pulse train reflected by the target after time t.
- Fig. 3(a) is a schematic diagram of a frame period single-photon counting sequence string of regular time encoding according to an embodiment of the present invention.
- Fig. 3(b) is a histogram formed after superimposing regular time codes according to an embodiment of the present invention.
- Fig. 4(a) is a schematic diagram of the corresponding time code being a random time code according to an embodiment of the present invention, and the transmitter transmits a pulse train containing n pulses in a random time interval.
- Fig. 4(b) is a schematic diagram showing that the corresponding time code is a random time code according to an embodiment of the present invention, and the collector successively receives the photons in the pulse train reflected by the target after time t.
- Fig. 5(a) is a schematic diagram of a frame period single photon counting sequence string of random time encoding according to an embodiment of the present invention.
- Fig. 5(b) is a histogram formed after random time code superposition according to an embodiment of the present invention.
- Fig. 6(a) is a schematic diagram showing that the corresponding time code is a double random time code according to an embodiment of the present invention, and the transmitter transmits N*n pulses in a double random time interval.
- Fig. 6(b) is a schematic diagram showing that the corresponding time code is a double random time code according to an embodiment of the present invention, and the collector successively receives photons in the pulse train reflected by the target after time t.
- Fig. 7(a) is a schematic diagram of a single-photon counting sequence of N pulse group periods with double random time coding according to an embodiment of the present invention.
- Fig. 7(b) is a histogram formed after double random time coding is superimposed 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 present invention.
- connection can be used for fixing or circuit connection.
- first and second are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with “first” and “second” may explicitly or implicitly include one or more of these features.
- “plurality” means two or more, unless otherwise specifically defined.
- the invention provides a time-flight distance measuring system, which has stronger anti-ambient light ability and higher resolution.
- Fig. 1 is a schematic diagram of a time-of-flight distance measurement system according to an embodiment of the present invention.
- the distance measurement system 10 includes a transmitter 11, a collector 12, and a processing circuit 13.
- the transmitter 11 provides a emitted light beam 30 to the 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 the light signals (photons) of the reflected light beam 40 are collected by the collector 12.
- the processing circuit 13 is connected to the transmitter 11 and the collector 12 respectively, and the trigger signals of the transmitter 11 and the collector 12 are synchronized to calculate the light beam from the transmitter
- the time required for 11 to be emitted and received by the collector 12, that is, the flight time t between the emitted light beam 30 and the reflected light beam 40, further, the distance D of the corresponding point on the object can be calculated by the following formula:
- c is the speed of light.
- the transmitter 11 includes a light source 111 and an optical element 112.
- the light source 111 can be a light source such as a light emitting diode (LED), an edge emitting laser (EEL), a vertical cavity surface emitting laser (VCSEL), etc., or an array light source composed of multiple light sources.
- the array light source 111 is a monolithic semiconductor
- a plurality of VCSEL light sources are generated on the substrate to form a VCSEL array light source chip.
- 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 light beams outward under the control of the processing circuit 13.
- the light source 111 emits a pulsed light beam at a certain frequency (pulse period) under the control of the processing circuit 13, which can be used in the direct time flight method ( In Direct TOF measurement, the frequency is set according to the measurement distance, for example, it can be set to 1MHz ⁇ 100MHz, and the measurement distance is from several meters to several hundred meters. It is understandable that it may be a part of the processing circuit 13 or a sub-circuit independent of the processing circuit 13 to control the light source 111 to emit related light beams, such as a pulse signal generator.
- the optical element 112 receives the pulsed beam from the light source 111, and optically modulates the pulsed beam, such as diffraction, refraction, reflection, etc., and then emits the modulated beam into space, such as a focused beam, a flood beam, and a structured light beam. Wait.
- the optical element 112 may be a lens, a diffractive optical element, a mask, a mirror, etc., or may be a MEMS galvanometer.
- the processing circuit 13 can be an independent dedicated circuit, such as a dedicated SOC chip, FPGA chip, ASIC chip, etc., or a general-purpose processor.
- a dedicated SOC chip such as a dedicated SOC chip, FPGA chip, ASIC chip, etc.
- a general-purpose processor such as a general-purpose processor.
- the processor in the terminal can be used as at least a part 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 and guides at least part of the modulated light beam reflected by the object to the pixel unit 121.
- the pixel unit 121 is composed of a single photon avalanche photodiode (SPAD), or an array pixel unit composed of multiple SPAD pixels.
- the array size of the array pixel unit represents the resolution of the depth camera, such as 320x240 Wait.
- SPAD can respond to the incident single photon to realize the detection of single photon. Because of its high sensitivity and fast response speed, it can realize long-distance and high-precision measurement.
- SPAD can count single photons, such as the use of time-correlated single photon counting (TCSPC) to realize the collection of weak light signals and the calculation of flight time .
- TCSPC time-correlated single photon counting
- connected to the pixel unit 121 also includes a readout circuit composed of one or more of a signal amplifier, a time-to-digital converter (TDC), an analog-to-digital converter (ADC) and other devices (not shown in the figure).
- TDC time-to-digital converter
- ADC analog-to-digital converter
- these circuits can be integrated with the pixels, and they can also be part of the processing circuit 13. For ease of description, the processing circuit 13 will be collectively regarded.
- the distance measurement system 10 may also include a color camera, an infrared camera, an IMU, and other devices, and the combination of these devices can achieve richer functions, such as 3D texture modeling, infrared face recognition, SLAM and other functions.
- the transmitter 11 and the collector 12 can also be arranged in a coaxial form, that is, the two are realized by optical devices with reflection and transmission functions, such as a half mirror.
- a single photon incident on the SPAD pixel will cause an avalanche
- the SPAD will output an avalanche signal to the TDC circuit
- the TDC circuit will detect the time interval between the photon emission from the emitter 11 and the avalanche.
- the time interval is passed through a time-correlated single photon counting (TCSPC) circuit for histogram statistics to recover the waveform of the entire pulse signal, so as to achieve accurate flight time detection, and finally calculate the distance information of the object according to the flight time.
- TCSPC time-correlated single photon counting
- the maximum measurement range of the distance measurement system is Dmax
- the corresponding maximum flight time is Generally, ⁇ t ⁇ t 1 is required to avoid signal aliasing, where c is the speed of light.
- the time (frame period) to realize a single distance measurement will not be less than n*t 1 .
- the maximum measurement range is 150m
- the corresponding pulse period ⁇ t 1us
- the frame rate will be less than 10fps. It can be seen that the maximum measurement range in the TCSPC method limits the pulse period, which further affects the frame rate of distance measurement.
- the system and method for time-coded time-of-flight measurement provided by the present invention can be implemented by several different time-coded pulse modulation and demodulation schemes, which are described in detail as follows.
- FIGs 2(a) and 2(b) are schematic diagrams of time-coded pulse modulation according to an embodiment of the present invention.
- the transmitter 11 will be much smaller than the maximum flight time corresponding to the maximum measurement range Dmax
- the pulse period ⁇ t transmits a pulse train, and the pulse train contains n pulses, as shown in Figure 2(a). If the measured target is at D and the corresponding flight time is t, the collector 12 will successively receive the photons in the pulse train reflected by the target after the time t, as shown in Fig. 2(b).
- the frame period T is set to T ⁇ (n-1) ⁇ t+t 1 , that is, when the target is at the maximum measurement distance, the last in the pulse train
- the time required for a pulse to be transmitted by the transmitter 11 until received by the collector 12 is exactly t 1 , which ensures that all pulse trains in a single frame period will be received and there will be no adjacent frame periods
- the waveform of each pulse in the transmitted pulse train is often not as regular as the square wave shown in the figure, so the figure is only used as an example.
- the received pulse train is only an example, and what the collector 12 receives is actually a photon number sequence that can reflect the received pulse train, which will be described in detail later.
- the present invention provides a new time-coded continuous single-photon counting demodulation method.
- Figures 3(a) and 3(b) are time-coded continuous single-photon counting demodulation methods according to an embodiment of the present invention. While the transmitter 11 emits a pulse train containing n pulses, the collector 12 will be activated to collect part of the photons in the pulse reflected from the target, and the processing circuit 13 will process and record the corresponding time of each incident photon, such as Use the TDC circuit to collect the incident photon time, and then use the processing circuit to identify and record the photon time, and finally form the frame period single photon counting time series as shown in Figure 3(a). Each square of the time series is It is the minimum time unit determined by the TDC time resolution.
- the time sequence string can be acquired by any appropriate method and stored in the memory, such as continuous acquisition by a TDC with a higher bandwidth, or acquisition by a TDC with a lower bandwidth through multiple acquisitions and splicing.
- the frame period single photon counting time series can also be collected by other types of circuits.
- the sampling circuit can respond to the SPAD avalanche signal to directly obtain the time series. Therefore, the frame period single-photon counting sequence can also be referred to as the frame period single-photon sampling sequence.
- the collected frame period single photon counting time series is stored in the memory, and then the histogram circuit in the processor 13 draws the histogram based on the time series, which is similar to the traditional histogram drawing in TCSPC. The principle is different.
- the histogram in this embodiment will adopt a time-coded continuous single-photon count superposition method.
- the minimum time unit (minimum storage unit bin) of the histogram is the same as the minimum time unit of the time series. For the time unit to be drawn, superimposition is performed according to the time code when the burst is transmitted, such as sequentially Overlay.
- the pulse train emits a total of n pulses with a pulse period ⁇ t, and the corresponding time code is a regular time code, namely [ ⁇ t, 2 ⁇ t, 3 ⁇ t,..., (n-1) ⁇ t].
- the superposition based on the time code refers to the current
- the time unit to be drawn is the starting unit, and the photon counts in all time units that are separated from the starting unit by ⁇ t, 2 ⁇ t, 3 ⁇ t,..., (n-1) ⁇ t in the sequence string and the starting unit
- the photon count values are sequentially superimposed, and the superimposed photon count is used as the value of the time unit in the histogram.
- the superimposition of the first time unit of the histogram as shown by the arrow in Figure 3(a).
- the histogram formed by time-coding and superimposing multiple time units is shown in Figure 3(b).
- the collector 12 has the highest probability of collecting a photon counting event only when each pulse in the pulse train emitted by the transmitter 11 is reflected back to the collector 12 during the entire frame period.
- the probability of collecting photons at the moment of receiving the pulse train shown in Figure 2(b) is the highest, which means that the photon count value on the corresponding time unit in the time series in Figure 3(a) is The probability of "1" is significantly higher than other time units.
- the time resolution of 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.
- the obtained histogram will show much Each time unit has a higher value and forms a waveform diagram reflecting the pulse shape. In this case, the time corresponding to the highest point of the waveform diagram can be used as the flight time to be measured.
- the photon acquisition time does not need to cover the entire frame period, but only needs to be within the time of [(n-1) ⁇ t+t 1 ] Acquisition, that is, the length of the frame period single photon counting sequence string is [(n-1) ⁇ t+t 1 ], and data processing can be performed during the rest of the frame period, such as histogram calculation, flight time calculation, and distance calculation Wait.
- the size of the smallest time unit may be an integer multiple of each time unit in the frame period single-photon count sequence string, such as 2 times, thus Can reduce the amount of calculation and memory required for histogram drawing.
- the interval between adjacent time units can be greater than 1, for example, time coding superimposition is performed every other time unit, which can also reduce The amount of calculation and memory required for drawing.
- the total time length of the histogram is [(n-1) ⁇ t+t 1 ], when the time unit after time t 1 is superimposed, there will be no more photon counts in the time unit in the time series. Values are superimposed, and the time unit involved in the superposition will gradually decrease.
- the preferred embodiment does not need to be drawn with the same frame cycle length histogram, but only needs to draw from zero to the period histogram of t 1, since only the target within the maximum measurement range, The first wave crest must appear, and the flight time t can be determined with the first wave crest.
- the pulse waveform in the histogram when searching for the pulse waveform in the histogram, it can be searched by setting a threshold value. Values above the threshold value are retained, and values below the threshold value are regarded as noise.
- the drawing order of the histogram can also be changed, that is, it is not necessary to start from 0 to draw time unit by time unit.
- the dichotomy can be used to draw from the middle time.
- the first pulse waveform Once the first pulse waveform is found, continue drawing in the direction of the earlier time unit until no waveform is found in the earlier time period when the current pulse waveform is separated by ⁇ t. At this time, it is considered that the time corresponding to the current pulse waveform is the flight time of the target.
- any suitable search algorithm that can locate the first pulse waveform is suitable for this scheme.
- the total time length of the histogram will be adaptively changed based on the execution process of the search algorithm.
- the calculation will stop, and then the first pulse waveform can be used for The wave crest position is determined to obtain the flight time t.
- the total time length of the adaptively changed histogram will not exceed the maximum flight time t 1 , so that the amount of calculation and memory consumption can be greatly reduced.
- the process of drawing a frame period single-photon count time series string and drawing a histogram based on the time series string can also be combined into one, that is, the histogram can be drawn directly based on the photon count, or of course.
- the two steps to more than three steps.
- the implementation principles are the same, but the implementation forms are different, and the corresponding hardware circuits will also be different. For example, the detailed description of the combination of two will be described in the specific processing circuit design later.
- the realization form of one can reduce the storage capacity. Therefore, any realization form that utilizes this principle falls within the protection scope of the present invention.
- FIG. 4(a) and 4(b) are schematic diagrams of random time-coded pulse modulation according to an embodiment of the present invention.
- the pulses in this embodiment will be transmitted at preset random (pseudo-random) intervals, that is, the pulses are coded with random time [ ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...+ ⁇ t (n-1) ], ⁇ t i represents the i-th pulse and the (i+1)th pulse
- the time interval of each pulse, i 1, 2,...(n-1), as shown in Figure 4(a).
- the collector 12 will successively receive the photons in the pulse train reflected by the target after the time t, as shown in Fig. 4(b).
- the frame period T is set to That is, when the most target is located at the maximum measurement distance, the time required for the last pulse in the pulse train from the beginning of reflection by the transmitter 11 to the end of being received by the collector 12 is exactly t 1 , which ensures that it is in a single frame All the bursts in the period will be received and will not be affected by the pulses in the adjacent frame period.
- Figures 5(a) and 5(b) are random time coding continuous single photon counting demodulation methods according to an embodiment of the present invention.
- the collector 12 will be activated to collect some of the photons in the pulse reflected from the target, and the processing circuit 13 will process and record the corresponding time of each incident photon, and finally form the frame period single photon count time series as shown in Figure 5(a).
- the time series records the photon count value in each time unit, and the time series
- the total time length of the string is the frame period.
- the collected frame period single photon counting time series is stored in the memory, and then the histogram circuit in the processor 13 draws a histogram based on the time series, which is similar to Figure 3(a) and Figure 3. Similar to the embodiment shown in (b), the histogram in this embodiment will also adopt a time-coded continuous single-photon count superposition method. The difference is that the time code is a random time code. For the time unit to be drawn, it will be coded according to the time when the burst is transmitted [ ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,...
- the current time unit to be drawn will be the starting unit, and the subsequent sequence in the sequence will be separated from the starting unit by ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...
- the photon count value in all time units of + ⁇ t (n-1) is sequentially superimposed with the photon count value in the starting unit, and the superimposed photon count is used as the value of the time unit in the histogram.
- the histogram formed by time-coding and superimposing multiple time units is shown in Figure 5(b).
- the size of the smallest time unit may be an integer multiple of the frame period single-photon count sequence string, such as 2 times, thereby reducing the histogram drawing The amount of calculation and memory required at the time.
- the interval between adjacent time units can be greater than 1, for example, time coding superimposition is performed every other time unit, which can also reduce The amount of calculation and memory required for drawing.
- the total time length of the histogram is [(n-1) ⁇ t+t 1 ], when the time unit after time t 1 is superimposed, there will be no more photon counts in the time unit in the time series. Values are superimposed, and the time unit involved in the superposition will gradually decrease.
- the preferred embodiment does not need to be drawn with the same frame cycle length histogram, but only needs to draw from zero to the period histogram of t 1, since only the target within the maximum measurement range, The first wave crest must appear, and the flight time t can be determined with the first wave crest.
- the pulse waveform in the histogram when searching for the pulse waveform in the histogram, it can be searched by setting a threshold value. Values above the threshold value are retained, and values below the threshold value are regarded as noise.
- the drawing order of the histogram can also be changed, that is, it is not necessary to start from 0 to draw time unit by time unit.
- the dichotomy can be used to draw from the intermediate time, so that the pulse waveform can be quickly found.
- the use of any suitable search algorithm that can locate the pulse waveform is suitable for this solution.
- the total time length of the histogram will be adaptively changed based on the execution process of the search algorithm. Once the pulse waveform is detected, the calculation will stop, and then the pulse waveform can be used to determine the peak position to obtain the flight time t .
- the process of drawing a frame period single photon count time series and drawing a histogram based on the time series can also be combined into one, that is, the histogram can be drawn directly based on the photon count, of course, the two can also be drawn.
- the two steps are expanded into more than three steps.
- the implementation principles are the same, but the implementation forms are different, and the corresponding hardware circuits will also be different. For example, the detailed description will be combined into one in the specific processing circuit design later.
- the realization form of can reduce the storage capacity, so any realization form using this principle is within the protection scope of the present invention.
- Double random time code pulse modulation and demodulation method Double 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 an embodiment of the present invention.
- the collector 12 will successively receive the photons in the pulse train reflected by the target after the time t, as shown in Fig. 6(b).
- the frame period T is set to That is, when the most target is located at the maximum measurement distance, the time required for the last pulse in the pulse train from the beginning of reflection by the transmitter 11 to the end of being received by the collector 12 is exactly t 1 , which ensures that it is in a single frame All the bursts in the period will be received and will not be affected by the pulses in the adjacent frame period.
- Fig. 7(a) and Fig. 7(b) are a double random time coding continuous single photon counting demodulation method according to an embodiment of the present invention.
- the difference from the embodiment shown in Fig. 5(a) and Fig. 5(b) is that while the transmitter 11 transmits N*n pulses, the collector 12 does not collect during the entire pulse train transmission time period.
- the collector 12 will be activated to collect part of the photons in the pulse reflected from the target only during the time that each pulse group is emitted (considering the photon return time difference, it can be appropriately greater than the time period of the pulse group), the processing circuit 13 The corresponding time of each incident photon incidence will be processed and recorded, and finally a single photon counting time series of N pulse group cycles as shown in Figure 7(a) will be formed, and each time unit of the time series will record the photon count value. , The total time length of the sequence string is the time period corresponding to the pulse group.
- the collected N pulse group period single photon counting time series are stored in the memory, and then the histogram circuit in the processor 13 draws a histogram based on the time series.
- the method of superimposing and fusing the traditional TCSPC with the time code in the embodiment shown in Figs. 3 and 5 is actually used. That is to say, the drawing is performed in two steps (the two steps are not sequential, and can also be crossed).
- the first step is similar to the traditional TCSPC method, that is, the photon counting in the corresponding time unit between the N pulse group period single photon counting sequence series Superimpose, as shown by the upward plus arrow in Figure 7(a); in the second step, the total sequence obtained in the first step is coded according to the first time of pulse emission in the pulse group [ ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...+ ⁇ t (n-1) ] superimpose, that is, take the current time unit to be superimposed as the starting unit, and combine the subsequent ones in the sequence string with this
- the starting unit is separated by ⁇ t 1 , ⁇ t 1 + ⁇ t 2 , ⁇ t 1 + ⁇ t 2 + ⁇ t 3 ,..., ⁇ t 1 + ⁇ t 2 ...+ ⁇ t (n-1)
- the photon count value and the starting unit in all time units The photon count values in are sequentially superimposed, and
- time code superposition can also be performed first and then TCSPC, that is, the single photon counting sequence of each pulse group period is superimposed according to the first time code, as shown in the horizontal plus sign in Figure 7(a) As shown; and then superimpose the corresponding time units in the N superimposed time series, as shown by the arrow plus sign in Figure 7 (a). Finally, the histogram shown in Figure 7(b) will be obtained.
- the size of the minimum time unit of the histogram can be an integer multiple of the minimum time unit of the time series.
- the interval between two adjacent time units of the histogram can also be greater than 1, for example, time code superimposition is performed every other time unit, which can also reduce the amount of calculation and memory required for rendering.
- the time length of the histogram can be adjusted adaptively and does not need to be the same as the period length of the pulse group. Generally, only need to draw the histogram from 0 to t 1 in the time period, because only when there is a target in the maximum measurement range, the first wave crest will definitely appear, and the first wave crest can be determined Flight time t is out.
- the pulse waveform in the histogram when searching for the pulse waveform in the histogram, it can be searched by setting a threshold value. Values above the threshold value are retained, and values below the threshold value are regarded as noise.
- the drawing order of the histogram can also be changed, that is, it is not necessary to start from 0 to draw time unit by time unit.
- the dichotomy can be used to draw from the intermediate time, so that the pulse waveform can be quickly found.
- the use of any suitable search algorithm that can locate the pulse waveform is suitable for this solution.
- the total time length of the histogram will be adaptively changed based on the execution process of the search algorithm. Once the pulse waveform is detected, the calculation will stop, and then the pulse waveform can be used to determine the peak position to obtain the flight time t .
- the present invention also provides a time code demodulation processing circuit and processing method.
- Fig. 8 is a time code demodulation processing circuit according to an embodiment of the present invention.
- the time code demodulation processing circuit 82 is connected to the pixel unit 81.
- the pixel unit 81 may be a SPAD pixel for detecting the photons of the reflected light beam.
- the processing circuit 82 detects The arrival of each photon event is processed to calculate the flight time of the photon back and forth.
- the time code demodulation processing circuit 82 of this embodiment includes a sampling circuit 821, a timing string memory 822, a read address register 823, a time code sequence memory 824, an addition register 825, a histogram time unit counter (referred to as a bin counter) 826, and a histogram Figure memory 827.
- the pixel unit 81 After the pixel unit 81 collects the photon signal of the reflected light beam, it will output a photon detection event represented by the pulse signal.
- the sampling circuit 821 will sample the pulse signal under the control of the clock signal (for example, 1 GHz) sent by the clock generator.
- a single-photon counting timing string is formed in the frame period. It can be understood that the sampling circuit 821 may also include a TDC circuit as described above, as long as it can generate a single-photon counting timing sequence from a photon counting event.
- the sampling time interval of the sampling circuit 821 is generally not less than the pulse width, so as to avoid the situation that photons cannot be sampled at a time corresponding to a pulse width.
- the sampling circuit 821 when the pixel unit 81 detects a photon, the sampling circuit 821 will output a digital signal 1. When no photon is detected, the sampling circuit 821 will output a digital signal 0. Therefore, within a period of time, the sampling circuit 821 will output a digital signal of 0. A sequence of 0 and 1 is output, and the sequence formed in one frame period is the single photon counting sequence of the frame period.
- the frame period single photon counting time series sampled by the sampling circuit 821 will be sequentially stored in the time series memory 822 according to the memory unit address.
- the memory size of the time series memory 822 is different according to the sampling time, for example, when sampling The duration is 1000ns, the sampling interval is 1ns, and the corresponding memory is 1000bits.
- the time code sequence memory 824 is used to store pre-written time code sequences, 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 to store the address of the memory unit in the time series memory 822 that needs to be read out. Under the control of the clock signal, the time series memory 822 will read the data at the corresponding address according to the address in the read address register 823 to Addition register 825. Subsequently, the read address register 823 will automatically jump to the next address that needs to be read. For example, if the current address is x, it will automatically jump to the next address that needs to be read based on the time code sequence stored in the time code sequence memory 824. The address of: x+ ⁇ t i , where ⁇ t i is the time interval sequence value stored in the time code sequence memory 824.
- the addition register 825 is used to perform addition calculations, and add the data currently stored in it with the data in the corresponding storage unit transferred from the time sequence memory 822. When all the sequences in the time code sequence memory 824 have been read, the The addition register 825 completes the calculation of a histogram time unit bin, and then writes this value into the histogram memory 827 to draw the histogram.
- the bin counter 826 is used to store the number of the currently drawn bin. When all the sequences in the time code sequence memory 824 are read, that is, after the current bin drawing is finished, pulses are sent to the bin counter 826 and the addition register 825, and the bin counter 826 The number is automatically +1 to start the drawing of the next bin, the value of this bin is written into the histogram memory 827, and the addition register 825 is cleared to 0 at the same time.
- the processing circuit 82 may further calculate the flight time based on the histogram.
- the sampling of the data and the drawing of the histogram are performed sequentially in time sequence, that is, the sampling of the frame period single photon counting time series is first saved in the time series memory 822, and then the time series is executed. Data processing to obtain histogram.
- a multi-timing string memory 822 may be used, for example, a dual timing string memory 822 is used, and when one frame of data is sampled, it is stored in the first timing string memory 822. Subsequently, when the histogram is drawn using the time series in the first time series memory 822, the sampling circuit 821 works synchronously, and saves the sampled 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. In this way, the sampling time can be greatly increased, and the frame rate can be increased.
- the present invention also provides a time code demodulation method, which includes the following steps:
- the sampling circuit 821 samples the photon events of the reflected light beam detected by the pixel unit 81 to form a frame period single photon counting time series and save it in the time series memory 822;
- the read address register 823 read the data at the corresponding address from the timing string memory 822 to the addition register 825;
- the addition register 825 executes the addition operation between the data currently saved and the data read out by the timing string memory 822, and transmits the operation result to the corresponding bin of the histogram memory 827 to draw a histogram;
- the number of the previously drawn bin is stored in the bin counter 826, and the number is automatically increased by 1 when the current bin drawing is completed.
- the embodiment shown in FIG. 8 has higher requirements on the memory.
- the processing circuit is monolithically integrated, the capacity of the on-chip memory will be higher. It is not conducive to mass production of chips.
- the present invention provides a demodulation method for real-time histogram drawing.
- FIG 9 is a real-time time code demodulation processing circuit according to an embodiment of the present invention.
- the time code demodulation processing circuit 92 is connected to the pixel unit 91.
- the pixel unit 91 may be a SPAD pixel for detecting photons of the reflected light beam.
- the processing circuit 92 Each detected photon event is processed to calculate the round-trip flight time of the photon.
- the time unit that is, the time point of the corresponding photon event
- the sequence string required for each bin to perform the superposition calculation is based on time
- the code is known. Based on this, the corresponding relationship between each bin address and the time unit address in the time sequence that needs to be superimposed can be saved in advance.
- the photon count value output by the sampling circuit 921 in real time will be based on the corresponding relationship, and the current The bin corresponding to the photon count value, and then the photon count value is gated to enter the corresponding bin for superposition.
- the time code demodulation processing circuit 92 of this embodiment includes a sampling circuit 921, a time code sequence controller 922, a time code sequence control memory 923, and a histogram memory 924.
- the sampling circuit 921 samples the pulse signal under the control of the clock signal (for example, 1 GHz) sent by the clock generator to output the sampling signal ( That is, the photon count value is 0 or 1), the sampling signal is sent to the time code sequence controller 922, and the time code sequence controller 922 will control the corresponding relationship stored in the memory 923 according to the time code sequence to control the sampling signal to enter the histogram memory 924
- the sampling signal can be selected by means of three-state gates, transmission gates, etc. to superimpose in the corresponding bins.
- the time code sequence control memory 923 saves the corresponding relationship between the sampling signal and the bin that needs to be turned on. For example, it contains a storage space of n x j, where n is the number of time bins, and j is the number of bins in the pixel unit. The number of bits of the measurement sequence is the same. For each clock function, the corresponding n bits of data are transmitted to the time code sequence controller 922 to control the gating of the corresponding sampling signal.
- the present invention also provides a time code demodulation method, which includes the following steps:
- the time code sequence controller 922 controls the corresponding relationship stored in the memory 923 according to the time code sequence to control the sampling signal to enter the corresponding bin in the histogram memory 924 for superimposition to draw a histogram.
- processing circuits shown in Figs. 8 and 9 are not only applicable to the demodulation methods in the embodiments shown in Figs. 3(a), 3(b) and 5(a), 5(b), but are also applicable The demodulation method in the embodiment shown in Figs. 7(a) and 7(b).
- each module is described independently. In practical applications, multiple modules can also be combined, such as timing string memory, time code memory, etc. It is the same memory. Therefore, equivalent alternatives through merging, splitting, etc. should also be regarded as the protection scope of the present invention.
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
一种用于时间编码时间飞行距离测量的系统及方法,该系统包括:发射器(11),经配置以发射具有双重随机时间编码的光信号脉冲串,所述脉冲串包括N个以第二随机时间编码形式发射的脉冲组,所述脉冲组内包含n个以第一随机时间编码形式发射的脉冲;采集器(12),经配置以采集被物体反射回的所述光信号脉冲串中的光子;处理电路(13),与所述发射器(11)以及所述采集器(12)连接,经配置以对所述光子进行计数以形成N个脉冲组周期单光子计数时序串;并基于所述第一随机时间编码以及所述N个脉冲组周期单光子计数时序串绘制直方图。该系统及方法允许发射器(11)以远低于最大测量范围对应最大飞行时间的脉冲周期来发射脉冲串,从而可以极大程度上提升帧率。
Description
本发明涉及计算机技术领域,尤其涉及一种用于时间编码时间飞行距离测量的系统及方法。
时间飞行(Time of flight,TOF)法通过测量光束在空间中的飞行时间来计算物体的距离,由于其具有精度高、测量范围大等优点被广泛应用于消费电子、无人架驶、AR/VR等领域。
基于时间飞行原理的距离测量系统比如时间飞行深度相机、激光雷达等系统往往包含一个光源发射端以及接收端,光源向目标空间发射光束以提供照明,接收端接收由目标反射回的光束,系统再通过计算光束由发射到反射接收所需要的时间来计算物体的距离。利用直接时间飞行法进行测量时,发射端向目标发射脉冲光束,该脉冲光束以一定的频率进行发射,相邻脉冲的时间间隔(脉冲周期)要求不小于系统最大测量距离对应的最大飞行时间,以避免信号无法识别的情况出现。因此,系统的帧率往往受到最大测量距离的局限,当系统测量距离达到百米甚至更远时,帧率则非常低,难以满足一些实际应用对高帧率的需求。
另外,当多个系统在相同的空间中同步工作时,容易出现干扰的情形,即某一个系统的接收端除了会接收到来自自身发射端的光信号还会接收其他系统发射端发射过来的光信号,从而引起误差。
以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
为了解决系统的帧率受到最大测量距离的限制以及多机干扰问题中的至少一种,本申请提供了一种用于时间编码时间飞行距离测量的系统及方法。
一种用于随机时间编码时间飞行距离测量的系统,包括:
发射器,经配置以发射具有双重随机时间编码的光信号脉冲串,所述脉冲串包括N个以第二随机时间编码形式发射的脉冲组,所述脉冲组内包含n个以第一随机时间编码形式发射的脉冲;
采集器,经配置以采集被物体反射回的所述光信号脉冲串中的光子;
处理电路,与所述发射器以及所述采集器连接,经配置以对所述光子进行计数以形成N个脉冲组周期单光子计数时序串;并基于所述第一随机时间编码以及所述N个脉冲组周期单光子计数时序串绘制直方图。
进一步地,所述处理电路经配置以确定所述直方图中的脉冲波形对应的时间;并根据所述脉冲波形对应的时间确定飞行时间。
进一步地,所述绘制直方图包括:
将所述N个脉冲组周期单光子计数时序串之间相应时间单元中的光子计数进行叠加;
将叠加之后的总时序串根据所述第一随机时间编码进行叠加以形成所述直方图。
进一步地,所述绘制直方图包括:
将所述N个脉冲组周期单光子计数时序串根据所述第一随机时间编码进行叠加;
将N个叠加后的时序串之间相应时间单元中的光子计数进行叠加以形成所述直方图。
进一步地,所述根据所述第一随机时间编码进行叠加包括:
以当前要叠加的时间单元为起始单元,将所述时序串中后续与所述起始单元相隔Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)的所有时间单元中的光子计数值与所述起始单元中的光子计数值进行叠加,叠加后的光子计数作为所述起始时间单元的光子计数数值,其中所述第一随机时间编码是[Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)]。
一种用于随机时间编码时间飞行距离测量的方法,包括如下步骤:
发射具有双重随机时间编码的光信号脉冲串,所述脉冲串包括N个以第二随机时间编码形式发射的脉冲组,所述脉冲组内包含n个以第一随机时间编码形式发射的脉冲;
采集被物体反射回的所述光信号脉冲串中的光子;
对所述光子进行计数以形成N个脉冲组周期单光子计数时序串;
基于所述第一随机时间编码以及所述N个脉冲组周期单光子计数时序串绘制直方图。
进一步地,所述方法还包括如下步骤:
确定所述直方图中的脉冲波形对应的时间;
根据所述脉冲波形对应的时间确定飞行时间。
进一步地,所述绘制直方图包含如下步骤:
将所述N个脉冲组周期单光子计数时序串之间相应时间单元中的光子计数进行叠加;
将叠加之后的总时序串根据所述第一随机时间编码进行叠加以形成所述直方图。
进一步地,所述绘制直方图包含如下步骤:
将所述N个脉冲组周期单光子计数时序串根据所述第一随机时间编码进行叠加;
将N个叠加后的时序串之间相应时间单元中的光子计数进行叠加以形成所述直方图。
进一步地,所述根据所述第一随机时间编码进行叠加包括:
以当前要叠加的时间单元为起始单元,将所述时序串中后续与所述起始单元相隔Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)的所有时间单元中的光子计数值与所述起始单元中的光子计数值进行叠加,叠加后的光子计数作为所述起始时间单元的光子计数数值,其中所述第一随机时间编码是[Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)]。
本发明的有益效果:
本发明提供了一种用于时间编码时间飞行距离测量的系统和方法,本发明可以允许发射器以远低于最大测量范围对应最大飞行时间的脉冲周期来发射脉冲串,从而可以极大程度上提升帧率。本发明优选实施例的系统和方法由于并非在整个帧周期内进行光子采集,不仅可以有效降低环境光噪声,同时可以大幅减小多设备共存时其他设备发射过来的光子进入,由此抗多机干扰效果更好。
图1为根据本发明实施例的时间飞行距离测量系统示意图。
图2(a)为根据本发明实施例,对应的时间编码为规则时间编码,发射器以脉冲周期Δt发射包含n个脉冲的脉冲串的示意图。
图2(b)为根据本发明实施例,对应的时间编码为规则时间编码,在t时间后采集器相继接收到被目标反射的脉冲串中的光子的示意图。
图3(a)为根据本发明实施例的规则时间编码的帧周期单光子计数时序串的示意图。
图3(b)为根据本发明实施例的规则时间编码叠加之后形成的直方图。
图4(a)为根据本发明实施例,对应的时间编码为随机时间编码,发射器以随机时间间隔的方式发射包含n个脉冲的脉冲串的示意图。
图4(b)为根据本发明实施例,对应的时间编码为随机时间编码,在t时间后采集器相继接收到被目标反射的脉冲串中的光子的示意图。
图5(a)为根据本发明实施例的随机时间编码的帧周期单光子计数时序串的示意图。
图5(b)为根据本发明实施例的随机时间编码叠加之后形成的直方图。
图6(a)为根据本发明实施例,对应的时间编码为双重随机时间编码,发射器以双 重随机时间间隔的方式发射N*n个脉冲的示意图。
图6(b)为根据本发明实施例,对应的时间编码为双重随机时间编码,在t时间后采集器相继接收到被目标反射的脉冲串中的光子的示意图。
图7(a)是根据本发明实施例的双重随机时间编码的N个脉冲组周期单光子计数时序串的示意图。
图7(b)为根据本发明实施例的双重随机时间编码叠加之后形成的直方图。
图8是根据本发明实施例的一种时间编码解调处理电路示意图。
图9是根据本发明实施例的另一种时间编码解调处理电路示意图。
为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接即可以是用于固定作用也可以是用于电路连通作用。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
时间飞行距离测量系统
本发明提供一种时间飞行距离测量系统,其具有更强的抗环境光能力以及更高的分辨率。
图1是根据本发明一个实施例的时间飞行距离测量系统示意图。距离测量系统10包括发射器11、采集器12以及处理电路13,其中发射器11提供发射光束30至目标空间中以照明空间中的物体20,至少部分发射光束30经物体20反射后形成反射光束40,反射光束40的至少部分光信号(光子)被采集器12采集,处理电路13分别与发射 器11以及采集器12连接,同步发射器11以及采集器12的触发信号以计算光束由发射器11发出并被采集器12接收所需要的时间,即发射光束30与反射光束40之间的飞行时间t,进一步的,物体上对应点的距离D可由下式计算出:
D=c·t/2 (1)
其中,c为光速。
发射器11包括光源111、光学元件112。光源111可以是发光二极管(LED)、边发射激光器(EEL)、垂直腔面发射激光器(VCSEL)等光源,也可以是多个光源组成的阵列光源,优选地,阵列光源111是在单块半导体基底上生成多个VCSEL光源以形成的VCSEL阵列光源芯片。光源111所发射的光束可以是可见光、红外光、紫外光等。光源111在处理电路13的控制下向外发射光束,比如在一个实施例中,光源111在处理电路13的控制下以一定的频率(脉冲周期)发射脉冲光束,可以用于直接时间飞行法(Direct TOF)测量中,频率根据测量距离进行设定,比如可以设置成1MHz~100MHz,测量距离在几米至几百米。可以理解的是,可以是处理电路13中的一部分或者独立于处理电路13存在的子电路来控制光源111发射相关的光束,比如脉冲信号发生器。
光学元件112接收来自光源111的脉冲光束,并将脉冲光束进行光学调制,比如衍射、折射、反射等调制,随后向空间中发射被调制后的光束,比如聚焦光束、泛光光束、结构光光束等。光学元件112可以是透镜、衍射光学元件、掩膜板、反射镜等,也可以是MEMS振镜等形式。
处理电路13可以是独立的专用电路,比如专用SOC芯片、FPGA芯片、ASIC芯片等等,也可以包含通用处理器,比如当该深度相机被集成到如手机、电视、电脑等智能终端中去,终端中的处理器可以作为该处理电路13的至少一部分。
采集器12包括像素单元121、成像透镜单元122,成像透镜单元122接收并将由物体反射回的至少部分调制光束引导到像素单元121上。在一个实施例中,像素单元121由单光子雪崩光电二极管(SPAD)组成,也可以由多个SPAD像素组成的阵列像素单元,阵列像素单元的阵列大小代表着该深度相机的分辨率,比如320x240等。SPAD可以对入射的单个光子进行响应从而实现对单光子的检测,由于其具备灵敏度高、响应速度快等优点,可以实现远距离、高精度地测量。与CCD/CMOS等组成的以光积分为原理的图像传感器相比,SPAD可以通过对单光子进行计数,比如利用时间相关单光子计数法(TCSPC)实现对微弱光信号的采集以及飞行时间的计算。一般地,与像素单元121连接的还包括由信号放大器、时数转换器(TDC)、模数转换器(ADC)等器件中的一种或多种组成的读出电路(图中未示出)。这些电路即可以与像素整合在一起,这也可以是处理电路13中的一部分,为了便于描述,将统一视作处理电路13。
在一些实施例中,距离测量系统10还可以包括彩色相机、红外相机、IMU等器件,与这些器件的组合可以实现更加丰富的功能,比如3D纹理建模、红外人脸识别、SLAM 等功能。
在一些实施例中,发射器11与采集器12也可以被设置成共轴形式,即二者之间通过具备反射及透射功能的光学器件来实现,比如半透半反镜等。
在利用SPAD的直接时间飞行法距离测量系统中,单个光子入射SPAD像素将引起雪崩,SPAD将输出雪崩信号至TDC电路,再由TDC电路检测出光子从发射器11发出到引起雪崩的时间间隔。通过多次检测之后将时间间隔通过时间相关单光子计数(TCSPC)电路进行直方图统计以恢复出整个脉冲信号的波形,从而实现精确的飞行时间检测,最后根据飞行时间计算出物体的距离信息。假定脉冲光束发射的脉冲周期为Δt,距离测量系统的最大测量范围为Dmax,对应的最大飞行时间是
一般要求Δt≥t
1以避免信号混淆,其中c是光速。如果TCSPC要求的多次检测的次数为n,则实现单次距离测量的时间(帧周期)将不低于n*t
1。比如最大测量范围是150m,对应的脉冲周期Δt=1us,n=100000,则帧周期将不低于100ms,帧率将低于10fps。由此可见,TCSPC方法中最大测量范围限制了脉冲周期,从而进一步影响到距离测量的帧率。
为了解决这一问题,根据后文的实施例,本发明提供的用于时间编码时间飞行距离测量的系统和方法可以通过几种不同的时间编码脉冲调制及解调方案来实现,具体描述如下。
规则时间编码脉冲调制及解调方法
图2(a)和图2(b)是根据本发明一个实施例的时间编码脉冲调制示意图。发射器11将以远小于最大测量范围Dmax对应的最大飞行时间
的脉冲周期Δt发射脉冲串,脉冲串中包含n个脉冲,如图2(a)所示。若被测目标在D处,对应的飞行时间是t,则在t时间后采集器12将相继接收到被目标反射的脉冲串中的光子,如图2(b)所示。为了保证避免相邻两个帧周期中脉冲光束的相互影响,帧周期T被设置成T≥(n-1)·Δt+t
1,即当目标位于最大测量距离处时,脉冲串中的最后一个脉冲从被发射器11发射开始直到被采集器12接收到所需要的时间正好是t
1,这样就确保了在单帧周期内所有的脉冲串均会被接收且不会有相邻帧周期内的脉冲影响。在一个实施例中,最大测量范围同样假定为Dmax=150m,n=100000,但脉冲周期Δt=100ns,远小于前面实施例中的1us,帧周期T≈10ms,帧率高达100fps。
需要说明的是,发射脉冲串中的每个脉冲的波形往往不会像图中所示的方波那样规整,因此图中仅做示例作用。接收脉冲串也仅作示例,采集器12接收到的实际上是可以反映出接收脉冲串的光子数序列,将在后文中详细介绍。
若想实现如此高帧率的距离计算,传统的TCSPC方法将不再适用。本发明为此提供一种全新的时间编码连续单光子计数解调方法。
图3(a)和图3(b)是根据本发明一个实施例的时间编码连续单光子计数解调方法。在发射器11发射包含n个脉冲的脉冲串的同时,采集器12将被激活以采集来自目标反射的脉冲中的部分光子,处理电路13将处理并记录每个入射光子入射的相应时间,比如利用TDC电路采集入射的光子时间,随后利用处理电路通过对光子时间进行识别和记录,最终形成如图3(a)中所示的帧周期单光子计数时序串,该时序串每个方格即是由TDC时间分辨率决定的最小时间单元,当在该最小时间单元的时间内TDC检测到光子事件将会被记录(比如图中的光子计数值1即代表该最小时间单元内检测到光子),每个方格内的数值即是光子计数值(0或1),时序串的总时间长度可以等于帧周期。该时序串可以通过任意适当的方式获取并被保存到内存中,比如由带宽较高的TDC持续采集以获取,也可以由带宽较低的TDC通过多次采集后拼接获取。
在一个实施例中,帧周期单光子计数时序串也可以通过其他类型的电路进行采集,比如可以通过采样电路对SPAD的雪崩信号进行响应以直接得到该时序串。因此帧周期单光子计数时序串也可以称之为帧周期单光子采样时序串。
在一个实施例中,所采集到的帧周期单光子计数时序串被保存到内存中,随后由处理器13中的直方图电路基于该时序串绘制直方图,与传统的TCSPC中的直方图绘制原理不同。本实施例中的直方图将采取的是时间编码连续单光子计数叠加的方式。在一个实施例中,直方图的最小时间单元(最小存储单元bin)与时序串的最小时间单元相同,对于要绘制的时间单元而言,将根据脉冲串发射时的时间编码进行叠加,比如依次叠加。脉冲串以脉冲周期Δt发射共n个脉冲,对应的时间编码为规则时间编码,即[Δt,2Δt,3Δt,…,(n-1)Δt],基于该时间编码进行叠加指的是以当前要绘制的时间单元为起始单元,将时序串中后续与该起始单元相隔Δt,2Δt,3Δt,…,(n-1)Δt的所有时间单元中的光子计数值与起始单元中的光子计数值进行依次叠加,叠加后的光子计数作为直方图中该时间单元的数值。比如对于直方图第一个时间单元的叠加方式,如图3(a)中的箭头所示。通过对多个时间单元进行时间编码叠加之后形成的直方图如图3(b)所示。
根据目标的远近以及目标的反射率不同,每个脉冲中可能仅少数光子可能会进入采集器12中,并以一定的概率产生雪崩从而造成单次光子计数事件。从统计概率来看,采集器12在整个帧周期内仅当发射器11发射的脉冲串中的每个脉冲被目标反射回采集器12的时刻,采集到光子计数事件的概率最高。换句话说,在图2(b)中所示的接收脉冲串所在的时刻采集到光子的概率最高,也就意味着图3(a)中时序串中相对应的时间单元上光子计数值为“1”的概率要明显高于其他时间单元。因此在进行时间编码直方图叠加后,在时间t+(Δt,2Δt,3Δt,…,(n-1)Δt)将会出现波峰,即采集到的光子数最多,同时由于叠加是依次往后叠加的,因此越往后的时间波峰的值将逐渐减小。但只要确定第一个脉冲波峰所在的时间就可以计算出目标的飞行时间t了。
一般地,TDC的时间分辨率要小于脉宽,即时序串的每个时间单元的宽度要小于脉宽,在进行时间编码连续单光子计数叠加之后,所获取的直方图上将可以看到多个时间单元具备较高的数值,并形成一个反映脉冲形状的波形图,对于这种情况,可以将波形图的最高点对应的时间做为待测量的飞行时间。
可以理解的是,当帧周期T>(n-1)·Δt+t
1时,光子的采集时间无需覆盖整个帧周期,仅需要在[(n-1)·Δt+t
1]的时间内采集,即帧周期单光子计数时序串的长度为[(n-1)·Δt+t
1],在帧周期剩下的时间内可以进行数据处理,比如直方图计算、飞行时间计算以及距离计算等。
在一个实施例中,在绘制时间编码连续单光子计数叠加直方图时,其最小的时间单元的大小可以是帧周期单光子计数时序串中每个时间单元的整数倍,比如2倍,由此可以降低直方图绘制时所需要的计算量及内存。
在一个实施例中,在绘制时间编码连续单光子计数叠加直方图时,相邻的时间单元间隔,即步长可以大于1,比如每隔一个时间单元进行一次时间编码叠加,由此也可以降低绘制所需要的计算量及内存。
在一个实施例中,直方图总的时间长度为[(n-1)·Δt+t
1],对于t
1时间之后的时间单元在叠加时,将不再有时序串中的时间单元光子计数值进行叠加,参与叠加的时间单元将逐渐减小。实际上,优选的方案中并不需要绘制与帧周期长度相同的直方图,而仅需要绘制从0开始到t
1这一时间段内的直方图,因为只在有目标在最大测量范围内,就一定会出现第一个波峰,而有第一个波峰就可以确定出飞行时间t了。
在一个实施例中,对直方图中的脉冲波形进行寻找时,可以通过设定阈值的形式来寻找,高于阈值的数值被保留,低于阈值的数值被认为是噪声。
在一个实施例中,直方图的绘制顺序也可以改变,即不需要从0开始逐个时间单元进行绘制。比如可以利用二分法从中间时间开始绘制,一旦找到第一个脉冲波形后,往更早的时间单元方向进行继续绘制,直到在当前脉冲波形相距Δt的更早时间段内没有发现有波形为止,此时就认为当前脉冲波形对应的时间即为目标的飞行时间。总之,利用任意合适的能定位出第一个脉冲波形的搜索算法均适用于本方案。在本实施例中,直方图总的时间长度会基于搜索算法执行过程而进行自适应性改变,一旦绘制并检测到第一个脉冲波形后即停止计算,随后就可以利用第一个脉冲波形进行波峰位置确定从而获取飞行时间t。一般而言,自适应性改变的直方图总的时间长度均不会超过最大飞行时间t
1,从而可以大幅减小计算量及内存消耗。
图3(a)和图3(b)所示的利用一种全新的基于时间编码的连续单光子计数解调方法与传统的TCSPC相比,对内存的要求较高、计算量也相对较大,但所带来的好处也非常明显,即可以允许发射器11以远低于最大测量范围对应最大飞行时间的脉冲周期来发射脉冲串,从而可以极大程度上提升帧率。尽管如此,图2(a)至图3(b)所示的调制调 解方法仍难以解决多机干扰的问题,本发明还提供一种能抗干扰的时间编码时间飞行距离测量方法。
可以理解的是,在一些实施例中,绘制帧周期单光子计数时序串以及基于该时序串绘制直方图的过程也可以合二为一,即可以直接基于光子计数进行绘制直方图,当然也可以将两个步骤扩展成三个以上的步骤,其实现原理相同,只是实现形式有所区别,对应所需要的硬件电路也会有区别,比如在后文的具体处理电路设计中将详细说明合二为一的实现形式,可以减少存储容量,因此凡是利用这一原理的任意实现形式均在本发明的保护范围内。
随机时间编码脉冲调制及解调方法
图4(a)和图4(b)是根据本发明一个实施例的随机时间编码脉冲调制示意图。与图2(a)和图2(b)所示实施例相比,本实施例中脉冲将以预先设定的随机(伪随机)间隔进行发射,即脉冲是以随机时间编码[Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)]的形式进行发射,Δt
i表示第i个脉冲与第(i+1)个脉冲的时间间隔,i=1,2,…(n-1),如图4(a)所示。若被测目标在D处,对应的飞行时间是t,则在t时间后采集器12将相继接收到被目标反射的脉冲串中的光子,如图4(b)所示。为了保证避免相邻两个帧周期中脉冲光束的相互影响,帧周期T被设置成
即当最目标位于最大测量距离处时,脉冲串中的最后一个脉冲从被发射器11反射起始直到被采集器12接收到结束所需要的时间正好是t
1,这样就确保了在单帧周期内所有的脉冲串均会被接收且不会有相邻帧周期内的脉冲影响。在一个实施例中,最大测量范围同样假定为Dmax=150m,n=100000,若随机脉冲周期的平均值
远小于前面实施例中的1us,帧周期T≈10ms,帧率高达100fps。
图5(a)和图5(b)是根据本发明一个实施例的随机时间编码连续单光子计数解调方法。与图3(a)和图3(b)所示实施例相同,在发射器11发射N个脉冲串的同时,采集器12将被激活以采集来自目标反射的脉冲中的部分光子,处理电路13将处理并记录每个入射光子入射的相应时间,最终形成如图5(a)中所示的帧周期单光子计数时序串,该时序串每个时间单元中记录的是光子计数值,时序串的总时间长度即是帧周期。
在一个实施例中,所采集到的帧周期单光子计数时序串被保存到内存中,随后由处理器13中的直方图电路基于该时序串绘制直方图,与图3(a)和图3(b)所示实施例中类似,本实施例中的直方图同样将采取时间编码连续单光子计数叠加的方式。不同之处在于,时间编码是随机时间编码,对于要绘制的时间单元而言,将根据脉冲串发射时的时间编码[Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)]进行叠加,比如依次叠加。将以当前要绘制的时间单元为起始单元,将时序串中后续与该起始单元相隔Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)的所有时间单元中的光子计数值与起始单元 中的光子计数值进行依次叠加,叠加后的光子计数作为直方图中该时间单元的数值。比如对于直方图第一个时间单元的叠加方式,如图5(a)中的箭头所示。通过对多个时间单元进行时间编码叠加之后形成的直方图如图5(b)所示。
在一个实施例中,在绘制时间编码连续单光子计数叠加直方图时,其最小的时间单元的大小可以是帧周期单光子计数时序串的整数倍,比如2倍,由此可以降低直方图绘制时所需要的计算量及内存。
在一个实施例中,在绘制时间编码连续单光子计数叠加直方图时,相邻的时间单元间隔,即步长可以大于1,比如每隔一个时间单元进行一次时间编码叠加,由此也可以降低绘制所需要的计算量及内存。
在一个实施例中,直方图总的时间长度为[(n-1)·Δt+t
1],对于t
1时间之后的时间单元在叠加时,将不再有时序串中的时间单元光子计数值进行叠加,参与叠加的时间单元将逐渐减小。实际上,优选的方案中并不需要绘制与帧周期长度相同的直方图,而仅需要绘制从0开始到t
1这一时间段内的直方图,因为只在有目标在最大测量范围内,就一定会出现第一个波峰,而有第一个波峰就可以确定出飞行时间t了。
在一个实施例中,对直方图中的脉冲波形进行寻找时,可以通过设定阈值的形式来寻找,高于阈值的数值被保留,低于阈值的数值被认为是噪声。
在一个实施例中,直方图的绘制顺序也可以改变,即不需要从0开始逐个时间单元进行绘制。比如可以利用二分法从中间时间开始绘制,从而可以快速找到脉冲波形。总之,利用任意合适的能定位出脉冲波形的搜索算法均适用于本方案。在本实施例中,直方图总的时间长度会基于搜索算法执行过程而进行自适应性改变,一旦检测到脉冲波形后即停止计算,随后就可以利用脉冲波形进行波峰位置确定从而获取飞行时间t。由于本实施例是随机时间编码,在叠加后的直方图中,仅脉冲串中第一个脉冲反射回的时间t所对应的一个或多个直方图时间单元上才会形成较高的数值,不会出现像图3(b)中的多个脉冲波形的情形。换句话说,只有以第一个脉冲反射回的时间t做为起始单元,其后续叠加的每个时间单元正好对应脉冲串中的各个脉冲反射回的时间,此时采集到光子概率最高,并且该起始单元由于随机时间编码因此具备高度唯一性。因此,一旦在直方图中识别到了脉冲波形(波峰)所在的时间就可以计算出目标的飞行时间t了。一般而言,自适应性改变的直方图总的时间长度均不会超过最大飞行时间t
1,从而可以大幅减小计算量及内存消耗。
同样地,在一些实施例中,绘制帧周期单光子计数时序串以及基于该时序串绘制直方图的过程也可以合二为一,即可以直接基于光子计数进行绘制直方图,当然也可以将两个步骤扩展成三个以上的步骤,其实现原理相同,只是实现形式有所区别,对应所需要的硬件电路也会有区别,比如在后文的具体处理电路设计中将详细说明合二为一的实现形式,可以减少存储容量,因此凡是利用这一原理的任意实现形式均在本 发明的保护范围内。
双重随机时间编码脉冲调制及解调方法
图6(a)和图6(b)是根据本发明一个实施例的双重随机时间编码脉冲调制示意图。与图4(a)和图4(b)所示实施例相比,本实施例中脉冲串将以预先设定的双重随机(伪随机)间隔进行发射,即所有发射脉冲分成了多个脉冲组,每个脉冲组内包含多个脉冲,脉冲组内脉冲以第一随机时间编码[Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)]的形式进行发射,Δt
i表示各个组内第i个脉冲与第(i+1)个脉冲的时间间隔,i=1,2,…(n-1),n为脉冲组内脉冲的数量;组与组之间以第二随机时间编码[ΔT
1,ΔT
1+ΔT
2,ΔT
1+ΔT
2+ΔT
3,…,ΔT
1+ΔT
2…+ΔT
(N-1)]的形式进行发射,ΔT
j表示第j个脉冲组与第(j+1)个脉冲组的时间间隔,j=1,2,…(N-1),N代表脉冲组的数量,如图6(a)所示,单次测量共计发射N*n个脉冲。若被测目标在D处,对应的飞行时间是t,则在t时间后采集器12将相继接收到被目标反射的脉冲串中的光子,如图6(b)所示。为了保证避免相邻两个帧周期中脉冲光束的相互影响,帧周期T被设置成
即当最目标位于最大测量距离处时,脉冲串中的最后一个脉冲从被发射器11反射起始直到被采集器12接收到结束所需要的时间正好是t
1,这样就确保了在单帧周期内所有的脉冲串均会被接收且不会有相邻帧周期内的脉冲影响。在一个实施例中,最大测量范围同样假定为Dmax=150m,n=1000,N=100,若组内脉冲周期的平均值
组间周期平均值
远小于前面实施例中的1us,帧周期T≈10ms,帧率高达100fps。
图7(a)和图7(b)是根据本发明一个实施例的双重随机时间编码连续单光子计数解调方法。与图5(a)和图5(b)所示实施例不同的是,在发射器11发射N*n个脉冲的同时,采集器12并非在整个脉冲串发射的时间段内均进行采集,而是仅在每个脉冲组被发射的时间内(考虑到光子返回时间差,可以适当大于脉冲组的时间周期)采集器12将被激活以采集来自目标反射的脉冲中的部分光子,处理电路13将处理并记录每个入射光子入射的相应时间,最终形成如图7(a)中所示的N个脉冲组周期单光子计数时序串,该时序串每个时间单元中记录的是光子计数值,时序串的总时间长度即是脉冲组对应的时间周期。
在一个实施例中,所采集到的N个脉冲组周期单光子计数时序串被保存到内存中,随后由处理器13中的直方图电路基于该时序串绘制直方图。在进行绘制直方图时实际上采用的是传统TCSPC与图3、5所示实施例中的时间编码叠加融合的方式。即分两步进行绘制(两步无先后之分,也可以交叉进行),第一步类似传统TCSPC的方式,即将N个脉冲组周期单光子计数时序串之间相应时间单元中的光子计数进行叠加,如图7(a)中向上的加号箭头所示;第二步将第一步中所得到的总时序串根据脉冲组内脉冲发 射的第一时间编码[Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)]进行叠加,即将以当前要叠加的时间单元为起始单元,将时序串中后续与该起始单元相隔Δt
1,Δt
1+Δt
2,Δt
1+Δt
2+Δt
3,…,Δt
1+Δt
2…+Δt
(n-1)的所有时间单元中的光子计数值与起始单元中的光子计数值进行依次叠加,叠加后的光子计数作为直方图中该时间单元的数值。比如对于直方图第一个时间单元的叠加方式,如图7(a)中的横向加号所示。最终将得到如图7(b)所示的直方图。
在一些实施例中,也可以先进行时间编码叠加再进行TCSPC,即先将各个脉冲组周期单光子计数时序串按第一时间编码的方式进行叠加,如图7(a)中的横向加号所示;再将得到的N个叠加后的时序串中的相应时间单元进行叠加,如图7(a)中的箭头加号所示。最终将得到如图7(b)所示的直方图。
同样地,直方图的最小时间单元的大小可以是时序串最小时间单元的整数倍。另外直方图的相邻两个时间单元的间隔也可以大于1,比如每隔一个时间单元进行一次时间编码叠加,由此也可以降低绘制所需要的计算量及内存。
同样地,直方图的时间长度可以自适应调整,无需与脉冲组的周期长度相同。一般地,仅需要绘制从0开始到t
1这一时间段内的直方图,因为只在有目标在最大测量范围内,就一定会出现第一个波峰,而有第一个波峰就可以确定出飞行时间t了。
在一个实施例中,对直方图中的脉冲波形进行寻找时,可以通过设定阈值的形式来寻找,高于阈值的数值被保留,低于阈值的数值被认为是噪声。
在一个实施例中,直方图的绘制顺序也可以改变,即不需要从0开始逐个时间单元进行绘制。比如可以利用二分法从中间时间开始绘制,从而可以快速找到脉冲波形。总之,利用任意合适的能定位出脉冲波形的搜索算法均适用于本方案。在本实施例中,直方图总的时间长度会基于搜索算法执行过程而进行自适应性改变,一旦检测到脉冲波形后即停止计算,随后就可以利用脉冲波形进行波峰位置确定从而获取飞行时间t。由于本实施例是随机时间编码,在叠加后的直方图中,仅脉冲串中第一个脉冲反射回的时间t所对应的一个或多个直方图时间单元上才会形成较高的数值,不会出现像图3(b)中的多个脉冲波形的情形。换句话说,只有以第一个脉冲反射回的时间t做为起始单元,其后续叠加的每个时间单元正好对应脉冲串中的各个脉冲反射回的时间,此时采集到光子概率最高,并且该起始单元由于随机时间编码因此具备高度唯一性。因此,一旦在直方图中识别到了脉冲波形(波峰)所在的时间就可以计算出目标的飞行时间t了。一般而言,自适应性改变的直方图总的时间长度均不会超过最大飞行时间t
1,从而可以大幅减小计算量及内存消耗。
与图4(a)、4(b)和图5(a)、5(b)所示的随机调制解调方法相比,图6(a)、6(b)和图7(a)、7(b)所示的双重随机调制解调方法由于并非在整个帧周期内进行光子采集,不仅可以有效降低环境光噪声,同时可以大幅减小多设备共存时其他设备发射过来的光子进入, 由此抗多机干扰效果更好。
时间编码解调处理电路和处理方法
为了实现上述实施例中的时间编码解调,本发明还提供了时间编码解调处理电路和处理方法。
图8是根据本发明一个实施例的时间编码解调处理电路,时间编码解调处理电路82与像素单元81连接,像素单元81可以是SPAD像素用于检测反射光束的光子,处理电路82对检测到的各个光子事件进行处理以计算光子往返的飞行时间。
本实施例的时间编码解调处理电路82包括采样电路821、时序串存储器822、读出地址寄存器823、时间编码序列存储器824、加法寄存器825、直方图时间单元计数器(简称bin计数器)826以及直方图存储器827。
像素单元81采集反射光束的光子信号后将输出一次脉冲信号表示的光子检测事件,在一段时间内采样电路821在时钟发生器发出的时钟信号(例如1GHz)的控制下对脉冲信号进行采样,以形成帧周期单光子计数时序串。可以理解的是,采样电路821也可以如上文所述的包含TDC的电路,只要能将光子计数事件生成单光子计数时序串的电路即可。采样电路821的采样时间间隔一般不小于脉冲宽度,避免在一个脉冲宽度对应的时间无法采样到光子的情况发生。在一个实施例中,当像素单元81检测到光子时,采样电路821将输出数字信号1,当没有检测到光子时,采样电路821将输出数字信号0,因此在一段时间内,采样电路821将输出一串0、1序列串,一个帧周期内形成的序列串即是帧周期单光子计数时序串。
由采样电路821采样得到的帧周期单光子计数时序串将按照内存单元地址依次存储到时序串存储器822中,一般地,根据采样时长的不同,时序串存储器822的内存大小也不同,比如当采样时长是1000ns,采样间隔1ns,需要对应的内存是1000bits。
时间编码序列存储器824用于保存预先写入的时间编码序列,比如图2(a)所示的规则时间编码序列,或者图4(a)所示的随机时间编码序列。
读出地址寄存器823用于存储需要读出来的时序串存储器822中内存单元的地址,在时钟信号控制下时序串存储器822将会按照读出地址寄存器823中的地址读出相应地址上的数据至加法寄存器825。随后,读出地址寄存器823会自动跳变到下一个需要读取的地址,比如当前地址是x,则会基于时间编码序列存储器824中保存的时间编码序列,自动跳变到下一个需要读取的地址:x+Δt
i,其中Δt
i是时间编码序列存储器824中保存的时间间隔序列值。
加法寄存器825用于执行加法计算,将当前其保存的数据与时序串存储器822中传输过来的相应存储单元中的数据进行相加,当时间编码序列存储器824中的所有序列都读完后,该加法寄存器825即完成了一个直方图时间单元bin的计算,随后将该值 写到直方图存储器827中以绘制直方图。
bin计数器826用于存储当前绘制的bin的编号,当时间编码序列存储器824中的所有序列全部读完后,即当前bin绘制结束后,给bin计数器826以及加法寄存器825发送脉冲,bin计数器826的编号自动+1,以开始下一个bin的绘制,将该bin的数值写入到直方图存储器827中,同时将加法寄存器825清0。
在直方图各个bin绘制完成后,处理电路82可以进一步根据直方图计算飞行时间。
在图8所示实施例中,数据的采样与直方图的绘制在时序上先后执行的,即先将帧周期单光子计数时序串采样完成保存到时序串存储器822中,随后对该时序串进行数据处理以获取直方图。为了减少处理时间以提升帧率,在一个实施例中,可以采用多时序串存储器822的方式,比如采用双时序串存储器822,当一帧数据采样完成后保存到第一时序串存储器822中,随后在利用第一时序串存储器822中的时序串进行直方图绘制时,采样电路821同步工作,并将采样得到的时序串保存到第二时序串存储器822中。如此往复,当利用第二时序串存储器822中的时序串进行直方图绘制时,采样电路821会将采样得到的时序串保存到第一时序串存储器822中。如此,便可以大大提升采样时间,提升帧率。
在一个实施例中,基于图8所示的处理电路,本发明还提供了一种时间编码解调方法,该方法包括以下步骤:
预先将时间编码序列保存到时间编码序列存储器824中;
由采样电路821对像素单元81检测到的反射光束的光子事件进行采样,以形成帧周期单光子计数时序串并保存到时序串存储器822中;
将当前需要读出来的所述时序串存储器822中内存单元的地址保存到读出地址寄存器823中,所述地址会根据所述时间编码序列自动跳变到下一个需要读取的地址;
根据所述读出地址寄存器823中的地址从所述时序串存储器822中读出相应地址上的数据至加法寄存器825;
由所述加法寄存器825执行其当前保存的数据与所述时序串存储器822读出的数据之间的加法运算,并将其运算结果传输至直方图存储器827的相应bin中以绘制直方图;
将前绘制bin的编号保存到bin计数器826中,并当当前bin绘制结束后所述编号自动加1。
图8所示实施例对存储器的要求较高,对于当前将SPAD感光以及数据处理电路高度集成到单颗芯片的技术趋势来说,若将处理电路进行单片集成时,片上存储器的容量将较大,不利于芯片量产。为了解决这一问题,本发明提供一种实时直方图绘制的解调方法。
图9是根据本发明一个实施例的实时时间编码解调处理电路,时间编码解调处理 电路92与像素单元91连接,像素单元91可以是SPAD像素用于检测反射光束的光子,处理电路92对检测到的各个光子事件进行处理以计算光子往返的飞行时间。
考虑到在直方图各时间单元bin在进行叠加时,在时间编码确定的前提下,每个bin在执行叠加计算时所需要的时序串中的时间单元(即相应光子事件的时间点)根据时间编码是已知的。基于此,可以先将每个bin地址与其所需要叠加的时序串中的时间单元地址之间的对应关系预先保存起来,采样电路921实时输出的光子计数值将会基于该对应关系,就知道当前光子计数值所对应的bin,随后该光子计数值被选通以进入相应的bin中进行叠加。
本实施例的时间编码解调处理电路92包括采样电路921、时间编码序列控制器922、时间编码序列控制存储器923以及直方图存储器924。
像素单元91采集反射光束的光子信号后将输出一次脉冲信号表示的光子检测事件,采样电路921在时钟发生器发出的时钟信号(例如1GHz)的控制下对脉冲信号进行采样,以输出采样信号(即光子计数值0或1),采样信号至时间编码序列控制器922,时间编码序列控制器922将根据时间编码序列控制存储器923中保存的对应关系,以控制该采样信号进入直方图存储器924中的相应bin中进行叠加,比如可以通过三态门、传输门等方式实现对采样信号的选通。其中时间编码序列控制存储器923中保存了用于控制采样信号与需要开启的bin之间的对应关系,比如其包含了一个n x j的存储空间,n为时间bin的数量,j与像素单元的测量序列位数相同,每个时钟作用上,会将对应的n bit数据传输至时间编码序列控制器922以控制相应的采样信号的选通。
在一个实施例中,基于图9所示的时间编码解调处理电路,本发明还提供了一种时间编码解调方法,该方法包括以下步骤:
预先将采样信号与需要开启的直方图存储器924中bin之间的对应关系写入时间编码序列控制存储器923中;
由采样电路对像素单元921检测到的反射光束的光子事件进行采样,以形成所述采样信号;
由时间编码序列控制器922根据所述时间编码序列控制存储器923中保存的所述对应关系,以控制所述采样信号进入直方图存储器924中的相应bin中进行叠加以绘制直方图。
可以理解的是,图8、9所示的处理电路不仅适用于图3(a)、3(b)和图5(a)、5(b)所示实施例中的解调方法,同样适用于图7(a)、7(b)所示实施例中的解调方法。
可以理解的是,在上述描述中,为了便于阐述各个部分之间的关系,将各个模块独立进行说明,在实际应用中,多个模块也可以进行合并,比如时序串存储器、时间编码存储器等可以是同一个存储器。因此,通过合并、拆分等方式进行的等价替代方案也应当视为本发明的保护范围。
可以理解的是,当将本发明的距离测距系统嵌入装置或硬件中时会作出相应的结构或部件变化以适应需求,其本质仍然采用本发明的距离测距系统,所以应当视为本发明的保护范围。以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。在本说明书的描述中,参考术语“一种实施例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已经详细描述了本发明的实施例及其优点,但应当理解,在不脱离由所附权利要求限定的范围的情况下,可以在本文中进行各种改变、替换和变更。此外,本发明的范围不旨在限于说明书中所述的过程、机器、制造、物质组成、手段、方法和步骤的特定实施例。本领域普通技术人员将容易理解,可以利用执行与本文所述相应实施例基本相同功能或获得与本文所述实施例基本相同结果的目前存在的或稍后要开发的上述披露、过程、机器、制造、物质组成、手段、方法或步骤。因此,所附权利要求旨在将这些过程、机器、制造、物质组成、手段、方法或步骤包含在其范围内。
Claims (10)
- 一种用于随机时间编码时间飞行距离测量的系统,其特征在于,包括:发射器,经配置以发射具有双重随机时间编码的光信号脉冲串,所述脉冲串包括N个以第二随机时间编码形式发射的脉冲组,所述脉冲组内包含n个以第一随机时间编码形式发射的脉冲;采集器,经配置以采集被物体反射回的所述光信号脉冲串中的光子;处理电路,与所述发射器以及所述采集器连接,经配置以对所述光子进行计数以形成N个脉冲组周期单光子计数时序串;并基于所述第一随机时间编码以及所述N个脉冲组周期单光子计数时序串绘制直方图。
- 如权利要求1所述的系统,其特征在于,所述处理电路经配置以确定所述直方图中的脉冲波形对应的时间;并根据所述脉冲波形对应的时间确定飞行时间。
- 如权利要求1所述的系统,其特征在于,所述绘制直方图包括:将所述N个脉冲组周期单光子计数时序串之间相应时间单元中的光子计数进行叠加;将叠加之后的总时序串根据所述第一随机时间编码进行叠加以形成所述直方图。
- 如权利要求1所述的系统,其特征在于,所述绘制直方图包括:将所述N个脉冲组周期单光子计数时序串根据所述第一随机时间编码进行叠加;将N个叠加后的时序串之间相应时间单元中的光子计数进行叠加以形成所述直方图。
- 如权利要求3或4所述的系统,其特征在于,所述根据所述第一随机时间编码进行叠加包括:以当前要叠加的时间单元为起始单元,将所述时序串中后续与所述起始单元相隔Δt 1,Δt 1+Δt 2,Δt 1+Δt 2+Δt 3,…,Δt 1+Δt 2…+Δt (n-1)的所有时间单元中的光子计数值与所述起始单元中的光子计数值进行叠加,叠加后的光子计数作为所述起始时间单元的光子计数数值,其中所述第一随机时间编码是[Δt 1,Δt 1+Δt 2,Δt 1+Δt 2+Δt 3,…,Δt 1+Δt 2…+Δt (n-1)]。
- 一种用于随机时间编码时间飞行距离测量的方法,其特征在于,包括如下步骤:发射具有双重随机时间编码的光信号脉冲串,所述脉冲串包括N个以第二随机时间编码形式发射的脉冲组,所述脉冲组内包含n个以第一随机时间编码形式发射的脉冲;采集被物体反射回的所述光信号脉冲串中的光子;对所述光子进行计数以形成N个脉冲组周期单光子计数时序串;基于所述第一随机时间编码以及所述N个脉冲组周期单光子计数时序串绘制直方图。
- 如权利要求6所述的方法,其特征在于,还包括如下步骤:确定所述直方图中的脉冲波形对应的时间;根据所述脉冲波形对应的时间确定飞行时间。
- 如权利要求6所述的方法,其特征在于,所述绘制直方图包含如下步骤:将所述N个脉冲组周期单光子计数时序串之间相应时间单元中的光子计数进行叠加;将叠加之后的总时序串根据所述第一随机时间编码进行叠加以形成所述直方图。
- 如权利要求6所述的方法,其特征在于,所述绘制直方图包含如下步骤:将所述N个脉冲组周期单光子计数时序串根据所述第一随机时间编码进行叠加;将N个叠加后的时序串之间相应时间单元中的光子计数进行叠加以形成所述直方图。
- 如权利要求8或9所述的方法,其特征在于,所述根据所述第一随机时间编码进行叠加包括:以当前要叠加的时间单元为起始单元,将所述时序串中后续与所述起始单元相隔Δt 1,Δt 1+Δt 2,Δt 1+Δt 2+Δt 3,…,Δt 1+Δt 2…+Δt (n-1)的所有时间单元中的光子计数值与所述起始单元中的光子计数值进行叠加,叠加后的光子计数作为所述起始时间单元的光子计数数值,其中所述第一随机时间编码是[Δt 1,Δt 1+Δt 2,Δt 1+Δt 2+Δt 3,…,Δt 1+Δt 2…+Δt (n-1)]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/103737 WO2021035695A1 (zh) | 2019-08-30 | 2019-08-30 | 用于时间编码时间飞行距离测量的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/103737 WO2021035695A1 (zh) | 2019-08-30 | 2019-08-30 | 用于时间编码时间飞行距离测量的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021035695A1 true WO2021035695A1 (zh) | 2021-03-04 |
Family
ID=74684434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/103737 WO2021035695A1 (zh) | 2019-08-30 | 2019-08-30 | 用于时间编码时间飞行距离测量的系统及方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021035695A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102692622A (zh) * | 2012-05-28 | 2012-09-26 | 清华大学 | 基于密集脉冲的激光探测方法 |
CN107807353A (zh) * | 2017-09-22 | 2018-03-16 | 中国科学院西安光学精密机械研究所 | 采用n重脉冲编码的三维成像光子计数系统及计数方法 |
US20180299552A1 (en) * | 2017-03-01 | 2018-10-18 | Ouster, Inc. | Accurate photo detector measurements for lidar |
CN110161522A (zh) * | 2019-06-11 | 2019-08-23 | 中国科学院光电技术研究所 | 一种可消除距离模糊的高重频单光子激光雷达 |
CN110161519A (zh) * | 2019-06-11 | 2019-08-23 | 中国科学院光电技术研究所 | 一种宏脉冲光子计数激光雷达 |
-
2019
- 2019-08-30 WO PCT/CN2019/103737 patent/WO2021035695A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102692622A (zh) * | 2012-05-28 | 2012-09-26 | 清华大学 | 基于密集脉冲的激光探测方法 |
US20180299552A1 (en) * | 2017-03-01 | 2018-10-18 | Ouster, Inc. | Accurate photo detector measurements for lidar |
CN107807353A (zh) * | 2017-09-22 | 2018-03-16 | 中国科学院西安光学精密机械研究所 | 采用n重脉冲编码的三维成像光子计数系统及计数方法 |
CN110161522A (zh) * | 2019-06-11 | 2019-08-23 | 中国科学院光电技术研究所 | 一种可消除距离模糊的高重频单光子激光雷达 |
CN110161519A (zh) * | 2019-06-11 | 2019-08-23 | 中国科学院光电技术研究所 | 一种宏脉冲光子计数激光雷达 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110632578B (zh) | 用于时间编码时间飞行距离测量的系统及方法 | |
CN110609291B (zh) | 用于时间编码时间飞行距离测量的系统及方法 | |
WO2021035694A1 (zh) | 用于时间编码时间飞行距离测量的系统及方法 | |
CN110632577B (zh) | 时间编码解调处理电路及方法 | |
WO2021248892A1 (zh) | 一种距离测量系统及测量方法 | |
WO2021051477A1 (zh) | 一种直方图可调的飞行时间距离测量系统及测量方法 | |
CN110632576B (zh) | 时间编码解调处理电路及方法 | |
WO2021051478A1 (zh) | 一种双重共享tdc电路的飞行时间距离测量系统及测量方法 | |
WO2021212914A1 (zh) | 一种基于时间延时的距离测量系统及方法 | |
WO2021051479A1 (zh) | 一种基于插值的飞行时间测量方法及测量系统 | |
WO2021051480A1 (zh) | 一种动态直方图绘制飞行时间距离测量方法及测量系统 | |
CN105043539B (zh) | 用于运行光电探测器的方法和装置 | |
WO2021051481A1 (zh) | 一种动态直方图绘制飞行时间距离测量方法及测量系统 | |
US8610043B2 (en) | Proximity sensor having an array of single photon avalanche diodes and circuitry for switching off illumination source and associated method, computer readable medium and firmware | |
CN112731425B (zh) | 一种处理直方图的方法、距离测量系统及距离测量设备 | |
CN110221273A (zh) | 时间飞行深度相机及单频调制解调的距离测量方法 | |
CN111427230A (zh) | 基于时间飞行的成像方法及3d成像装置 | |
US20220187430A1 (en) | Time of flight calculation with inter-bin delta estimation | |
US20220099814A1 (en) | Power-efficient direct time of flight lidar | |
WO2021035695A1 (zh) | 用于时间编码时间飞行距离测量的系统及方法 | |
WO2021035696A1 (zh) | 时间编码解调处理电路及方法 | |
WO2021035697A1 (zh) | 时间编码解调处理电路及方法 | |
CN111443356B (zh) | 一种基于单光器件兼顾距离感知和成像的电路系统及设备 | |
WO2023071908A1 (zh) | 一种测距方法和测距系统 | |
WO2023133964A1 (zh) | 激光雷达系统及其环境光去噪方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19943778 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19943778 Country of ref document: EP Kind code of ref document: A1 |