\chapter{Direct Time of Flight LIDAR}
\label{chapter:lidar_theory}

This chapter will provide an overview of \ac{DToF} \ac{LIDAR} systems, as well as basic insight into imaging strategies, laser sources, photodetectors and signal processing techniques used in contemporary art. \acp{TDC} will be described later in \autoref{chapter:tdcs} in more detail.

\section{System overview}
\label{sec:lidar_overview}

The basic structure and operation of \ac{DToF} \ac{LIDAR} systems is illustrated on \autoref{fig:lidar_sys_diagram}.

\begin{figure}[htb]
	\centering
	\includegraphics[width=14cm]{obrazky/lidar_system_diagram.pdf}
	\caption{\acs{DToF} \acs{LIDAR} system diagram} \label{fig:lidar_sys_diagram}
\end{figure}

An electronically driven pulsed laser emits a light pulse, illuminating the scene, also known as the \ac{FoV}. The same trigger signal, which fired the laser pulse, is used to start the \ac{TDC} measurement. As the travelling pulse hits objects inside the \ac{FoV}, a portion of the pulse, which (amongst other factors) depends on the distance, the incident angle or the reflectivity of the surface of the object, is reflected back and hits the detector. Upon detection, the detector produces an electrical pulse, freezing the \ac{TDC}. The \ac{TDC} consequently outputs a digital value, corresponding to the time interval between the firing of the laser and the detection of its reflection. This time is called the \ac{ToF}, and can be used to determine the distance travelled by the light pulse, which is simply

\begin{equation}
d = \frac{c}{2}\cdot \mathit{ToF}
\label{eq:ToF_to_distance}
\end{equation}

where $d$ is the distance to the obstacle and $c$ is the speed of light. The division by $2$ needs to be included, because the reflected photons have travelled the distance between the LIDAR device and the obstacle twice.

A \ac{DSP} block performs various filtering and noise rejection techniques on the \ac{TDC} readings, namely \acf{TCSPC} which is described in more detail in \autoref{sec:tcspc}. The processed data can be then used to build a \enquote{point cloud}, which is the desired representation of the \ac{FoV} with the distance measurements represented by points in a 3D coordinate space.

\section{Imaging methods}
\label{sec:imaging_methods}

Since the final output of the \ac{LIDAR} system is a 3D point cloud of the objects in the \ac{FoV}, and the \ac{FoV} for applications such as automotive spans tens of degrees in angular size, the method of its illumination has to be carefully considered. 

There are two main types of \ac{DToF} \ac{LIDAR} differing in their approach to \ac{FoV} illumination. In this section, these methods will be briefly described and compared according to their advantages.

\subsection{Scanning \acs{LIDAR}}
\label{subsec:scanning}

The \enquote{scanning \ac{LIDAR}} utilizes a laser beam with low angular divergence to scan the \ac{FoV} step by step using dual axis scanning. The beam needs to be steered across the \ac{FoV} over time, which is a challenge of its own. The precision and speed of the scanning mechanism are now another factor determining the overall performance of the system, and depending on the implementation, the scanning system can add both significant costs and reliability issues. 

\begin{figure}[htb]
	\centering
	\includegraphics[width=13cm]{obrazky/scanning_lidar.pdf}
	\vspace{-0.2cm}
	\caption{Illustration of scanning \acs{LIDAR}} \label{fig:scanning}\vspace{-0.3cm}
\end{figure}

There are two main types of scanners which utilize actual mechanical movement to direct the laser beam. The movement can be done with electrical stepper motors, which has the benefit of a wide \ac{FoV} but brings larger cost, power consumption, size and reliability issues. In these cases, a polygon mirror reflecting the laser beam can be rotated instead of the whole laser or \ac{LIDAR} assembly, as demonstrated in \cite{coincidence_and2}. Despite the disadvantages, this is still the dominant method of scanning in automotive applications because of its long range performance and wide, up to 360° \ac{FoV} \cite[p.12]{overview}. 

A promising alternative are \ac{MEMS} actuators, which steer the laser beam using electrically driven micromirrors. The advantages of such optical systems are clear: low weight, compactness, low cost and low power consumption. Although the technology is already proven at short to medium range (\SI{25}{\meter} range demonstrated by \cite{mems_example}), it has not been able to reach the \ac{FoV} and the long range of rotational scanners. This technique is however getting increased attention and the company Innoviz Technologies is claiming they achieved \SI{600}{\meter} range and 73°$\times$20° \ac{FoV} with their new product \cite{innoviz_mems}, which could be the best commercially released \ac{MEMS} \ac{LIDAR} so far.

\acf{OPA} is a novel fully solid state method of beam steering. The operating principle is identical to phased array antennas, where the direction of the beam is determined by the phase difference between neighbouring transmitters, allowing constructive interference of the electromagnetic waves in the desired direction and destructive interference in others. \ac{OPA} scanners share the same advantages of \ac{MEMS} scanners, but since there are no moving parts at all in \ac{OPA} scanners, they can reach even higher scanning speeds (\SI{100}{\kilo\hertz} reported by \cite[p.409]{mems_overview}) and better reliability. However, the method does have issues with insertion power loss of the phase shifting waveguides. Quanergy is a company aiming to provide a commercial automotive \ac{OPA} based \ac{LIDAR} in the near future, claiming 120° \ac{FoV}, \SI{150}{\meter} range and \ac{MTBF} of more than \SI{100000}{\hour} \cite{quanergy_keynote}.

Finally, another novel option of implementing fully solid state beam steering is to use an array of \acp{VCSEL} and a special optical lens. An identical lens can be used for the detector array, which has the same size and number of pixels as the \ac{VCSEL} array. Because the arrays and the optical systems match, by activating certain pixels of the laser array, a small section of the \ac{FoV} is illuminated and the reflected photons arrive at the corresponding detector array pixels. Ibeo Automotive, a company which has implemented multiple products of this type, calls the method \enquote{sequential flash}, as it combines the philosophy of both scanning and flash \ac{LIDAR}. Their product ibeoNEXT Generic contains 10240 pixels in both the \ac{VCSEL} and detector array, and claims \SI{250}{\meter} range, \ac{FoV} ranging up to 60°$\times$30° and angular resolution as good as 0.05° \cite{ibeo}.

\subsection{Flash \acs{LIDAR}}
The other approach known as \enquote{flash \ac{LIDAR}} uses an optical diffuser to increase the angular divergence of the laser, illuminating the scene as a whole in a single pulse. The challenge is therefore shifted away from the transmitter to the detector, which needs to detect the reflections of the diffused laser, and the optical system, which needs to restore the directional information in order to determine the distance to obstacles in various regions of the \ac{FoV}. Detectors positioned at the focal plane of a lens are called \ac{FPA} detectors. A natural advantage of the flash \ac{LIDAR} is the absence of moving parts and high refresh rate, as the whole \ac{FoV} is illuminated at once.

\begin{figure}[htb]
	\centering
	\includegraphics[width=13cm]{obrazky/flash_lidar.pdf}
	\vspace{-0.5cm}
	\caption{Illustration of flash \acs{LIDAR}} \label{fig:flash}\vspace{-0.3cm}
\end{figure}

The detector optical system is designed to match the divergence of the laser diffuser, so that all the detector array pixels are illuminated simultaneously. The spatial resolution is therefore determined by the pixel density of the array, which is limited by the process node, the size of the chip and cost. 

The main challenge with flash \ac{LIDAR} is the \ac{SNR}. Because the output power of the laser is spread across the whole \ac{FoV}, the reflections are weaker. Therefore there is a clear inverse relationship between the size of the \ac{FoV} and the maximum detectable range. Special attention has to be given to the detector array design in order to maximize its optical sensitivity and efficiency. Another potential issue is the power consumption and associated thermal dissipation. With flash \ac{LIDAR}, a large number of \acp{TDC} need to be active simultaneously, requiring significant power and producing large amount of heat.

An example of a flash \ac{LIDAR} system implementation is described in \cite{flash_example}, where a 252$\times$144 detector array was used, achieving \SI{50}{\meter} range.

\subsection{Comparison}

Although currently most widely used automotive \ac{LIDAR} systems are based on rotating mirror scanners, \enquote{there is a quite general agreement that mechanically scanning \acp{LIDAR} need to move towards a solid-state version} \cite[p.11]{overview}. While their up to 360° wide \ac{FoV} is desirable, the size, cost and overall unreliability and maintenance complexities, which are critical factors in automotive systems, will outweigh the benefits in the future.

If solid state systems are to be compared, there are promising solutions on both the scanning and flash \ac{LIDAR} side, as well as somewhere in between like the sequential flash technology. Generally though, it can be said that flash \ac{LIDAR} seems to be better suited for short to medium range applications, which require high frame rate. The fact that the whole \ac{FoV} is illuminated and detected virtually simultaneously is also beneficial for automotive, where the \ac{LIDAR} system is moving relative to the surrounding objects at high velocity, as in such applications, scanning the \ac{FoV} (an inherently slower process) can cause movement artefacts and distortions in the resulting image.

On the other hand, scanning \ac{LIDAR} solutions promise higher maximum detectable range, as the output power of the laser is focused into a much smaller angular diameter, at the cost of slower frame rate. Further development of fast scanning \ac{OPA} systems could however erase this disadvantage.

\section{Laser sources}

The laser source is a key part of the \ac{DToF} \ac{LIDAR} system, as its parameters define or contribute to many performance characteristics of the overall product. Quantities like peak output power, wavelength, pulse with, spectral purity, power efficiency, size, weight and many others are of interest.

\subsection{Wavelength}
Perhaps the most important of these specifications is the wavelength. Naturally, wavelengths invisible to human eyesight are necessary. In order to transmit the laser pulse as far as possible and subsequently differentiate the reflected photons from the surrounding ambient light, a wavelength with both high atmospheric transmittance (see \autoref{fig:atmosphere}\footnote{ATRAN parameters: altitude 2500 ft, latitude 39°, 2 atmospheric layers, zenith angle 20° \cite{atran}}) and low solar irradiance (see \autoref{fig:solar_spectrum}) needs to be chosen. These two conditions do not necessarily go hand in hand, therefore a compromise is necessary. 

\begin{figure}[htb]
	\centering
	\includegraphics[width=14.5cm]{grafy/atmosphere_transmission.pdf}
	\vspace{-0.5cm}
	\caption[Computed \acs{NIR} atmospheric transmission spectrum from ATRAN]{Computed \acs{NIR} atmospheric transmission spectrum from ATRAN \cite{atran}} \label{fig:atmosphere}\vspace{-0.3cm}
\end{figure}

\begin{figure}[htb]
	\centering
	\includegraphics[width=14.5cm]{grafy/solar_irradiance.pdf}
	\vspace{-0.5cm}
	\caption[Direct normal solar spectral irradiance at 1.5 air mass]{Direct normal solar spectral irradiance at 1.5 air mass \cite{solar}} \label{fig:solar_spectrum}\vspace{-0.3cm}
\end{figure}

There are three regions of interest: 0.8 to \SI{0.95}{\micro\meter}, \SI{1.06}{\micro\meter} and \SI{1.55}{\micro\meter} \cite[p.18]{overview}. The third region would be the ideal one in terms of the distance to the optical range (due to safety concerns, as will be detailed later in this section), the high atmospheric transmittance and the low solar irradiance in the region, but it is outside the optical window of silicon (more details in \autoref{sec:PDE}) and requires InGaAs or InP detectors, which are expensive and due to processing technology limitations do not reach pixel densities comparable to traditional silicon nodes \cite{ilo_thesis}.

The most commonly utilized range is the 0.8 to \SI{0.95}{\micro\meter} one. Although it suffers from power limitations due to eye safety, slightly worse atmospheric transmittance and potentially larger solar activity (although there is a noticeable dip around \SI{0.93}{\micro\meter}, as visible on \autoref{fig:solar_spectrum}), silicon based detectors are the most sensitive to electromagnetic radiation in this region and offer best sensitivity. The cost efficiency of \ac{CMOS} processes is vastly superior to more exotic InGaAs technologies and as such lasers working at these wavelengths are chosen for primarily economical reasons.

\subsection{Output power and eye safety}
Another important specification of the laser source is the peak output power transmitted by the pulse. The higher the peak power transmitted by the laser, the higher the power of the reflection, and the higher the probability of its detection. This improves the \ac{SNR} of the system, and effectively increases the maximum detectable range. 

The relationship between the transmitted and collected power is described by the \enquote{\ac{LIDAR} equation} \cite[p.16]{ilo_thesis}:
\begin{equation}
P_\mathrm{c} = \frac{\rho}{\pi R^2}P_\mathrm{t}A_\mathrm{d}\cos(\theta) \eul^{-2\alpha R}
\label{eq:lidar}
\end{equation}

where \acs{Pc} is the \acl{Pc}, \acs{rho} is the \acl{rho}, \acs{R} is the distance to the reflector, \acs{Pt} is the \acl{Pt}, \acs{Ad} is the \acl{Ad}, \acs{theta} is the \acl{theta} respective to surface normal and \acs{alpha} is the \acl{alpha}. It is clear that \acs{R} is the most dominant factor.

The limit to the peak optical power is however regulated by eye safety standards such as IEC 60825-1, which determine the \ac{MPE} limits, commonly expressed as the maximum allowable exposure time for a given irradiance (given in Watts per \SI{}{\centi\meter\squared}) for the given wavelength. 

Because \ac{LIDAR} systems need to be safe under all conditions (Class 1 as defined by IEC 60825-1), the \ac{MPE} limits are quite strict especially for the \ac{NIR} range. To decrease the energy delivered to a unit area and meet the standards, either the pulse length can be decreased, or, for flash \ac{LIDAR} systems, the diffusion angle can be increased so that the energy is spread over larger \ac{FoV}.

\subsection{Diode lasers}

While the use of fiber or microchip lasers in \ac{LIDAR} systems is possible (and they offer superior pulse rate and pulse widths as well \cite[p.21]{overview}), the most widely used devices are diode lasers because of their compactness and price. This is especially the case for systems relying on an array of lasers, as semiconductor diode lasers are the only economical option of fabricating laser arrays.

Semiconductor diode lasers come in two types: \acf{EEL} and \acf{VCSEL}. \acp{EEL} are well established diode lasers, based on PN or PIN junctions. The laser shines from the edge, i.e. in parallel to the plane of the silicon wafer it is constructed from. After fabrication, \acp{EEL} need to be cleaved and coated with reflective materials on the sides to create a cavity with high optical gain. A disadvantage is that the beam they produce is not spherical and needs to be shaped with optical components \cite{vcsel_eel}.

\acp{VCSEL} have been receiving increased attention recently. As the name suggests, the beam produced by the \ac{VCSEL} device is emitted in a direction perpendicular to the top surface of the semiconductor die. Instead of using reflective coating, the mirrors are made from thin layers of planar Bragg reflectors. In \cite{vcsel}, InGaAs Bragg reflectors were used to produce a \SI{940}{\nano\meter} \ac{VCSEL}.

The direction of the beam is a significant advantage for testing, as \ac{VCSEL} devices can be tested before the wafer is cleaved, which is faster and more economical. The beam produced by \acp{VCSEL} is also spherical even in the absence of additional lens \cite{vcsel} and less divergent. Finally, \ac{VCSEL} arrays enable technologies like \ac{OPA} scanners \cite{vcsel_opa} or sequential flash imaging, which were discussed previously in \autoref{subsec:scanning}. The main challenge in current \ac{VCSEL} development is the heat generation and transfer, as it is the factor limiting the maximum power or the \ac{VCSEL} array size \cite{vcsel_article}.

\section{Single Photon Avalanche Diodes}

The \acf{SPAD}, also known as \ac{GAPD}, is the dominant photodetector used in \ac{DToF} \ac{LIDAR} systems. It is capable of detecting a single photon with a high temporal resolution (on the order of low tens of picoseconds), while also being compatible with standard \ac{CMOS} processes, which is critical for the viability of commercial products.

In this section, the operation and characteristics of \acp{SPAD} will be described in more detail, in order to understand the implications for the \ac{LIDAR} system architecture and performance.

\subsection{\acl{APD}}
The \ac{SPAD} is structurally nearly identical to the \ac{APD}. The \ac{APD} consists of a PN junction, operated in the reverse region, close to but not above the \ac{VBD}, which is usually between 10 to \SI{50}{\volt} \cite{integrated_spad}. A depletion region is created, where no charge carriers exist and virtually no current flows through the junction. As soon as an incoming photon hits the depletion region, it can be absorbed, generating an electron-hole pair, which is immediately separated by the electric field in the depletion region. If the reverse voltage and the power of the incident light are both high enough, the generated charge carriers multiply along the way via impact ionization, producing an avalanche. 

The intensity of the avalanche is proportional the power of the incident light, therefore the \ac{APD} provides both the \ac{ToF} information as well as an analog current representation of the intensity of the reflection. In order to convert the current to voltage while preserving the resolution of both time and intensity, a \ac{TIA} capable of satisfying high bandwidth, high gain and low noise requirements is required.

\subsection{Basic operation of \acs{SPAD}}
Contrary to the \ac{APD}, which is biased below \ac{VBD}, the \ac{SPAD} is biased above \ac{VBD} in the so-called Geiger mode. The name comes from the Geiger-Müller tube, which operates in a similar manner. The difference between the applied reverse voltage and \ac{VBD} is the \ac{VE}, also known as the overvoltage, and it commonly ranges from 2 to \SI{7}{\volt}. 

While the avalanche in \acp{APD} eventually stops on its own, the avalanche in the \ac{SPAD} devices is self-sustaining, as the PN junction breaks down completely and the impact ionization multiplication process produces an evergrowing number of charge carriers. In order to save the diode from overheating and self-destruction, the avalanche has to be quenched externally.

\begin{figure}[htb]
	\centering
	\begin{minipage}[b][7cm][t]{.6\textwidth}
		\centering
    	\includegraphics[width=0.95\linewidth]{obrazky/spad_iv_characteristic.pdf}        
    	\caption{\acs{SPAD} I-V characteristic with key stages of the avalanche breakdown highlighted}\label{fig:spad_iv}
    \end{minipage}   
     \hfill
	\begin{minipage}[b][7cm][t]{.305\textwidth}
		\centering
	    \includegraphics[width=0.95\linewidth]{obrazky/spad_passive_circuit.pdf}        
	    \caption{Typical passive quenching \acs{SPAD} circuit}\label{fig:spad_passive}
	\end{minipage}
\end{figure}

The avalanche breakdown mechanism in \acp{SPAD} will be described in more detail. \autoref{fig:spad_iv} depicts an I-V characteristic of a \ac{SPAD}, including the three main phases of its operation, and \autoref{fig:spad_passive} shows a typical \ac{SPAD} circuit connection with passive quenching. At the start of the cycle, there is no current flowing through the diode and the full \acs{VBD}${+}$\acs{VE} voltage is applied across the junction in reverse. While this voltage exceeds \ac{VBD}, the diode can exist in this pseudo-stable state for an extended period of time, as long as no charge carriers exist inside the depletion region. As soon as a charge carrier appears inside the depletion region, a run-away avalanche develops and the current through the diode spikes within a few tens of picoseconds, moving the operating point of the diode from the pseudo-stable state to the steady state I-V curve (phase 1 -- seeding and spreading). The current spike is fed into the quenching resistor $\mathrm{R_Q}$, producing a growing voltage drop at the expense of the voltage across the diode (phase 2 -- quenching). As the voltage across the diode decreases, the diode current eventually becomes lower than the \ac{IQ}, the avalanche is no longer self-sustaining and it stops shortly thereafter. When there are no more charge carriers in the depletion region left, the junction capacitance of the diode is charged to \acs{VBD}${+}$\acs{VE} and the diode can detect incident photons again (phase 3 -- recharge).

Since the optical gain of the \ac{SPAD} is theoretically infinite (a single photon can produce a self-sustaining avalanche), the information about the power of the incident light provided by the \ac{APD} is traded off for single photon sensitivity and superior temporal resolution (on the order of low tens of picoseconds). Because the \ac{SPAD} is essentially a digital photodetector, the read-out circuitry is also significantly simpler. The digital STOP pulse (required by the \ac{TDC}, as depicted by \autoref{fig:lidar_sys_diagram}) can be provided with a simple fast positive-feedback inverter gate connected directly to the \ac{SPAD} as opposed to a more complex \ac{TIA}. 

\subsection{Timing characteristics}

Perhaps the key characteristic of the \ac{SPAD} is the timing jitter, which quantifies the statistical fluctuation of the delay between the photon arrival time and the \ac{SPAD} response. The timing jitter essentially defines the best possible achievable temporal resolution of the \ac{DToF} \ac{LIDAR} system containing the \ac{SPAD} device. It is commonly expressed as the \ac{FWHM} of the statistical distribution of the \ac{SPAD} reaction time. Most published \ac{SPAD} implementations report under \SI{100}{\pico\second} \ac{FWHM} jitter \cite[p.7]{integrated_spad}, and a \ac{FWHM} timing jitter as low as \SI{7.8}{\pico\second} has been achieved in \cite{jitter}.

The timing uncertainty arises from several factors. According to \cite[p.14]{spad_kapitola}, \enquote{the most important timing factor is whether the carrier is generated in
the depletion region itself, or if it must diffuse into the depletion region}. This diffusion process follows exponential distribution. If and once the avalanche is started, the impact ionization events follow Gaussian distribution (for example because of thermal vibrations etc.) and contributes some cumulative uncertainty \cite[p.31]{chao_thesis}, therefore it is important to detect the avalanche with the following circuitry as soon as possible to minimize the jitter accumulation.

\subsection{Dead time, quenching circuits and afterpulsing}
The time it takes for the diode to be quenched and recharged after detection is called the \textit{dead time}, because during this time, the \ac{SPAD} is unable to detect any incident photons.

If a passive quenching and recharging circuit as shown on \autoref{fig:spad_passive} is used, the quenching resistor $\mathrm{R_Q}$ has to be sized carefully. High values of the resistance speed up the quenching phase at the expense of the recharging phase and vice versa. There is an optimum value of resistance which minimizes the dead time, usually in the region of tens of \SI{}{\kilo\ohm}, but a dead time shorter than a few microseconds is impossible to achieve with resistor based passive quenching \cite{sim_quenching}. 

This is not necessarily a negative aspect, as having a quenching circuit which quenches and recharges the \ac{SPAD} too quickly is undesirable because of an effect called \textit{afterpulsing} \cite[p.14]{spad_kapitola}. Fabrication defects inside the PN junction can act as traps in the forbidden energy band, which become filled with charge carriers once the avalanche builds up. The relaxation time of these traps can be as long as tens of nanoseconds, depending on the quality of the fabricated \ac{SPAD}, which places a minimum dead time constraint. For example, suppose the \ac{SPAD} was quenched and recharged virtually instantly, i.e. well within a nanosecond. The excited traps would relax several nanoseconds later, releasing the trapped carriers back into the depletion region, starting another avalanche. This \enquote{false positive} afterpulse would be indistinguishable from avalanches caused by incident photos, acting as a time-correlated noise source.
 
Transistor current sources can be used for passive quenching as well, providing some level of control over the length of the phase, but thick oxide \ac{MOS} devices have to be used, as \ac{SPAD} diodes are biased with relatively high voltage (\SI{10}{\volt} and more).

\begin{figure}[htb]
	\centering
	\includegraphics[width=11cm]{obrazky/spad_active_circuit.pdf}
	\caption[Two-step \acs{PQAR} circuit]{Two-step \acs{PQAR} circuit \cite{fast_quenching}} \label{fig:spad_active}
\end{figure}

The current state of the art is commonly based on \ac{PQAR} circuits, an example of which from \cite{fast_quenching} is depicted on \autoref{fig:spad_active}. When the avalanche starts, the anode of the \ac{SPAD} is rapidly pulled high, quenching the diode, and the inverter output goes low. The parasitic capacitance $C_\mathrm{P}$, which represents the total capacitance of the devices connected to this node as well as the free charge carriers in the PN junction of the \ac{SPAD}, is slowly discharged by the current $I_\mathrm{QCH}$, which is smaller than \ac{IQ}, guaranteeing that afterpulsing cannot occur. This slow discharge phase continues until the voltage at the anode of the \ac{SPAD} crosses $V_\mathrm{TH2}$. At that point the NOR gate output goes high, turning $\mathrm{M_1}$ on, which discharges the rest of the parasitic capacitance quickly, recharging the diode junction capacitance and completing the detection cycle as the invertor gate output goes low again, shutting $\mathrm{M_1}$ off. 

The advantage of this two-step \ac{PQAR} circuit is the ability to control the dead time via $I_\mathrm{QCH}$ as necessary (low $I_\mathrm{QCH}$ safely prevents afterpulsing at the cost of longer dead time).

According to a survey of current art \cite{compact_quenching}, the dead time of actively recharged \acp{SPAD} usually ranges from 10 to \SI{100}{\nano\second}, and a \SI{6}{\nano\second} dead time has been achieved by \cite{fast_quenching}. It has to be noted that a large part of the decrease of dead time has been caused by the progress of \ac{SPAD} manufacturing, as higher quality processes decreased the chance of afterpulsing dramatically and the recharge phase could be hastened \cite{sipm_lecture}. This is demonstrated by \cite{pqar_quenching}, where a dead time of \SI{8}{\nano\second} was reached with an afterpulsing probability of 0.08\%.

\subsection{\acl{PDE}}
\label{sec:PDE}

To quantify the quality of a \ac{SPAD} diode, its \ac{PDE} can be evaluated. The \ac{PDE} is defined as a product of the geometric \ac{FF} and the \ac{PDP}, which is, in turn, a product of \ac{AP} and \ac{QE} of the \ac{SPAD} \cite{sipm_lecture}:
\begin{equation}
\mathit{PDE} = \mathit{FF} \cdot \mathit{PDP} =  \mathit{FF} \cdot \mathit{AP} \cdot \mathit{QE}
\label{eq:PDE}
\end{equation}

The \acl{FF} is the ratio of the optically sensitive area of the diode and its total area. The \acl{QE} of a diode is a factor quantifying the probability of the photon penetrating into the silicon, being absorbed in the depletion region and creating an electron-hole pair. However, even if an electron-hole pair is created in the correct area of the diode, it is still possible it will not create a self-sustaining avalanche due to statistical effects (thermal vibrations of the crystalline lattice etc.). This is quantified by the \acl{AP}.

The \acl{FF} is determined by the physical structure of the diode, its quenching and recharge circuits and the design of the pixel array. Usually, the larger the individual \ac{SPAD}, the higher the \ac{FF}. More complex quenching and recharging circuits or in-pixel \acp{TDC} take more space, reducing \ac{FF}.

The \acl{AP} is dependent on \ac{VE}. The higher the overvoltage, the higher the probability of a successful avalanche, as the electron-hole pair is accelerated by a higher electric field intensity. It is possible to reach \ac{AP} of 1 with sufficient overvoltage. High \ac{AP} however comes with a cost, as it also increases the possibility of undesired avalanches caused by crosstalk or the dark current.

Finally, the \acl{QE} of the diode is strongly dependent on the wavelength of the incident photon. For silicon \ac{SPAD}, maximum \ac{PDE} is usually reached for wavelengths between 400 to \SI{500}{\nano\meter}, and less than 10\% \ac{PDE} is common for \SI{900}{\nano\meter} photons, as seen on \autoref{fig:pde_vs_wavelength}.

\begin{figure}[htb]
	\centering
	\includegraphics[width=14.5cm]{grafy/pde_vs_wavelength.pdf}
	\vspace{-0.5cm}
	\caption[\acs{PDE} as a function of incident photon wavelength for two commercial \acs{SPAD} based \aclp{SiPM}, biased at $\mathrm{AP}=0.9$]{\acs{PDE} as a function of incident photon wavelength for two commercial \acs{SPAD} based \aclp{SiPM}, biased at $\mathrm{AP}=0.9$ \cite{pde_measuring}} \label{fig:pde_vs_wavelength}\vspace{-0.3cm}
\end{figure}

The reason for this inefficiency with longer wavelengths is that the PN junction of the \ac{SPAD} in common \ac{CMOS} processes is manufactured as P$^+$/N-well junctions, which are at maximum only a few micrometers deep (depending on the process node) \cite{integrated_spad}. Photons with wavelengths longer than \SI{790}{\nano\meter} have mean absorption depth in silicon over \SI{10}{\micro\meter} (see \autoref{fig:absorption_depth}) and therefore simply pass through the depletion region or through the whole die most of the time. 

\begin{figure}[htb]
	\centering
	\includegraphics[width=14.5cm]{grafy/absorption_depth.pdf}
	\vspace{-0.5cm}
	\caption[Mean absorption depth of photons in silicon at 300 K as a function of wavelength]{Mean absorption depth of photons in silicon at 300 K as a function of wavelength \cite{absorption_depth}} \label{fig:absorption_depth}\vspace{-0.3cm}
\end{figure}

To increase the depth of the depletion region, custom thick epitaxial layers were used in \cite{thick_spad} to achieve \ac{PDE} of 18\% at \SI{850}{\nano\meter}. Nearly 9\% \ac{PDE} at \SI{900}{\nano\meter} was reached by \cite{pqar_quenching} with the use of \ac{BSI} technology. More expensive materials such as InGaAs can be used for \acp{SPAD} even more sensitive to \ac{NIR} and \ac{IR} light due to their different absorption coefficient characteristics, increasing the \ac{SNR} and therefore the range of the \ac{LIDAR} system, but this is not an economically viable option for many commercial products.

\subsection{Dark count rate and crosstalk}
\label{subsec:dcr_crosstalk}

Dark current is a well known phenomenon in photodetectors and image sensors and is defined as the current flowing through the detector when no photons are entering it. In relation to \acp{SPAD}, the term \ac{DCR} is more commonly used, as \acp{SPAD} are essentially digital detectors, and the unit of \ac{DCR} is cps (counts per second). 

Dark counts are avalanches triggered even when no incident photons are hitting the \ac{SPAD}. There are two main causes of these avalanches: thermal generation and tunnelling. 

Thermal generation occurs in any semiconductor even without any external forces applied, as it is caused simply by the energy of the crystalline lattice thermal vibrations. These vibrations can generate electron-hole pairs on their own, but most commonly via trap-assisted generation, also known as Shockley-Read-Hall generation, where the traps are formed by fabrication defects in the crystalline structure. As soon as there is an electron-hole pair in the depletion region, an avalanche can be started, producing a dark count. In a \ac{SPAD} array, the pixels with traps can produce significantly more dark counts than the others, compromising the quality of the image. Due to the strong thermal dependency of this effect (\ac{DCR} doubles for every 5 to \SI{7}{\celsius} of temperature increase \cite{sipm_lecture}), \ac{LIDAR} devices usually provide better image quality when cooled.

The second mechanism is tunnelling, which is dependent on electric field intensity. Strong fields are created when the PN junction is narrow because of high doping concentrations of the PN region. In that case, the energy barrier stopping the carriers from jumping from the valence band on one side of the junction to the conduction band on the other side is narrow as well and can be crossed via quantum tunnelling. 

If the \ac{DCR} of a \ac{SPAD} is only weakly temperature dependent, it is clear that the tunnelling effect dominates, which is not optimal, as tunnelling can be minimized by better physical design of the \ac{SPAD} device. Both causes of \ac{DCR} are naturally proportional to \ac{VE} as well.

While \ac{DCR} represents temporally uncorrelated noise, crosstalk between neighbouring \acp{SPAD} acts as a correlated noise source (which is more difficult to filter out with \ac{DSP}). Electrical crosstalk can occur when the electron-hole pair is generated deep within one device (beyond the depletion region, i.e. in the substrate), as it is possible for them to diffuse sideways and trigger an avalanche in a neighbouring \ac{SPAD} \cite[p.32]{chao_thesis}. It can also be triggered by other types of substrate noise or power supply noise \cite[p.16]{spad_kapitola}. This type of crosstalk can be reduced by substrate isolation, such as deep N-wells or P-wells, but this reduces the \ac{PDP} at longer wavelengths.

Optical crosstalk is caused by photons created during an avalanche breakdown of the \ac{SPAD}. Photons are emitted via electro-luminescence and can travel laterally, triggering an adjacent device. Optical crosstalk can be reduced by limiting the avalanche current, increasing the distance between the \acp{SPAD} (the array pixel pitch) or by separating the neighbouring \acp{SPAD} with deep trench isolation \cite[p.33]{chao_thesis}.

\subsection{\acs{SPAD} imagers and \aclp{SiPM}}

As was explained in \autoref{sec:imaging_methods}, \textit{arrays} of detectors are used in \ac{DToF} \ac{LIDAR} systems so that high spatial resolution and/or high frame rate is achieved. There are two possible ways of creating \ac{SPAD} detector arrays. They do not differ in the connection of the \acp{SPAD} themselves, but rather in what terminal or terminals do they consider the output of the array.

The first method does not have a specific widespread name in literature, and will be called simply \enquote{\acs{SPAD} imager}. This is simply an array of \acp{SPAD} and their quenching circuits, sharing the ground and the high voltage supply line, as depicted on \autoref{fig:spad_passive} or \autoref{fig:spad_active}. Each individual \ac{SPAD} has its own digital output which is routed separately.

The other possibility contains \acp{SPAD} connected together in the same way, but the individual \acp{SPAD} no longer have their own output terminals. Instead, the output signal is either the current flowing through this parallel array of \acp{SPAD}, or the voltage at the so-called \enquote{fast output}. This array is called a \ac{SiPM} and is depicted on \autoref{fig:sipm}.

\begin{figure}[htb]
	\centering
	\vspace{-0.2cm}
	\includegraphics[width=12.5cm]{obrazky/sipm.pdf}
	\vspace{-0.3cm}
	\caption{Simplified \acs{SiPM} schematic} \label{fig:sipm}\vspace{-0.3cm}
\end{figure}

By connecting the \acp{SPAD} together, the \ac{SiPM} is no longer an imaging device and does not resolve spatial information. Instead, by summing the current from all the \acp{SPAD}, it provides analog representation of immediate incident optical signal intensity (which individual \acp{SPAD} cannot do), and depending on the number of pixels, this representation is very linear to a limit (when the light intensity is high enough, the \acp{SPAD} are mostly on all the time and the \ac{SiPM} is saturated). The loss of spatial information makes \acp{SiPM} incompatible with flash \ac{LIDAR}, but viable for scanning \ac{LIDAR}, which only illuminates a section of the \ac{FoV} at any given time.

While it is possible to restore some sense of spatial resolution by making an array of \acp{SiPM}, as demonstrated by \cite{sipm_array}, there are limits to this technique due to scale. If a resolution on the order of 100$\times$100 pixels is required, and each pixel actually consists of a \ac{SiPM} with at least a few tens of individual \acp{SPAD}, the number of devices can easily reach hundreds of thousands, which is very problematic due to cost, die size and yield of the fabrication process. 

To convert the analog current signal of a \ac{SiPM} to a voltage, a \ac{TIA} is used, such as on \autoref{fig:sipm_tia}.

\begin{figure}[htb]
	\centering
	\vspace{-0.2cm}
	\includegraphics[width=8cm]{obrazky/sipm_tia.pdf}
	\vspace{-0.3cm}
	\caption{Standard \acs{SiPM} readout with a \acs{TIA}} \label{fig:sipm_tia}\vspace{-0.3cm}
\end{figure}

The problem with this type of analog readout is the capacitance of large \ac{SiPM} arrays. The individual \acp{SPAD} which are turned on and the ones which are turned off act as a capacitive divider, and further parasitic capacitance is provided by the metal routing \cite{sipm_model}. The signal the \ac{TIA} needs to amplify is therefore very small. If the picosecond level temporal resolution of the \ac{SPAD} is to be preserved, the bandwidth of the \ac{TIA} needs to be in the order of a few \SI{}{\giga\hertz} at least, which combined with the \SI{}{\milli\volt}-level input signal (high precision, low noise requirement) is extremely challenging.

The prediction in the industry is that \ac{SPAD} imagers will be the photodetectors of choice in the future \cite[p.13]{sensl}. They preserve spatial information, allow flash \ac{LIDAR} and interface with fully or nearly fully digital front-end electronics, which makes them better suited for contemporary, primarily digital \ac{CMOS} processing technologies. While \ac{SPAD} imagers are inherently digital detectors and cannot provide analog intensity information, digital processing can partially restore it via photon counting (more details will be provided in the following \autoref{sec:tcspc}). 

An example of a contemporary state-of-the-art \ac{SPAD} imager is described in \cite{spad_imager}.

\section{\acl{TCSPC}}
\label{sec:tcspc}

\acf{TCSPC} is a statistical technique, allowing the restoration of the photon arrival times with picosecond resolution.

Let us suppose that our \ac{DToF} \ac{LIDAR} device consists of a single \ac{SPAD} diode. A single laser pulse is sent and a photon is detected by the \ac{SPAD}. The time interval between the laser pulse start and the photon detection is converted by the \ac{TDC} and a \ac{ToF} data point is created. In an ideal system with no noise sources, external effects, timing jitter etc. such a reading would be valid, however, in a real world, it is practically worthless. The detection in the \ac{SPAD} could have been a dark count caused by a thermal generation or a tunnelling event. Alternatively, the photon entering the detector could have been a photon originating from the Sun or other ambient light sources. And even if the photon did come from the laser pulse reflected from a distant target, the timing jitter of the \ac{SPAD} diode and the \ac{TDC} could have produced a significant random uncertainty in the final timestamp.

To solve this problem, the \ac{TCSPC} technique performs a large number of \ac{ToF} measurements and builds a statistically significant histogram out of them. To increase the statistical sample, several laser pulse cycles are performed and an array of \acp{SPAD} and \acp{TDC} is active at any given time. Assuming all the noise sources are temporally uncorrelated to the laser pulses (which might not always be a valid assumption, see \autoref{subsec:dcr_crosstalk}), the invalid readings act like white noise in the histogram, while the reflected photons pile up over time and produce peaks which can be discerned. An illustration of the technique is on \autoref{fig:tcspc}. 

\begin{figure}[htb]
	\centering
	\includegraphics[width=13.5cm]{obrazky/tcspc.pdf}
	\vspace{-0.3cm}
	\caption{Illustration of a \acs{TCSPC} histogram} \label{fig:tcspc}\vspace{-0.3cm}
\end{figure}

Usually the least computing-power intensive method of determining the correct \ac{ToF} is finding the \ac{ToF} corresponding to the highest peak in the histogram. Secondary peaks can also appear in the histogram, which is especially the case for Flash \ac{LIDAR} systems where multiple objects are illuminated by the diffused laser pulse at a time. In some cases, it can be difficult to determine whether the secondary peaks correspond to real objects, which is why these systems frequently employ more complex and power and area intensive post-processing, such as \ac{FIR} filters applied to the histogram, using dynamic thresholds etc.

There is an obvious trade-off between the time spent acquiring the data for the histogram and the frame rate. Especially in applications where the \ac{LIDAR} system is moving, it is important to build the histogram as soon as possible to prevent the peaks from smearing over time.

It has to be noted that while the histogram building logic does consume area and power, it is not a practical option to perform the histogram building elsewhere, i.e. on a separate microprocessor or an \ac{FPGA}, as the amount of \ac{ToF} conversions performed in larger arrays would require an extremely high bandwidth. For example, a 32$\times$32 \ac{SPAD} array with in-pixel 14-bit \acp{TDC} each producing conversions at \SI[per-mode=symbol,per-symbol = /]{10}{\mega\sample\per\second} would produce \SI[per-mode=symbol,per-symbol = /]{143}{\giga\bit\per\second} of raw \ac{ToF} data in total. Building the histogram on-chip or on a nearby chip (3D chip stacking, multi-chip modules etc. can be used for great benefit in these applications) and only transmitting the histogram data or the estimated correct \ac{ToF} makes the data rates much more manageable, saving power as well.

\subsection{Coincidence counting}

For \ac{LIDAR} systems used outdoors, \ac{TCSPC} might not be enough to produce an accurate \ac{ToF} reading in a practical time period. While optical bandpass filters attenuating wavelengths outside the spectrum of the laser are commonly equipped in \ac{LIDAR} systems, the disparity between the power of the laser and the solar ambient light can nevertheless prevent building a histogram with discernible peaks in time. When increasing the laser power, narrowing the optical filter or improving the photon collection efficiency are no longer an option, additional \ac{DSP} techniques need to be employed.

Coincidence or concurrency counting is a noise rejection technique enhancing \ac{TCSPC}. It takes advantage of the fact that reflected photons should be detected by the detector array at roughly the same time. A digital circuit called the discriminator or a coincidence detector is placed between the detector array and the \acp{TDC} and determines whether a sufficient amount of detections was detected in a defined time window. If the threshold condition is not met, the detections are ignored. If the number of detections is higher than the threshold, only then is the \ac{TDC} activated and the result is added to the histogram.

An illustration of the technique is shown on \autoref{fig:coincidence}. Digital pulses produced by the \acp{SPAD} are put out on the CH 1 to CH $\mathit{N}$ bus. A hit is counted only when at least three detections are made within $t_\mathrm{window}$, denoted by a green rectangle. Over a period of $M$ laser pulse cycles, a histogram of successful hits is built, containing less noise and more easily discernible peaks in comparison to simple \ac{TCSPC}.

\begin{figure}[htb]
	\centering
	\vspace{-0.2cm}
	\includegraphics[width=14cm]{obrazky/coincidence.pdf}
	\vspace{-0.3cm}
	\caption{Illustration of coincidence counting} \label{fig:coincidence}
	\vspace{-0.3cm}
\end{figure}

In current literature, two main ways of implementing coincidence counting are common. The first method, used by \cite{coincidence_or}, is to use a large OR tree to combine several \ac{SPAD} output lines together, forming a unit called a macropixel. Whenever this combined line goes high, a timer is started. A detection is registered only if the subsequent pulses on the combined line cause a counter to reach its threshold before the timer runs out.

A second method, employed by \cite{coincidence_and1} or \cite{coincidence_and2}, is to shorten the \ac{SPAD} pulses to a defined time (the coincidence window) and check their concurrency via combinational logic. In \cite{coincidence_and1}, a macropixel of 12 \acp{SPAD} is checked for a concurrency of at least two pulses via a combinational logic network made from full adders, half adders and a large OR. 

The advantage of the second method over the first one is that with D-latches and another adder, the number of concurrent detections is registered as well, which is a valuable piece of information for building the histogram in a time efficient manner. The first method loses the ability to count the number of concurrent pulses, as it combines the \ac{SPAD} outputs into a single digital line and the pulses can overlap. This also decreases the spatial resolution of the array, as it is no longer determined by the size of an individual pixel, but rather the whole macropixel.

 On the other hand, the second method requires a well balanced timing network for all the signal paths and is generally more area intensive and therefore harder to implement for larger \ac{SPAD} arrays. Another advantage of the first method is its capability of changing the threshold digitally during the operation, possibly depending on the ambient light level, while the second method's concurrency threshold is fixed by the combinational logic design.