3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 ·...

56
UPTEC F10 019 Examensarbete 30 hp Mars 2010 3D imaging using time-correlated single photon counting Thomas Neimert-Andersson

Transcript of 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 ·...

Page 1: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

UPTEC F10 019

Examensarbete 30 hpMars 2010

3D imaging using time-correlated single photon counting

Thomas Neimert-Andersson

Page 2: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected
Page 3: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student

Abstract

3D imaging using time-correlated single photoncounting

Thomas Neimert-Andersson

This project investigates a laser radar system. The system is based on the principles oftime-correlated single photon counting, and by measuring the times-of-flight ofreflected photons it can find range profiles and perform three-dimensional imaging ofscenes. Because of the photon counting technique the resolution and precision thatthe system can achieve is very high compared to analog systems. These propertiesmake the system interesting for many military applications. For example, the systemcan be used to interrogate non-cooperative targets at a safe distance in order togather intelligence. However, signal processing is needed in order to extract theinformation from the data acquired by the system. This project focuses on the analysisof different signal processing methods.

The Wiener filter and the Richardson-Lucy algorithm are used to deconvolve the dataacquired by the photon counting system. In order to find the positions of potentialtargets different approaches of non-linear least squares methods are tested, as well asa more unconventional method called ESPRIT. The methods are evaluated based ontheir ability to resolve two targets separated by some known distance and theaccuracy with which they calculate the position of a single target, as well as theirrobustness to noise and their computational burden.

Results show that fitting a curve made of a linear combination of asymmetricsuper-Gaussians to the data by a method of non-linear least squares manages toaccurately resolve targets separated by 1.75 cm, which is the best result of all themethods tested. The accuracy for finding the position of a single target is similar between the methods but ESPRIT has a much faster computation time.

ISSN: 1401-5757, UPTEC F10 019Examinator: Tomas NybergÄmnesgranskare: Mikael SternadHandledare: Markus Henriksson och Lars Sjöqvist

Page 4: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected
Page 5: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Populärvetenskaplig

sammanfattning

Laser-radar (LADAR) kan användas för att göra tredimensionella avbildningar av scener. Till skillnad från

vanliga kameror, som bara registrerar intensiteten på ljuset som reflekteras från en scen och på så sätt skapar

en bild av scenen, så registrerar laser-radarsystem även avståndet i scenen. Detta gör de genom att mäta tiden

det tar från att en laserpuls sänts ut tills dess att den kommer tillbaka, reflekterad från något objekt. Eftersom

ljushastigheten är känd går det att räkna ut hur långt borta objektet befinner sig. LADAR-systemet som

används i det här projektet mäter avstånd och intensitet i en punkt i taget, varpå man måste vrida systemet för

att mäta nästa punkt för att tillslut ha scannat av en hel scen och kunna skapa en tredimensionell bild av

scenen. Detta skiljer sig från en vanlig kamera som ju mäter intensiteten i flera punkter samtidigt, och gör

också att en 3D-avbildning av en stor scen blir en relativt tidskrävande process.

Istället för att scanna av hela scener och skapa tredimensionella avbildningar kan man mäta i endast en punkt

(riktning), vilket skapar en endimensionell avbildning som man brukar kalla avståndsprofil (eng. range

profile). Till exempel kan man mäta mot ett tvåglasfönster, vilket kommer att resultera i att lite ljus

reflekteras från både den främre och den bakre glasrutan, och avståndet mellan dessa glasrutor kan då

beräknas vilket ger information om tvåglasfönstrets avståndsprofil.

När man mäter avståndet till en viss punkt i en scen finns det alltid en viss mätosäkerhet som beror på

systemet. På samma sätt, om man mäter en avståndsprofil och får tillbaka flera olika avstånd från samma

riktning så finns det en viss osäkerhet i dessa avstånd. I fallet med tvåglasfönstret, om den främre och den

bakre glasrutan är väldigt nära varandra så kan osäkerheten i de uppmätta avstånden göra att det inte går att

urskilja båda glasrutorna. Det minsta avståndet mellan två objekt som går att mäta i en avståndsprofil avgör

systemets upplösning (i djupled). För fotonräknande system, som är en typ av LADAR-system, är

osäkerheten väldigt liten jämfört med andra system. Detta medför att upplösningen man kan uppnå med ett

fotonräknande system är väldigt hög.

När man använder LADAR-systemet får man inte ut avstånden på en gång, utan man får ut en signal. För att

kunna tolka denna signal och få ut den information man vill åt (avstånd och intensitet) krävs det

signalbehandlingsmetoder. Med bra kunskap om det system man använder kan man t.o.m. öka upplösningen

för systemet m.h.a signalbehandling. Det här projektet fokuserar på användandet av olika

signalbehandlingsmetoder för att åstadkomma bästa möjliga precision och upplösning vid bestämning av

avstånd och avståndsprofiler.

Uppsala universitet

3D imaging using time-correlated single photon counting! v

Page 6: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected
Page 7: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Preface

This thesis is the result of my diploma project, which was carried out at the Swedish Defence Research

Agency as a small part of a larger project during the time period August 2009 – January 2010. This

completes my education to a master’s degree in Engineering Physics at Uppsala University.

Uppsala University

3D imaging using time-correlated single photon counting! vii

Page 8: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected
Page 9: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Acknowledgements

I would like to thank my supervisors Markus Henriksson and Lars Sjöqvist at the Swedish Defence Research

Agency (FOI) for encouraging me to investigate my own ideas and letting me do things my way, and for

helping me when things did not go the way I wanted it to. Also, I would like to thank Christina Grönwall at

FOI and Professor Mikael Sternad at the Institution of Signals and Systems at Uppsala University for helping

me with some of the signal processing theory.

Uppsala University

3D imaging using time-correlated single photon counting! ix

Page 10: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected
Page 11: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Contents

______________________________________________________1 Introduction! 1

_____________________________________________________________________________1.1 Background! 1

__________________________________________________________________________1.2 Project outline! 1

____________________________________________________________________________1.2.1 Purpose! 1

_______________________________________________________________________1.2.2 Previous work! 4

___________________________________________________________2 Theory! 5

__________________________________________________2.1 Time-correlated single photon counting! 5

_____________________________________________________________________2.1.1 General principle! 5

___________________________________________________________________________2.1.2 Time jitter! 8

_________________________________________________________________________2.2 Deconvolution! 10

________________________________________________________________________2.2.1 Wiener filter! 10

__________________________________________________________2.2.2 Richardson-Lucy algorithm! 13

_____________________________________________________________________________2.3 Detection! 14

___________________________________________________________________________2.3.1 ESPRIT! 14

____________________________________________________________2.3.2 Non-linear least squares ! 17

___________________________________________3 Experimental methods! 19

____________________________________________________________________3.1 The TCSPC system! 19

________________________________________________________________________3.2 Measurements! 20

_____________________4 Implementation of signal processing methods! 22

_____________________________________________________________4.1 Signal processing methods! 22

Uppsala University

3D imaging using time-correlated single photon counting!

Page 12: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

_____________________________________________________________________________4.1.1 Model! 22

________________________________________________________________________4.1.2 Wiener filter! 24

__________________________________________________________4.1.3 Richardson-Lucy algorithm! 25

___________________________________________________________________________4.1.4 ESPRIT! 26

____________________________________________________________4.1.5 Non-linear least squares ! 28

______________________________________________________________________4.2 Image processing! 29

______________________________________________________________________4.2.1 Segmentation! 30

________________________________________________________________________4.2.2 Plane fitting! 31

____________________________________________________________________________4.2.3 Cones ! 32

_________________________________________________________5 Results! 33

_______________________________________________________________5.1 One-dimensional results ! 33

_____________________________________________________________________5.1.1 Deconvolution! 33

__________________________________________________________________________5.1.2 Detection! 35

______________________________________________________________5.2 Three-dimensional results! 38

________________________________________________________________________5.2.1 Plane fitting! 38

____________________________________________________________________________5.2.2 Cones ! 39

_____________________________________________________6 Conclusions! 40

______________________________________________________________________________6.1 Methods! 40

________________________________________________________________________6.1.1 Wiener filter! 40

___________________________________________________________________________6.1.2 ESPRIT! 40

____________________________________________________________6.1.3 Non-linear least squares ! 40

_______________________________________________________________________6.1.4 Comparison! 41

________________________________________________________________6.2 Possible improvements ! 41

_______________________________________________________References! 43

Uppsala University

3D imaging using time-correlated single photon counting!

Page 13: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

1 Introduction

1.1 Background

Range profiling using time-of-flight (TOF) photon counting techniques takes advantage of the particle

behaviour of light. This makes it possible to achieve very high resolution in remote range profiling, which is

of considerable interest in many military applications [1]. For example, it is possible to detect and classify

threats, such as weapons, by their optical signatures at a safe distance. There are also civilian applications in

for example archeology, since it is possible to make three-dimensional images of light sensitive objects due

to the low power needed from the laser. For the same reason, photon counting techniques can be used for

medical imaging purposes, in order to keep the radiation dose at a minimum (see [2]). In fact, the photon

counting system used in this project was originally designed for measuring fluorescence lifetimes and for

bioanalytical purposes, and historically, the analysis of molecules in biology and chemistry using

fluorescence spectroscopy has been a very large area of application for photon counting techniques. Even

though the acquisition times for photon counting systems generally are longer than for analog systems, the

superior resolution and accuracy that the photon counting systems can offer are often of higher importance

[3]. However, due to imperfections in the photon counting systems the high accuracy and resolution that the

technique offers cannot be fully utilized from the start. Signal processing has to be applied in order to make

use of the technique to its full extent.

1.2 Project outline

In the upcoming chapters the principles of the photon counting system are described, together with its

advantages over analog systems and its limitations due to imperfections and non-ideal components. In the

next subsections the outline of this project is stated based on the limitations and problems in the current

system.

1.2.1 Purpose

As previously mentioned and as will be explained in detail later, the photon counting system has some

imperfections that cause a non-ideal impulse response, which affects the precision and resolution with which

it can image objects. This impulse response is usually called the instrument response function (IRF).

However, with detailed knowledge about the impulse response, signal processing methods can be used to

improve the precision and resolution, and thus we can obtain more information from the data than was first

possible. The raw data are in the form of histograms that contain one or several peaks, as shown in Fig. 1.1.

The information that is to be extracted is the positions and amplitudes of these peaks. This is essentially a

Uppsala University

3D imaging using time-correlated single photon counting" 1

Page 14: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

deconvolution and detection problem, where the deconvolution separates peaks that are too close together to

be resolved directly, and the detection finds the relative positions and amplitudes of these peaks.

Fig. 1.1 An example of the raw data that is to be analysed. It

is in the form of a histogram, and the required information is

the locations and amplitudes of the peaks.

The following signal processing methods will be examined:

• Deconvolution

– Wiener filter

– Richardson-Lucy algorithm

• Detection

– ESPRIT

– Non-linear least squares (NLS)

Deconvolving the data and detecting the peaks can be considered as a pre-processing part, and this is

essentially a one-dimensional signal processing problem. The photon counting system is however able to

scan a scene that is larger than the instantaneous field of view. Scanning provides a three-dimensional image

of the scene, which can be further analysed using image processing methods. This can be considered as a

post-processing part.

A full-scaled image analysis problem can be divided into smaller subproblems. The following subproblems

often describe an image analysis problem [4]:

1. Image acquisition

2. Pre-processing

0 100 200 300 400 500 600 700 8000

100

200

300

400

500

600

700

800

900

1000Histogram

Bins

Counts

Uppsala University

3D imaging using time-correlated single photon counting" 2

Page 15: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

3. Segmentation

4. Representation

5. Classification and recognition.

The image acquisition is the process of collecting the data. As mentioned above, the pre-processing step

consists of deconvolving each signal histogram acquired and detecting any peaks present in the signal, which

can be one or several. Each of these peaks can then be seen as a point in the resulting three-dimensional

image. The segmentation step deals with grouping points that belong to the same object and the

representation step labels these groups and represents them by some appropriate parameters. The

classification and recognition steps analyse the groups of points and hopefully recognize the different objects

present in the image.

In this project methods for classification and recognition are not considered. The focus will be on the pre-

processing and the segmentation steps. The representation part is merged together with the segmentation and

it will not be examined in detail. The studied geometrical objects will have simple geometry, such as cones,

spheres and flat surfaces.

Quality criteria

In order to evaluate the precision of the system and the performance of the algorithms, different quality

criteria must be used. For the deconvolution and detection methods the following quality criteria will be

used:

• Resolution – How short distance between peaks can be resolved?

• Accuracy – How accurately calculated are the positions of the peaks?

• Dependence on signal to noise ratio (SNR)

• Computational burden.

The data used to evaluate the signal processing methods will contain two peaks separated with a known

distance. This distance will be decreased and the precision with which the detection methods can calculate

this distance will be evaluated in terms of mean values and standard deviations. The studied data will have

different SNR values in order to check the robustness of the methods under the influence of noise.

The general performance of the system in terms of how accurately it can image a scene will be evaluated

using the following criteria:

• Fitting a mathematical plane to a known flat surface and calculate the distance from each point in the

measured data to the plane

• Calculating characteristic parameters for cones or spheres such as height and radius.

These criteria will also evaluate the performance of the studied signal processing methods.

Uppsala University

3D imaging using time-correlated single photon counting" 3

Page 16: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

1.2.2 Previous work

Many papers have been written on the subject of finding peaks in data from laser radar systems. A very

common method is the curve fitting approach, where a curve defined by some appropriate parameters is fitted

to the measured data by a method of least squares (usually non-linear). In [1], this method is examined with

the IRF approximated by a sum of five Gaussian base functions, which is subsequently fitted to the measured

data. In [5] the data is first deconvolved and then fitted by Gaussian functions. Recently, Buller et al.

proposed an algorithm based on a Reversible Jump Markov Chain Monte Carlo (RJMCMC) method which

has been shown to be very efficient in [6]. There are also maximum likelihood and non-parametric methods

such as bump hunting procedures studied in [6].

Deconvolution methods have been studied in [7], where the Richardson-Lucy algorithm is examined. In [5]

the Wiener filter is analysed and in [8] both the Richardson-Lucy algorithm and the Wiener filter are

examined.

Uppsala University

3D imaging using time-correlated single photon counting" 4

Page 17: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

2 Theory

2.1 Time-correlated single photon counting

In the following subsections the principles and basic features of TOF laser radar systems and time-correlated

single photon counting (TCSPC) systems are presented. A discussion about the differences between analog

and TCSPC techniques, and what makes the latter technique superior in terms of time resolution and

accuracy is included.

2.1.1 General principle

Time-of-flight laser radar systems are based on the fact that the speed of light is constant. By emitting light

towards a target and measuring the time to when the light returns, the distance to the target can be calculated

using the well known relation

! R =ct

2,! ! ! ! ! ! ! ! ! ! ! ! ! (2.1.1)

where c is the speed of light and t is the measured time-of-flight. The factor two is due to the fact that the

light travels back and forth to the target [1]. When the emitted light hits the target the light is generally

(though not necessarily) scattered in all directions, and the returning power can be expressed using the radar

range equation:

! PR=PT!T

"TR2# A$ #

AR!R

R2

# e%2&R

,! ! ! ! ! ! ! ! ! (2.1.2)

where PR and PT are the received and the transmitted powers, respectively [1]. "T denotes the laser beam

divergence, A# is the target cross section, AR is the aperture area of the receiver, ! is the atmospheric

attenuation and "R and "T are the efficiencies of the receiver and the transmitter, respectively [1]. These

equations are fundamental for all TOF laser radar systems, but as will be described next analog and TCSPC

systems differ in other aspects.

Analog systems emit laser pulses with a relatively high power. When a laser pulse is reflected by a target, it

is scattered and parts of the light travel back to the detector, as described by equations (2.1.1) and (2.1.2).

The detector converts the reflected optical signal into an electrical signal, which is then sampled by an

analog-to-digital converter. In short, the detector registers the intensity of the reflected optical signal, which

is illustrated in Fig. 2.1.

Uppsala University

3D imaging using time-correlated single photon counting" 5

Page 18: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Fig. 2.1 The principle of an analog system, which has a relatively high powered laser.

The reflected optical signal corresponds to the range profile of the targets and the

detector converts this signal into an electrical signal. An ADC samples the electrical

signal, yielding a discretized signal.

The TCSPC system is based on a different principle, and in this project it is called Reversed Start-Stop

TCSPC. The principle is illustrated in Fig. 2.2. As in the analog case the laser is pulsed, i.e. it sends out short

pulses with a repetition rate typically in the MHz range. However, unlike the analog system, the power of the

laser pulses is very low, which means that the probability of detecting any photons (reflected from some

distant target) is very low. Typically the probability of detection in one pulse cycle is in the range of 1-10$%.

Fig. 2.2 The principle of Reversed Start-Stop TCSPC. When a photon is detected in

any cycle, the timer starts and measures the time until the next laser pulse is emitted.

A histogram is then created with bins corresponding to time intervals and the number

of photons (counts) that have been detected in these intervals.

The detector is sensitive enough to be able to detect and count single photons. When a reflected photon hits

the detector, a photoelectron is emitted from the detector, creating an electrical signal. At the time when this

signal is registered a timer starts, and when the next laser pulse is emitted the timer stops. A ”1” is then

added to a memory with an address corresponding to the time measured [3]. So, instead of detecting the

!"!"#$"%&'($)#*+&,)-.*+

/"$"#$'0&*.%&1/2

3*4(+"%&"+"#$0)#*+&,)-.*+

5*0-"$,

6*,"0&(7+,"

!"#$%&' !"#$%&( !"#$%&)

*+,%-&./$,%,

0%1%#1%2&.34145,

!" !

#

67,148-+9

!"#$%&

'%!%(&%)*+,-&-.

!/0%

1203%#*-4*+,-&-.5

Uppsala University

3D imaging using time-correlated single photon counting" 6

Page 19: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

intensity of a reflected signal, a histogram is created with bins corresponding to the time when the photons

were detected and the number of detected photons (counts) on the vertical axis. Due to the low probability of

detection, most pulse cycles have no detections at all, some have one detected photon and pulse cycles with

more than one detected photon are very rare [3].

If a reflective target is present in the path of the laser pulses, it will appear as a peak in the histogram. The

absolute distance to the target can in general not be measured with this technique, since the measured time

depends on the repetition rate on the laser, which is unrelated to the absolute distance. Modifications of the

principle that make it possible to measure absolute distances have been proposed by Hiskett et al. in [9].

Anyways, assume that there is another target some distance further away (also in the path of the laser

pulses). This target will appear as another peak in the histogram, and the relative distance between these two

targets can be measured using equation (2.1.1) modified as

! !R =c(t

1" t

2)

2,! ! ! ! ! ! ! ! ! ! ! ! (2.1.3)

where t1 and t2 are the times-of-flight for the first and the second target, respectively. There is a problem that

can occur here. Since the time is measured from when the photon is detected to when the next laser pulse is

emitted, the maximum measurable time is the interval between two consecutive laser pulses. This

corresponds to the case with a target located so the reflected photons are detected exactly at the beginning of

a pulse cycle. Using equation (2.1.1), this time can be converted to the maximum measurable distance, which

gives a limit for how far apart two targets can be separated and still be measured correctly. If the distance

between two targets exceeds this maximum measurable distance, an ambiguity in the range profile will

occur, which is illustrated in Fig. 2.3.

Uppsala University

3D imaging using time-correlated single photon counting" 7

Page 20: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Fig. 2.3 Illustration of the range ambiguity. The first target is detected in the

beginning of a pulse cycle (circle), and the second target is detected in the end

of a cycle (star). This gives rise to a histogram corresponding to the range

profile of the targets. When the second target is moved a distance d from the

first target the reflected photons are detected in the beginning of the cycles,

giving a false range profile.

2.1.2 Time jitter

Jitter is the name of the random time variations that occur in the system, which determine the effective

resolution that can be achieved. The total time jitter can be expressed as

! !tsystem = !tlaser2

+ !tdetector2

+ !telectronics2

,! ! ! ! ! ! ! ! (2.1.4)

where #ti is the time jitter of the corresponding system component [1], i.e. the total time jitter is the RMS

value of a sum of jitter components, which are assumed to be jointly uncorrelated. The laser jitter is

dominated by the width of the laser pulse. When a photon hits the detector a photoelectron is emitted, and the

distance this photoelectron travels before it is registered and the timer starts varies due to the thickness of the

substrate in the detector. This non-ideal effect causes the jitter in the detector. Finally, the jitter in the

electronics is caused by all non-ideal effects associated with the electronical devices in the system, e.g. the

Time to Digital converter on the PCI-board needed for the data acquisition. The time jitter in the detector is

often the largest contribution to the total time jitter of the system. The total time jitter is commonly denoted

!

!

!"!"#$%&'($)*'"$+

Uppsala University

3D imaging using time-correlated single photon counting" 8

Page 21: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

the system instrument response function (IRF). The IRF is usually described using the full width half

maximum (FWHM) value, i.e. the width of the response at the points equal to half of the maximum of the

response, see Fig. 2.4.

! ! !

Fig. 2.4 An example of an IRF. The full width half maximum

is marked.

For analog systems, the bandwidth of the detector limits the performance of the system [3]. This means that

in order to resolve two peaks that are very close together, the bandwidth of the detector must be high. This is

an effect of the Fourier transform that relates the time domain to the frequency domain, which states that

when a signal is narrow in the time domain (i.e. when two peaks are close together) it will be wide in the

frequency domain. If the bandwidth of the signal is wider than the bandwidth of the detector, the signal will

be cut in frequency and smeared out in the time domain, making it more difficult to resolve multiple peaks.

However, for time-correlated single photon counting systems the factor that limits the performance is the

accuracy of the timing of the detected photons. The uncertainty of the timing is usually much lower than the

uncertainty caused by the bandwidth of the detector, meaning that the resolution that can be achieved by

TCSPC systems is higher than the resolution achieved by analog systems. In other words, the IRF of a

TCSPC system is shorter than the time response of an analog system [3].

As explained in section 2.1.1, the system can be used to measure relative distances between targets by

measuring the corresponding peaks in the histogram. Ideally these peaks are infinitesimally thin spikes,

which would be the case if the system had an IRF with a FWHM value equal to zero. However, since this is

not the case in the real world, the spikes will be smeared out in time, and if they are close together they will

melt in to one another. The FWHM value of the IRF gives the minimum distance between the targets that can

be clearly resolved (without using any signal processing). This is a simplified description of what is usually

called the Rayleigh criterion, and this defines the resolution of the system. Furthermore, the accuracy of the

system (or the signal processing methods) can be defined as the precision in which a peak in the histogram

can be measured in terms of position and amplitude.

10 20 30 40 50 60 70 80 90 1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bins

No

rma

lize

d c

ou

nts

FWHM

Uppsala University

3D imaging using time-correlated single photon counting" 9

Page 22: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

2.2 Deconvolution

Deconvolution is the inverse operation to convolution. Convolution is the operation used when describing

the influence of a linear system on a signal, i.e. the output signal from a system is the input signal convolved

with the system’s impulse response, as depicted in Fig. 2.5.

Fig. 2.5 The outgoing signal is the convolution

between the incoming signal and the impulse response

of the system.

The convolution for discrete systems is defined as

! y(n) = h(n)!d(n) = h(k)d(n " k)k="#

#

$ ,! ! ! ! ! ! ! ! (2.2.1)

where d(n) is the input signal (later called the desired signal) and h(n) is the impulse response of the system.

This means that a convolution weights input signals d(n – k) with the coefficients h(k), yielding the output

signal y(n). A convolution in the time domain is represented by a multiplication in the frequency domain, i.e.

! Y (! ) = H (! )D(! ) ,! ! ! ! ! ! ! ! ! ! ! (2.2.2)

where Y, H and D are the Fourier transforms of y, h and d, respectively. This means that deconvolving a

signal, i.e. restoring the input signal from the measured output signal, from the model in Fig. 2.5 is a simple

task provided that the impulse response is known and has a stable inverse. Taking the Fourier transform of

the output signal and dividing it with the Fourier transform of the impulse response will give the input signal.

However, the model in Fig. 2.5 is not very realistic, since noise is likely to be present in reality. Adding

measurement noise to the model yields the following expression:

! x(n) = y(n) + v(n) = h(n)!d(n) + v(n) ,! ! ! ! ! ! ! ! (2.2.3)

where v(n) is assumed to be white noise with zero mean. Restoring d(n) from this expression is more

difficult, and since there is no guarantee that H(#) has a stable inverse, simply dividing the Fourier transform

of x(n) by H(#) will most likely amplify the noise or cause an unstable solution.

There are several techniques for deconvolving signals containing noise like that in equation (2.2.3). In this

project, two of them will be examined, the Wiener filter and the Richardson-Lucy algorithm.

2.2.1 Wiener filter

The Wiener filter was proposed by Norbert Wiener in the 1940s. Under certain conditions the Wiener filter is

an optimal filter, i.e. it gives the best possible estimation of a signal under the given circumstances. There are

!!""

#!"" $!""#$#!!""%#!""

Uppsala University

3D imaging using time-correlated single photon counting" 10

Page 23: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

a few variants of a Wiener filter, and they can be divided into two groups: finite impulse response (FIR) and

infinite impulse response (IIR) Wiener filters. The Wiener filter can be expressed in the following form [10]:

! W (z!1) = w(n)z

!n

n=M

N

" ,! ! ! ! ! ! ! ! ! ! ! (2.2.4)

where w(n) are the filter coefficients in the time domain and z is the complex variable in the z-transform.

Depending on the values of M and N, four different types of Wiener filters can be created [10]:

• Causal FIR filter, for M$=$0 and M$<$N$<$%

• Non-causal FIR filter, for –$%$<$M$<$0 and 0$<$N$<$%

• Causal IIR filter, for M$=$0 and N$=$%

• Non-causal IIR filter, for –$%$&$M$<$0 and N$=$%.

The Wiener filter minimizes the mean square error (MSE), as illustrated in Fig. 2.6.

Fig. 2.6 The Wiener filter estimates the signal d(n + m | n) by minimizing the mean

square error E e(n)2{ } . The parameter m specifies filtering, prediction or smoothing

of the data.

The measurement noise v(n) is assumed to be white with variance !v

2 and zero mean, and to be uncorrelated

with the input signal d(n). If the noise is assumed to be Gaussian distributed, minimizing the MSE is

equivalent to maximizing the corresponding likelihood function of the problem, see [11] and [12] for details.

Under these assumptions the Wiener filter is an optimal filter, both in the MSE and in the maximum

likelihood sense. The parameter m can be chosen in different ways to give the filter different properties. The

following values of m give the filter the properties [10]:

• Filtering, m$=$0

This value gives a causal filter that estimates d(n) using only past and current values of x(n)

• Prediction, m$>$0

This value gives a causal filter that estimates (predicts) d(n$+$m) using past and current values of x(n)

• Smoothing, m$<$0

This gives a non-causal filter that estimates d(n$+$m) using past, current and future values of x(n).

!!"" !#!""

$!""

%!""#$#!!""%#!""#&#$!""

!&!""

!

#!"#&#'('#""

#!"#&#'('#""

"

!

)!""

Uppsala University

3D imaging using time-correlated single photon counting" 11

Page 24: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

The Wiener filter coefficients w(n) can found using the Wiener-Hopf equations, which can be derived using

the model in Fig. 2.6. Doing this results in the expression

! w( j)rx (k ! j) = rdx (k + m)j=0

p!1

" ,! ! ! ! ! ! ! ! ! (2.2.5)

where rx and rdx denote the autocorrelation of x(n) and the cross-correlation between d(n) and x(n),

respectively. If we expand the sum in (2.2.5), we get

!

rx (0) rx*(1) … rx

*(p !1)

rx (1) rx (0) ! "

" ! ! rx*(1)

rx (p !1) … rx (1) rx (0)

"

#

$$$$$

%

&

'''''

w(0)

w(1)

"

w(p !1)

"

#

$$$$$

%

&

'''''

=

rdx (m)

rdx (m +1)

"

rdx (m + p !1)

"

#

$$$$$

%

&

'''''

,! ! (2.2.6)

and these equations are the Wiener-Hopf equations. These equations are ideal for finding FIR Wiener filters

of order p$–$1. Adjusting the parameter m makes it possible to choose from causal and non-causal filters.

However, to create IIR Wiener filters, it is not possible to implement the equations in (2.2.6). Creating non-

causal IIR Wiener filters is no problem in theory, if we adjust the limits in the summation in equation (2.2.5)

to be

! rdx (k + m) = w( j)rx (k ! j)j=!"

"

# ,! ! ! ! ! ! ! ! ! (2.2.7)

we see that the right side of the equation is a convolution, i.e.

! rdx(k + m) = w(k)! r

x(k) .! ! ! ! ! ! ! ! ! ! (2.2.8)

In frequency domain equation (2.2.8) becomes

! Pdx(z

!1) =W (z

!1)P

x(z

!1) ,! ! ! ! ! ! ! ! ! ! (2.2.9)

where Pdx(z–1) is the cross-power spectrum between d(n) and x(n), and Px(z–1) is the power spectral density of

x(n). Finding the Wiener filter coefficients from equation (2.2.9) is an easy task. Non-causal IIR filters are

not realizable in practice, but being the best theoretical filter achievable gives a limit for how good filters we

can get in reality. Finding a causal IIR Wiener filter is a little more cumbersome than finding a non-causal

filter and the details are presented in [10]. To find an expression for a causal IIR Wiener filter, a spectral

factorization of Px(z–1) is made giving the following expression [10]:

! Px(z

!1) = "

0

2Q(z

!1)Q

*(1 / z

*!1) ,! ! ! ! ! ! ! ! ! (2.2.10)

where !0

2 is the variance of some driving noise and Q(z–1) is a minimum phase and monic system. The final

expression for the causal IIR Wiener filter is given by [10]:

Uppsala University

3D imaging using time-correlated single photon counting" 12

Page 25: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

! W (z!1) =

1

"0

2Q(z

!1)

Pdx (z!1)

Q*(1 / z

*–1)

#

$%

&

'(+

,! ! ! ! ! ! ! ! ! (2.2.11)

where the brackets denote the causal part of the enclosed polynomial, i.e. the part with only negative powers

of z.

When the Wiener filter has been acquired, the estimated desired signal is found by filtering the observed

signal through the Wiener filter, as can be seen in Fig. 2.6.

2.2.2 Richardson-Lucy algorithm

We have seen above that the Wiener filter is an optimal filter under the assumption of Gaussian distributed

noise. Even though the central limit theorem states that every distribution with finite mean and variance will

converge to a Gaussian distribution as the number of independent stochastic variables approach infinity, it

cannot be guaranteed that the data can be accurately approximated with a Gaussian distribution. For

example, in a photon counting laser radar system the noise follows photon statistics, which is best described

by a Poisson distribution. The Richardson-Lucy algorithm is a method of maximum likelihood, derived

under the assumption of Poisson distributed noise [13].

The derivation of the Richardson-Lucy algorithm is based upon the assumption that the observed data can be

modelled as a Poisson process. The Poisson probability distribution is written as

! P(x,!) =!xe"!

x!,! ! ! ! ! ! ! ! ! ! ! ! (2.2.12)

where x is the observed data and $ is the average rate with which the events occur (i.e. the number of

photons detected during some time interval). The data is described by the equation

! x(n) = h(n)!d(n) + v(n) ,! ! ! ! ! ! ! ! ! ! (2.2.13)

where h(n) is the impulse response and d(n) is the desired (input) signal. The noise v(n) is now assumed to be

described by a Poisson distribution instead of a Gaussian. By setting $%=%h(n)*d(n) in equation (2.2.12), we

obtain an expression for the likelihood function to be maximized [13]:

! P(x | d) = !n

h(n)"d(n)( )x(n)

e#h(n)"d (n)

x(n)!

$

%&

'

() ,!! ! ! ! ! ! ! (2.2.14)

where the product over n is a result of Bayes’ rule. Since the Poisson distribution is a discrete distribution,

x(n) can only take positive integer values. The function that maximizes equation (2.2.14), i.e. the estimate of

the function d(n) that is most likely to explain the observed data x(n), is given by (see [13] and [14] for

details):

! di+1(n) = d

i(n)

x(n)

h(n)! di(n)

!h("n)#

$%&

'(.! ! ! ! ! ! ! ! (2.2.15)

Uppsala University

3D imaging using time-correlated single photon counting" 13

Page 26: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

This is clearly an iterative algorithm, where after every iteration the equation

! x(n) = h(n)! di(n) + "

i(n) ,! ! ! ! ! ! ! ! ! ! (2.2.16)

must be satisfied, where &i denotes the equation error [8].

2.3 Detection

The detection part of the problem is where the information of the peaks’ locations is extracted from the data.

Many different methods for finding peaks in data acquired by TCSPC, ranging from simple bump hunting

procedures to more advanced algorithms have been described. In this project, two different methods will be

analysed. One is a very common algorithm when dealing with laser radar systems, which is based on solving

a non-linear least squares problem. The other algorithm, called ESPRIT, is frequently used in spectral

analysis, but it will be shown that it can be used to find peaks in TCSPC data as well.

2.3.1 ESPRIT

ESPRIT (Estimation of Signal Parameters using Rotational Invariance Techniques) is a subspace-based

method for estimation of the line spectrum of a signal with sinusoidal components. Subspace-based methods

take advantage of the eigenstructure of the signal’s autocovariance matrix, which contains complete

information of the signal frequencies [11]. The reason why the methods are denoted ”subspace” originates

from the fact that the autocovariance matrix can be separated into a signal and a noise space, respectively.

Moreover, ESPRIT relies on a rotational transform, which gives the method its name.

Next, the essential steps in the derivation of the algorithm are shown for sinusoidal signals, and how the

algorithm can be generalized to waveforms from TCSPC data. The full derivation of ESPRIT can be found in

[11].

Sinusoidal signal model

Assume that the signal can be written as a superposition of complex-valued time dependent sinusoids

disturbed by white noise,

! xsin(n) = d

sin(n) + v(n) ;! ! d

sin(n) = ! pe

i(" pn+# p )

p=1

j

$ ,! ! ! ! ! (2.3.1)

where dsin(n) is the desired sinusoidal signal and xsin(n) is the observed signal. It is critical for the algorithm

that the noise v(n) is white [11]. The autocovariance sequence (ACS) of x(n) is given by

! rsin(k) = E x

sin(n)x

sin

*(n ! k){ } = " p

2ei# p k +$

2%k ,0

p=1

j

& ,! ! ! ! ! ! (2.3.2)

where !2 is the variance of v(n) and 'k,l denotes the Kronecker delta function [11]. E{·} denotes the

expectation operator. As stated earlier, ESPRIT uses the eigenstructure of the signal’s autocovariance matrix,

which is defined by

Uppsala University

3D imaging using time-correlated single photon counting" 14

Page 27: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

!

R =

rsin(0) r

sin(1) … r

sin(m !1)

rsin

*(1) r

sin(0) ! "

" ! ! rsin(1)

rsin

*(m !1) … r

sin

*(1) r

sin(0)

"

#

$$$$$

%

&

'''''

.! ! ! ! ! ! ! (2.3.3)

Under certain conditions the eigenvalues of R can be written like [11]:

!

!k > "2

k = 1,… j

!k = " 2k = j +1,…,m

#

$%

&%!! ! ! ! ! ! ! ! ! (2.3.4)

From (2.3.4) R can be divided into a signal space and a noise space. ESPRIT uses the signal space when

estimating the spectrum, which is the space spanned by the eigenvectors associated with the first j

eigenvalues in (2.3.4). In other words, the signal space is the space spanned by all linear combinations of the

columns of the (m$'$j) matrix [11]

! S = s

1,…, s j!" #$ ,! ! ! ! ! ! ! ! ! ! ! ! (2.3.5)

where si denotes the eigenvector associated with the ith eigenvalue. The spectrum can be found through the

relation

! ! = (S1

*S1)"1S1

*S2,! ! ! ! ! ! ! ! ! ! ! ! (2.3.6)

where

! S1= I

m!1 0"#

$%S ;!! S

2= 0 I

m!1"#

$%S !! ! ! ! ! (2.3.7)

and where Im$–$1 denotes the identity matrix of size ((m$–$1)$'$(m$–$1)) [11]. The arguments of the eigenvalues

of the matrix ( can be shown to equal the sought frequencies.

Waveforms from TCSPC data

We have seen that ESPRIT can be applied to signals that can be assumed to be written like (2.3.1), i.e. a sum

of sinusoidals with white noise added. The received TCSPC signal will not be a sinusoid, but it will have

properties that make it possible to rewrite the signal to fit the model (2.3.1). The desired signal is expected to

be linear combination of Dirac pulses. The observed signal is therefore a linear combination of IRF:s.

Consequently, an appropriate signal model (for the moment noise-free) for TCSPC applications can be

written like

! X(! ) = "pH (! #!

p)

p=1

j

$ ,! ! ! ! ! ! ! ! ! ! (2.3.8)

Uppsala University

3D imaging using time-correlated single photon counting" 15

Page 28: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

where H(#) is the system IRF and X(#) is the observed data. The IRF:s are translated by #p and have the

amplitudes )p. Using the Fourier transform and (2.3.8), the following expression is obtained

! x(n) = ! pei" pnh(n)

p=1

j

# ,! ! ! ! ! ! ! ! ! ! ! (2.3.9)

where h(n) and x(n) are the Fourier transforms of the IRF and X(#), respectively. The translations in (2.3.8)

now appear in the exponent in (2.3.9). Comparing (2.3.9) and (2.3.1) shows that the translations correspond

to the frequencies. If we let

! d(n) = ! pei" pt

p=1

j

# ,! ! ! ! ! ! ! ! ! ! ! (2.3.10)

we see that

! x(n) = d(n)h(n) , !! ! ! ! ! ! ! ! ! ! ! (2.3.11a)

or equivalently

! X(! ) = D(! )"H (! ) ,! ! ! ! ! ! ! ! ! ! ! (2.3.11b)

where D is the Fourier transform of d. D is the desired signal and since it is the Fourier transform of d it is a

linear combination of Dirac pulses. Before ESPRIT can be applied X(#) must be deconvolved. Since

ESPRIT requires the ACS, which by definition is the Fourier transform of the power spectral density (PSD),

X(#) and D(#) are approximated by the power spectral densities Px(#) and Pd(#). Here Px(#) is the PSD of

x(n) and Pd(#) is the PSD of d(n). This is appropriate since both the observed data and the desired signal are

real and positive semidefinite, which are properties of a PSD. The approximation does not affect the

frequencies, but the amplitudes are slightly distorted. From LTI (Linear Time Invariant) system theory there

is a well known relation that states1

! Px(! ) = P

d(! )"H (! )"H

*(#! ) ,! ! ! ! ! ! ! ! ! (2.3.12)

as shown in Fig. 2.7.

Fig. 2.7 Illustrates a LTI system and the relation between input and

output signals and the corresponding PSD:s.

The PSD is defined by

!!!""!!"

#$!!"

%!!"#$#"!!"%!!!"

#&!!"#$##

$!!"%!!!"%!

'!&!"

Uppsala University

3D imaging using time-correlated single photon counting" 16

1 Actually, the relation says: rx(k) = r

d(k) ! h(k) ! h

*("k) , but since the convolution is in the frequency domain instead of the

time domain, equation (2.3.12) is the corresponding relation.

Page 29: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

! P(! ) = r(k)e" i! k

k="#

#

$ ,! ! ! ! ! ! ! ! ! ! ! (2.3.13)

so the ACS is obtained from the PSD by an inverse Fourier transform of equation (2.3.12) according to

! rx(k) = r

d(k) h(k)

2,! ! ! ! ! ! ! ! ! ! ! (2.3.14)

where rx(k) is the ACS of x(n) and rd(k) is the ACS of d(n). From the first term in equation (2.3.2) rd(k) can

be obtained, and when inserted into equation (2.3.14) we get

! rx (k) = ! p

2ei" p k h(k)

2

p=1

j

# .! ! ! ! ! ! ! ! ! ! (2.3.15)

Dividing (2.3.15) by h(k)2

(and adding noise) yields the same ACS as equation (2.3.2), representing a true

sinusoid. It is however dangerous to perform the division, since noise will be present and probably amplified

by this operation. This problem is overcome by adding a noise term to the denominator, which should

optimally be equal to the noise variance. The final ACS is given by

! rsin(k) =

rx(k)

h(k)2+ N

,! ! ! ! ! ! ! ! ! ! ! (2.3.16)

where N is the noise term. It is important to remember that h(k) denotes the Fourier transform of the IRF, and

not the IRF itself. From here it is straightforward to apply the ESPRIT algorithm. Moreover, equation

(2.3.16) is very similar to a Wiener filter obtained under the assumptions made earlier, i.e. X(#)$($Px(#) and

D(#)$($Pd(#).

2.3.2 Non-linear least squares

As explained earlier, the non-linear least squares (NLS) algorithm is a common algorithm when analysing

laser radar data, and just like ESPRIT, it is a common algorithm in spectral analysis. In section 2.2.1, we saw

that the Wiener filter minimizes a least squares problem, which could also be seen as a method of maximum

likelihood. That was a linear least squares problem, but in this section we consider a non-linear problem.

Under the assumption of Gaussian noise, the equivalence with the maximum likelihood still remains [11].

The non-linearity originates from the fact that the function to be minimized looks like:

! f (! p ,t p ) = x(n) " ! ph(n " t p )p=1

j

#n=1

N

#

2

= x(n) " ! pq" t p h(n)

p=1

j

#n=1

N

#

2

,! ! ! (2.3.17)

which is non-linear since the argument tp enters the expression in a complicated non-linear way. N is the

number of samples in the data, j is the number of responses and q–k denotes the delay operator, defined by

! q!ky(n) = y(n ! k) .! ! ! ! ! ! ! ! ! ! ! (2.3.18)

Uppsala University

3D imaging using time-correlated single photon counting" 17

Page 30: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

It is assumed that the measured data x(n) can be written as a linear combination of IRF:s, where h(n) denotes

the system IRF. This linear combination can be expressed according to

!

x(n) = q! t1h(n) … q

! t j h(n)"#

$%

&1

!

& j

"

#

'''

$

%

(((= ) T

(n)* .!! ! ! ! ! (2.3.19)

Linear regression is most commonly expressed in this form, but in that case all arguments are in the

parameter vector *. In our case we have to put the argument tp in the regression vector !(n) . In order to

minimize equation (2.3.17), a search method is required, which makes the non-linear problem more

complicated than the linear problem.

NLS is the best estimator there is in a general class of estimators (assuming Gaussian noise), and the

covariance matrix of the estimation errors can be shown to be equal to the Cramér-Rao limit. In practice, the

theoretical precision that NLS can achieve is very difficult to obtain. The reason is that the function in

equation (2.3.17) has a very complex structure, with many local minima. Finding the global minimum, which

has a very sharp valley, with some iterative search algorithm requires a very accurate first initialization.

Otherwise the algorithm will most likely converge to a local minimum. In addition, the computational burden

of the NLS algorithm is larger compared to other algorithms. On the positive side is the property that NLS,

unlike ESPRIT, does not depend on the assumption of white noise [11].

Uppsala University

3D imaging using time-correlated single photon counting" 18

Page 31: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

3 Experimental methods

3.1 The TCSPC system

In this section the TCSPC system used for this project is presented along with some of its characterizing

parameters that are of importance for the analysis in later sections.

A schematic of the system is depicted in Fig. 3.1. The laser driver was a PDL 800-B (PicoQuant$GmbH) with

40 $MHz pulse repetition frequency. The laser source was an LD $8-1-836 $ (PicoQuant $GmbH) having a

wavelength of 833.8$nm and a pulse duration of 78$ps. A standard commercial Cassegrain type telescope

with a focal length of 500$mm and an aperture diameter of 80$mm was used. SPAD stands for Single-Photon

Fig. 3.1 A schematic over the TCSPC system. The reflective target can be for

example a corner cube.

Avalanche Diode and a PerkinElmer$SPCM-AQR$13 with a time jitter of 350$ps was utilized. The SPAD was

connected to a PC based data acquisition card (TimeHarp$200,$PicoQuant$GmbH) with a maximum count

rate of 4$Mcps. The TimeHarp$200 had a Time to Digital converter (TDC) with a base resolution of 32$ps, a

time jitter of 150 $ps, and the number of channels was 4096. This means that the number of bins in the

histogram acquired was 4096 and each bin had a width of 32$ps, which corresponds to approximately 0.5$cm

according to equation (2.1.1). Since the pulse repetition frequency was 40$MHz, the time between pulses was

25$ns which corresponds to a distance of 3.75$m. Scenes with a larger depth than this number were therefore

not possible to image with a pulse repetition frequency of 40$MHz (as explained in Fig. 2.3), implying that

the number of bins in the histogram only needed to be about 700.

Using the values specified here, the time jitter of the total system can be calculated using equation (2.1.4)

with the laser jitter equal to 78$ps and the detector jitter equal to 350$ps. The jitter in the electronics is split

into the jitter in the TDC and the base resolution. This yields

!"#$%&'()*++

,-

.,/0 !$1$234($

5&2$'

5&2$')6'"7$'

.!8,

.!/9!

9$!$3:"7$):&';$:

Uppsala University

3D imaging using time-correlated single photon counting" 19

Page 32: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

! !tsystem = 782+ 3502

+1502+ 322

" 390 ps .! ! ! ! ! ! ! (3.1.1)

This means that the response from a single target will theoretically have a FWHM of 390$ps.

3.2 Measurements

The measurements were carried out indoors, meaning that the ambient light was controllable and the noise

level in the system was kept at a minimum. As mentioned in section 1.2.1, one of the quality criteria is to

vary the SNR, in order to test the signal processing algorithms for robustness to noise. Each measurement

had an integration time of 10 ms and multiple consecutive measurements were acquired. The SNR was

altered by adding an appropriate number of measurements (histograms). More measurements result in a

longer integration time, which gives a higher SNR. In TCSPC applications, the SNR is commonly defined as

! SNR =np

np+ n

n

,! ! ! ! ! ! ! ! ! ! ! (3.2.1)

where np is the number of signal photons in the peak of the histogram, and nn is the number of noise photons

per bin in the histogram [15]. Multiple data sets were collected at different times during the project, with

integration times varying between 10$ms$-$32$s.

In order to test the resolution of the system and the signal processing algorithms, two corner cubes with a

diameter of 12.7$mm were mounted on a rail, with the possibility of varying the distance between the corner

cubes down to about 1$cm. Corner cubes are test targets with the property of reflecting light straight back to

the source, independent of the incident angle. Since the corner cubes must be separated horizontally/

vertically, in order for the laser beam to hit them both, the distance to the rail with the corner cubes was set to

approximately 190 $m, which was the maximum distance available. At this distance, the laser beam had

diverged enough to cover both corner cubes. The corner cubes were however barely hit by the beam, and

moving one corner cube along the rail made the corner cubes partly cover each other. Consequently, the SNR

was not just dependent on the integration time, but also on the distance between the corner cubes.

Another of the quality criteria stated in section 1.2.1 is to test the system’s performance when imaging

simple geometric shapes such as cones and planes. To do this, the imaged objects must be placed at a closer

distance than 190$m in order to keep the laser beam focused and achieve high horizontal/vertical resolution.

The objects were placed at a distance of approximately 20-30$m. The cones used have the dimensions listed

in Table 3.1.

Table 3.1 Dimensions of the cones used to test the performance of the system.

Dimension Cone #1 Cone #2 Cone #3 Cone #4

Diameter

Height

30 cm 9 cm 15 cm 20 cm

29.95 cm 39.75 cm 20.68 cm 29.87 cm

Uppsala University

3D imaging using time-correlated single photon counting" 20

Page 33: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

The flat plane was a plywood screen, and the area scanned was approximately 0.5 m2. In order to test ways to

segment images, the plywood screen was also placed together with the cones and some other objects to

create a full-scaled scene.

Uppsala University

3D imaging using time-correlated single photon counting" 21

Page 34: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

4 Implementation of signal pro-

cessing methods

4.1 Signal processing methods

The following subsections describe how the theory shown in Chapter 2 is applied to the experimental data.

The first subsection describes the model used for the analysis of the TCSPC system. Subsequently, the

different deconvolution methods are examined, followed by the methods for detection. When it comes to the

NLS method, two different approaches are analysed. First, the algorithm is applied to the raw data, trying to

fit a linear combination of IRF:s to the data. Secondly, the data is first deconvolved using the IRF and one of

the deconvolution methods. Then a linear combination of Gaussian functions are fitted to the deconvolved

data.

4.1.1 Model

In order to create methods and algorithms, a working model of the system is needed. The following model

was used:

! x(n) = h(n)!d(n) + v(n) ,! ! ! ! ! ! ! ! ! ! (4.1.1)

where h(n) is the IRF of the system, d(n) is the input signal, x(n) is the observed signal and v(n) is Poisson

distributed noise. The desired signal was assumed to be a linear combination of Dirac pulses, implying that

the observed data x(n) should be a linear combination of IRF:s with noise added. In order to be able to use

the algorithms mentioned in Chapter 2, the IRF was assumed to be possible to model as a dynamic system,

when in fact it is a stochastic system, as described in section 2.1.2. Also, the Poisson distributed noise was

assumed to be close to Gaussian and white, in order for the Wiener filter and the ESPRIT method to work

properly. The IRF was estimated by measuring the signal response from one corner cube using a long

integration time to reduce the influence of noise. The experimentally registered IRF is presented in Fig. 4.1.

Uppsala University

3D imaging using time-correlated single photon counting" 22

Page 35: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Fig. 4.1 The IRF of the system plotted using raw data. The

FWHM was estimated to approximately 450%ps.

The FWHM of the IRF was estimated to approximately 450$ps, which differs slightly from the predicted

value of 390$ps (see equation (3.1.1)). To be able to make a thorough analysis of the deconvolution problem,

the poles and zeros of the IRF had to be analysed, because the length of the deconvolution filter is directly

affected by the positions of the zeros of the IRF. In Fig. 4.2 is a pole-zero plot of the IRF. It can be readily

stated that the system is non-minimum phase, i.e. it has zeros outside the unit circle. These zeros are quite

close to the unit circle, and the zeros inside the unit circle are also very close to the circle. This, as we will se

later, puts high demands on the deconvolution process.

0 50 100 1500

50

100

150

200

250

300

350

400

450

500

Bins

Co

un

ts

Instrument Response Function

Uppsala University

3D imaging using time-correlated single photon counting" 23

Page 36: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Fig. 4.2 Pole-zero plot of the IRF, with 128 poles and 64

zeros. The circles mark the positions of the zeros and the

crosses mark the positions of the poles. The IRF is clearly

non-minimum phase.

4.1.2 Wiener filter

Both FIR and IIR Wiener filters were tested. For FIR filters, the Wiener-Hopf equations in (2.2.6) are easy to

implement. However, there is one difficulty that arises when implementing the Wiener-Hopf equations. To

use them, the cross-correlation between the desired and the measured signals, which is given by [10]

! rdx(k) = h

*(!k)" r

d(k) ,! ! ! ! ! ! ! ! ! ! ! (4.1.2)

is required, i.e. we need an estimation of the autocorrelation of the desired signal. The only thing known

about the desired signal is that it is a linear combination of Dirac pulses, but the number of pulses and the

distances between them are in general unknown. However, from the data acquired from measuring the two

corner cubes, we know that we should expect two peaks. We can assume that these peaks are uncorrelated

with each other, i.e. the autocorrelation can be written as

! rd(k) = ! (k) .! ! ! ! ! ! ! ! ! ! ! ! (4.1.3)

The true autocorrelation from a signal containing two Dirac pulses of equal amplitude and unknown distance

between them is shown in Fig. 4.3. We can see that the autocorrelation is dominated by one Dirac pulse, but

there are two smaller Dirac pulses on each side of the dominating pulse. Their positions are determined by

the distance between the Dirac pulses in the desired signal, so it is not possible to make a better guess about

the autocorrelation than equation (4.1.3).

The values m $= $0 and m $< $0 were tested in choosing the value of the parameter m in the Wiener-Hopf

equations. The first yields a causal filter and the latter yields a non-causal filter, respectively. As mentioned in

!! !"#$ " "#$ ! !#$

!!

!"#$

"

"#$

!

%&

'()*+,)-.

/0)123)-4+,)-.

,5*(!6(-5+7*5.+58+.9(+/':

Uppsala University

3D imaging using time-correlated single photon counting" 24

Page 37: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

the previous section, the length (i.e. the order) of the filter needed for a proper deconvolution is affected by

the positions of the zeros of the IRF. The minimum phase zeros, i.e. the zeros inside the unit circle, that are

close to the unit circle force the Wiener filter to be very long in forward time in order to become a good

approximation of an ideal inverse filter [16]. The non-minimum phase zeros (zeros outside the unit circle)

however, force the filter to be long in reverse time (the closer to the unit circle, the longer filter needed) [16].

Since the IRF possesses several of both minimum phase and non-minimum phase zeros, we expect a very

long non-causal filter for a satisfactory deconvolution. The value of the parameter m determines the length of

the FIR filter in reverse time: the more negative, the longer filter in reverse time.

Fig. 4.3 The autocorrelation of two Dirac pulses. The

distance between them is unknown, so the best way to guess

the autocorrelation is by a single Dirac pulse, but then the

two small pulses on the sides are lost.

An IIR Wiener filter should give a better result deconvolving the observed signal than a FIR filter, since it is

longer. The problem of making an assumption about the autocorrelation of the desired signal still remains

though. However, in equation (2.3.16) an IIR Wiener filter is obtained under the assumption that the

observed signal can be seen as a PSD, and that X(#)$($Px(#) and D(#)$($Pd(#). This makes the assumption

about the autocorrelation redundant.

4.1.3 Richardson-Lucy algorithm

The Richardson-Lucy algorithm was also implemented for comparison with the Wiener filter. The advantage

of the Richardson-Lucy algorithm is that it does not produce ringing artefacts like the Wiener filter and other

linear filters. On the contrary, it is iterative, thus it is more computationally demanding. Another drawback

with the Richardson-Lucy algorithm is that it is not guaranteed to converge without any regularization [13].

Several regularizations have been proposed, but the analyses of those are beyond the scope of this project.

!!"# !!## !"# # "# !## !"##

#$%

#$&

#$'

#$(

!

!$%

!$&

!$'

!$(

%

)*+,-./0

1+)0

Uppsala University

3D imaging using time-correlated single photon counting" 25

Page 38: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

For more information about regularization, see [13]. The built in MATLAB function deconvlucy was

used, and the number of iterations was varied between 2-100.

4.1.4 ESPRIT

When ESPRIT is applied, the raw data acquired is regarded as a windowed correlogram estimate of the PSD

of a linear combination of sines. Ideally, the PSD of a sine is a Dirac delta function positioned at the

frequency of the sine, but because of the window it will be smeared out, yielding an uncertainty in the

frequency estimate.

Fig. 4.4 A flow chart of the implementation of the ESPRIT method. The raw

data is seen as a power spectral density. Mirroring the data in the origin and

performing the Fourier transform yields the ACS. The ACS is deconvolved,

producing an ACS corresponding to that of a sinusoidal signal.

! "!! #!! $!! %!! &!! '!! (!! )!!!

"!!

#!!

$!!

%!!

&!!

'!!

(!!

)!!

*!!

"!!!+,-./0123

4,5-

6/75.-

!!"" !#"" !$"" !%"" " %"" $"" #"" !""!$""

!%&"

!%""

!&"

"

&"

%""

%&"

$""

!!"" !#"" !$"" !%"" " %"" $"" #"" !""!%""

!&"

"

&"

%""

%&"

!"#$%&'$(&)&$*+$

+##,$&+$&$-,#.

+*(#($/-'#%$

+/#0)%&1$(#,+*)23

!"##$#"%&'()*'+,(,'"%'

()*'$#"&"%',%+'-$.#"*#'

(#,%/0$#1"%&'()*'234'

5"*6+/'75'+*!%"("$%'

()*',.($8$9,#",%8*'

/*:.*%8*;

<)*'=>3'"/'+*8$%9$69*+?'5"*6+"%&',%'=>3'8$##*/@$%+"%&'($'(),('$0','/"%./$"+,6'/"&%,6;'<)*',.($8$9,#",%8*'1,(#"A'"/'8#*,(*+',%+'B32CD<'"/',@@6"*+;

234

=>3

=>3'$0','/"%./$"+,6'/"&%,6

Uppsala University

3D imaging using time-correlated single photon counting" 26

Page 39: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

The idea when applying ESPRIT to the TCSPC data is to transform the raw data by a Fourier transform, then

use equation (2.3.16) (or another deconvolution method) and as a result we will hopefully have an ACS

corresponding to the ACS of a linear combination of sines. The ACS is then used to calculate the

autocovariance matrix, defined by equation (2.3.3). From this point, ESPRIT is straight forward to apply. The

procedure is presented in Fig. 4.4.

It is important to remember that the power spectral density of a real signal is an even function, which means

that the data must be mirrored in the origin before any processing, see Fig. 4.5. This means that data

containing two peaks will after the mirroring contain four peaks (two with negative frequency). This in turn

means that the number of eigenvalues larger than the noise floor (see equation (2.3.4)) will always be twice

the number of peaks in the data.

Fig. 4.5 The original data (left) and the data after it has been mirrored in the origin

(right).

From equation (2.3.4), we know that the eigenvalues of the autocovariance matrix are positive semidefinite.

However, after deconvolution using a Wiener filter, we know that ringing artefacts occur, which have effects

on the ACS in equation (2.3.16). In Fig. 4.6, there are examples of autocovariance sequences of the raw data

and the deconvolved data. A true ACS has its maximum at zero lag, which can be observed in the figure. The

problem occurs when deconvolving the data, because the maximum no longer occurs at zero lag after the

deconvolution. This has negative effects on the eigenvalues of the autocovariance matrix shown in Fig. 4.7.

After deconvolution some eigenvalues are negative, which contradicts equation (2.3.4).

! !"# $ $"# % %"# & &"#!

!"#

$

$"#

%

%"#

&

'()*+,-./-01*0(23.4-,56,(787,9:+0;

<=>0-.4,-?6@-,-3.*(6@;

A,>.5,@,

!B !% ! % B!

!"#

$

$"#

%

%"#

&

'()*+,-./-01*0(23.4-,56,(787,9:+0;

<=>0-.4,-?6@-,-3.*(6@;

C6--=-05.5,@,

Uppsala University

3D imaging using time-correlated single photon counting" 27

Page 40: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Fig. 4.6 Left: The ACS of the raw data with maximum at zero lag. Right: The ACS of

the deconvolved data. The maximum is no longer at zero lag.

Fig. 4.7 The figure shows the eigenvalues of data containing two peaks, which

means that four eigenvalues should be larger than the noise floor (because the

spectrum is mirrored in the origin). Left: The eigenvalues from raw data. The

eigenvalues are positive semidefinite, but the number of eigenvalues that are larger

than the noise floor is more than four. Right: The eigenvalues of deconvolved data.

The number of eigenvalues larger than the noise floor is exactly four, however, the

eigenvalues are not positive semidefinite.

4.1.5 Non-linear least squares

The NLS method was implemented in two different ways. First, the system was modelled as in equation

(4.1.1), assuming that the desired signal is a linear combination of Dirac pulses, producing an observed

signal that is a linear combination of IRF:s. The method was then implemented just as it was presented in

!!"" !#"" " #"" !""!$""

!%"

"

%"

$""

$%"&'(

)*+,

+-*./01,!!"" !#"" " #"" !""

!#""

!$%"

!$""

!%"

"

%"

$""

$%"

#""2345675.738-&'(

+-*./01,

)*+,

! !"# $ $"# % %"#!

%

&

'

(

$!

$%

$&

$'

$(

)*+,-

.,/0-12342-56-78*+,-9

:56-78*+,-92342315657*+2;

!% ! % & '!

#

$!

$#

%!

%#

<!

)*+,-

.,/0-12342-56-78*+,-9

:56-78*+,-92342=->3783+8-=2;

Uppsala University

3D imaging using time-correlated single photon counting" 28

Page 41: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

section 2.3.2. The IRF was approximated by an asymmetric super-Gauss function2. This function is defined

as

! h(! p ,t p ) =! pe

"t" t p( )

l

# left t < t p

! pe"t" t p( )

r

# right t $ t p

%

&

''

(

''

,! ! ! ! ! ! ! ! ! (4.1.4)

where )p and tp are the amplitude and position of the IRF, respectively, l and r are arbitrary constants and !left

and !right are the widths of the function on the left and the right side of the maximum, respectively. The

search method used for minimizing the function in equation (2.3.17) was the built in MATLAB function

fminsearch, which uses a simplex based search method.

As mentioned in section 2.3.2, the initialization of the arguments in the function to be minimized is

important, but not always very easy. For data containing only one peak the task is easily solved by just

finding the maximum value using an appropriate MATLAB function. For two peaks it is more difficult. Here

it was solved by assuming that the two peaks are not too different in amplitude, and then find all bins in the

histogram where the number of counts is larger than some constant fraction of the maximum number of

counts. The bin with the smallest time value then roughly corresponded to the position of the first peak and

the bin with the largest value corresponded to the second peak. The amplitude was initialized by finding the

maximum value. When the minimization had been accomplished, the arguments tp and )p, corresponding to

the positions and the amplitudes of the peaks, were extracted from the minimized function.

The second method tested was to first deconvolve the acquired data, and then fit a linear combination of

Gaussian functions, where each Gaussian function corresponds to a peak in the data, as in [5]. The

parameters used in the minimization function were in this case the mean values, amplitudes and standard

deviations of the Gaussians, corresponding to the positions, amplitudes and widths of the peaks, respectively.

The widths were necessary to use since the deconvolution changes these differently depending on the noise

level. The initializations of the amplitudes and positions were carried out as in the first method, and the

initialization of the widths was made by deconvolving a single peak in advance and measure the width of the

deconvolved peak.

4.2 Image processing

Image processing methods were used to analyse objects in an image obtained from performing a three-

dimensional scan of a scene. In the following sections the methods used to segment images and look at

different objects are presented. The methods for fitting a plane to a surface and for calculating the dimensions

of cones are also briefly discussed.

Uppsala University

3D imaging using time-correlated single photon counting" 29

2 An estimation function proposed by Markus Henriksson at FOI.

Page 42: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

4.2.1 Segmentation

The images acquired from three-dimensional scans contain information about the three spatial dimensions,

but also the intensity for each point, resulting in an image with four degrees of freedom. Two of these

dimensions are very useful when segmenting the image, the range dimension and the intensity. Two-

dimensional images can easily be created from the data by keeping all spatial dimensions except for the

range dimension, and letting the intensity of the resulting image correspond to either the real intensity (i.e.

the amplitude) of the points or the range. The latter would result in an image where the darker regions

correspond to objects closer to the detector and brighter regions correspond to objects further away. Fig. 4.8

shows an example of where the intensity is represented by the real intensity and the range dimension.

Fig. 4.8 Left: The three-dimensional image has been reduced to two dimensions with the intensity

corresponding to the real intensity of the points. The image contains no information about the

range. Right: The intensity now corresponds to the range dimension. It is now possible to see that

the circular objects probably are cones, since the pixels in the middle of the circles are darker,

meaning that they are closer to the detector.

The methods used for segmenting the image were thresholding and watershed. Since the objects in the image

in Fig. 4.8 are well separated in the range dimension, it is quite easy to use thresholding on the range image

in order to, for example, segment the cones. The histogram of the image is shown in Fig. 4.9. The cones are

easy to identify as the ramp-shaped structure to the left in the histogram. Thresholding yields an image

containing only the cones. This image can be further segmented using watershed, in order to separate and

label each cone in the image. The fully separated and labelled cones are shown in Fig. 4.10. When the cones

have been located, it is possible to use the range data in order to calculate the different dimensions of the

cones.

Uppsala University

3D imaging using time-correlated single photon counting" 30

Page 43: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Fig. 4.9 The histogram of the image with intensity

corresponding to range. The cones are easy to identify as the

ramp-shaped structure. The walls in the image are

represented by the brightest pixels to the right in the

histogram.

Fig. 4.10 Left: The cones are separated using watershed. Each colour corresponds to a label.

Right: The cones marked in the original image.

In some cases, when objects are at a similar range with each other, using the range image is not sufficient for

thresholding. Then it is possible to use the with intensity image for thresholding in combination with the

range image.

4.2.2 Plane fitting

In order to fit a plane to a flat surface, a method of linear polynomial regression was used. The function used

was

! z = a0+ a

1x + a

2x2+ b

1y + b

2y2

,! ! ! ! ! ! ! ! ! (4.2.1)

0 0.2 0.4 0.6 0.8 1

0

200

400

600

800

1000

1200

Pixel intensity

Uppsala University

3D imaging using time-correlated single photon counting" 31

Page 44: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

where the second degree terms were taken into account to be able to see how close to a flat plane the surface

was. With coefficients before the second degree terms equal to zero, the surface is a perfect flat plane.

Equation (4.2.1) can be rewritten like

! z = 1 x x2

y y2!

"#$

a0

a1

a2

b1

b2

!

"

%%%%%%%

#

$

&&&&&&&

= ' T(x, y)( ,! ! ! ! ! ! ! (4.2.2)

which is the usual form for linear regression. The parameter vector * is then found by a simple method of

linear least squares.

4.2.3 Cones

The dimensions of the cones were calculated with the assumption that they were imaged with the vertex

pointing towards the detector. First the image was segmented by the methods previously described, in order

to get an image containing only the labelled cones. The labels were then used to find the edges of the cones,

which made it possible to calculate the diameter of the cones. When the edges had been found, the vertex

could be found at the midpoint between the edges, since it was assumed that the vertex was pointing towards

the detector. The height of the cones were found by extracting the intensity values of the pixels at the vertex

and at the edges, since the intensity contains information about the range dimension.

Uppsala University

3D imaging using time-correlated single photon counting" 32

Page 45: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

5 Results

5.1 One-dimensional results

The one-dimensional results were obtained from processing the data from the corner cubes. The results from

the deconvolution algorithms are presented first. In order to get objective measures of the accuracies of the

algorithms, the detection algorithms are applied to the data and evaluated according to the quality criteria

stated in section 1.2.1.

5.1.1 Deconvolution

Fig. 5.1 shows the result when deconvolving a signal containing two responses using the Richardson-Lucy

algorithm. When the SNR is good, the estimation is near perfect when the number of iterations approaches

infinity. On the other hand, for low SNR values, the algorithm tends to amplify noise, giving a bad estimation

of the signal.

Fig. 5.1 The result from deconvolving a signal with the Richardson-Lucy algorithm.

It shows a near perfect result for a number of iterations that approaches infinity and

high SNR value (left). Signals with low SNR are however badly estimated by the

Richardson-Lucy algorithm (right).

Fig. 5.2 shows the results of the causal and the non-causal FIR Wiener deconvolution. The causal filter has

400 coefficients, and the non-causal has 800 coefficients, with 400 smoothing lags. The non-causal filter

yields a slightly better result than the causal filter, which agrees well with theory.

0 200 400 600 8000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1High SNR

Bins

Norm

aliz

ed c

ounts

0 200 400 600 8000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Low SNR

Bins

Norm

aliz

ed c

ounts

Uppsala University

3D imaging using time-correlated single photon counting" 33

Page 46: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Fig. 5.2 Left: The raw data (red) and the deconvolved data (blue) using a causal

FIR Wiener filter. Right: The raw data (red) and the deconvolved data (blue) using a

non-causal FIR Wiener filter. The result is slightly better in the non-causal case

since the peaks are slightly more narrow after the deconvolution compared to the

casual filter.

Fig. 5.3 The results of the deconvolution using an IIR Wiener

filter. The results are similar to the results of the non-causal

FIR filter, but the IIR filter is a bit easier to implement.

!"" !#" !$" !%" !&" %"" %#" %$"

"

"'(

"'#

"')

"'$

"'!

"'%

"'*

"'&

"'+

(

,-./

012345-6789:1;.</

=4;/459>-7.72987:1.?15;<-1.

!"" !#" !$" !%" !&" %"" %#"

"

"'(

"'#

"')

"'$

"'!

"'%

"'*

"'&

"'+

(

,-./

012345-6789:1;.</

01.!:4;/459>-7.72987:1.?15;<-1.

450 500 550 600 650

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bins

No

rma

lize

d c

ou

nts

IIR Wiener deconvolution

Uppsala University

3D imaging using time-correlated single photon counting" 34

Page 47: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Using equation (2.3.16) for an IIR Wiener filter yields the results shown in Fig. 5.3. The results are similar to

those of the non-causal FIR filter, but the IIR filter is easier to implement. Wiener filtering is known to

produce ringing artefacts, which appear as side lobes in the deconvolved signal. This results in a signal that

is negative in some places, which is undesirable. In order to make the signal positive definite the absolute

value has been taken.

5.1.2 Detection

Table 5.1 shows the different SNR values defined by equation (3.2.1) for all the integration times and

distances shown in the results. Fig. 5.4 shows plots of the nominal distances versus the measured distances

for the different signal processing methods and the different integration times. Fig. 5.5 shows the errors

between the measured distances and the nominal distances. For each distance, an average has been made

over 25 consecutive measurements and the standard deviations have been calculated. The time required for

each method to compute the estimates for all 25 measurements are presented below. The methods used in

conjunction with the Richardson-Lucy algorithm are not presented in this section, because the SNR value

never got high enough for the Richardson-Lucy algorithm to work properly.

Table 5.1 The SNR values in linear scale for the different distances and integration times.

20 ms 440 ms 860 ms 1280 ms

1.75 cm

2.75 cm

3.75 cm

4.75 cm

5.75 cm

6.75 cm

7.75 cm

8.75 cm

9.75 cm

10.75 cm

13.25 cm

15.75 cm

4.5 18.2 25.0 30.5

4.6 17.4 24.0 29.6

3.6 16.3 23.5 28.5

4.2 15.7 22.9 27.2

4.2 15.1 21.7 25.9

3.6 15.0 20.4 24.9

3.5 14.2 19.6 24.2

3.5 14.2 21.0 24.5

3.7 13.9 19.2 24.5

4.0 14.3 20.6 23.2

3.9 14.0 19.2 23.2

3.7 13.3 19.3 23.0

The computation time for each method is measured to (for 25 different data sets):

• ESPRIT (including the deconvolution by the Wiener filter) – 0.2188$s

• NLS, fitted by asymmetric super-Gaussians – 8.8750$s

• NLS, deconvolved by a Wiener filter and fitted by Gaussians – 10.8750$s

When looking at Fig. 5.4 and at Fig. 5.5 it is clearly seen that the NLS method fitted by asymmetric super-

Gaussians yields the best result in terms of precision, resolution and robustness to noise. The NLS method

deconvolved by a Wiener filter and fitted by Gaussians does not compare with that precision, especially not

at low SNR values, where the method yields unreliable results. For higher SNR values, it yields a

Uppsala University

3D imaging using time-correlated single photon counting" 35

Page 48: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

satisfactory precision down to about 8$cm, but then it starts to give biased estimates. ESPRIT is quite robust

to the influence of noise, and gives good results at longer distances with small standard deviations. The

resolution is not as good as the other methods can

Fig. 5.4 Top left: For low SNR all methods are quite unreliable at short distances. ESPRIT and NLS

fitted by asymmetric super-Gaussians do quite well at longer distances while NLS deconvolved with a

Wiener filter gives totally unreliable results. Top right: For a bit longer integration times all methods

do all right down to about 7%cm, but after that ESPRIT and NLS deconvolved with a Wiener filter

diverge, while NLS fitted by asymmetric super-Gaussians does well down to about 3%cm. Bottom left

and right: NLS fitted by asymmetric super-Gaussians gives very good results down to 1.75%cm but the

other methods are very unreliable at distances shorter than 7%cm.

achieve. An odd result is that, at longer integration times, ESPRIT seems to give a biased estimation of the

distance even at longer distances. Why this happens is unknown. The effects of the negative eigenvalues for

ESPRIT, described in section 4.1.4 can be clearly seen in the results. ESPRIT works well down to about

7$cm, but then the measured distance takes a big leap and estimates the distance to be several centimetres

larger then the true value and the standard deviation escalates. This happens when the magnitude of an

eigenvalue belonging to one of the peaks is lower in magnitude than the negative eigenvalues created by the

! " #! #"

!

"

#!

#"

$!

$"

%!

%"

&!

'()*+,(-.-/*0)12(.3245

674/1)8.-/*0)12(.3245

910(:,)0/71.0/4(;.$!.4*

! $ & < = #! #$ #& #<!$

!

$

&

<

=

#!

#$

#&

#<

'()*+,(-.-/*0)12(.3245

674/1)8.-/*0)12(.3245

910(:,)0/71.0/4(;.&&!.4*

! $ & < = #! #$ #& #<!

$

&

<

=

#!

#$

#&

#<

'()*+,(-.-/*0)12(.3245

674/1)8.-/*0)12(.3245

910(:,)0/71.0/4(;.=<!.4*

! $ & < = #! #$ #& #<!

$

&

<

=

#!

#$

#&

#<

'()*+,(-.-/*0)12(.3245

674/1)8.-/*0)12(.3245

910(:,)0/71.0/4(;.#$=!.4*

>?@A9B

6C?.DE/(1(,.F/80(,G

6C?.DH*I44(0,/2.*+J(,!K)+**G

674/1)8.-/*0)12(

Uppsala University

3D imaging using time-correlated single photon counting" 36

Page 49: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

Wiener filtering. In these cases, ESPRIT uses the negative eigenvalues instead of the eigenvalues belonging

to the peak, resulting in a false estimation of the distance.

Fig. 5.5 The errors for different SNR values. NLS fitted by asymmetric super-Gaussians gives the best

results of all methods down to 1.75%cm.

Below are the results, in terms of standard deviations, from measuring the position of a single corner cube at

long integration times. This was done in order to see how accurate each signal processing method is when

calculating a position without being possibly biased by the presence of another peak. In this case the

different methods are quite similar in their performance, though ESPRIT and NLS fitted by asymmetric

super-Gaussians yield a slightly better result than NLS deconvolved by a Wiener filter and fitted by regular

Gaussians.

• ESPRIT – 1.0 mm standard deviation.

• NLS, fitted by asymmetric super-Gaussians – 1.0 mm standard deviation.

• NLS, deconvolved by a Wiener filter and fitted by Gaussians – 1.4 mm standard deviation.

! " # $ % &! &" &# &$!&!

!'

!

'

&!

&'

"!

"'

())*)+,-./

0*.1234+516732-8+,-./

9278:)371*2+71.8;+"!+.6

! " # $ % &! &" &# &$!"

!

"

#

$

%

&!

())*)+,-./

0*.1234+516732-8+,-./

9278:)371*2+71.8;+##!+.6

! " # $ % &! &" &# &$!"

!

"

#

$

%

&!

())*)+,-./

0*.1234+516732-8+,-./

9278:)371*2+71.8;+%$!+.6

! " # $ % &! &" &# &$!"

!&

!

&

"

<

#

'

$

=

%

())*)+,-./

0*.1234+516732-8+,-./

9278:)371*2+71.8;+&"%!+.6

(>?@9A

0B>+CD1828)+E1478)F

0B>+CG6H..87)1-+6IJ8)!K3I66F

0*.1234+516732-8

Uppsala University

3D imaging using time-correlated single photon counting" 37

Page 50: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

5.2 Three-dimensional results

The three-dimensional results were obtained from fitting a plane to a flat surface and calculating the

dimensions of different cones. From this information it is possible to evaluate how well the TCSPC system

images certain geometric shapes and the performance of the signal processing algorithms. The data from the

three-dimensional scans were assumed to contain only one response in every point, i.e. the laser beam only

hit one object in every point and there were no semitransparent objects such as glass surfaces. At some

points, near corners and edges of objects, more than one response might appear. However, these points were

assumed to be limited so the possible loss of data is negligible. Assuming only one response made it easier to

find the peaks, because no algorithm for estimating the number of peaks in every point needed to be

implemented. The methods used for pre-processing the three-dimensional data were ESPRIT, NLS fitted by

asymmetric super-Gaussians and a method that simply picks the maximum value and its location in every

point.

5.2.1 Plane fitting

The result from the three-dimensional scan of a flat surface is shown in Fig. 5.6, with a plane fitted to it. The

surface was measured in 1092 points. The distances from every point to the fitted plane and the standard

deviations were calculated, as well as the computation times for each algorithm to process the data from

1092 points. The results are shown in Table 5.2.

Fig. 5.6 A flat surface pre-processed by the ESPRIT method.

The scatter plot is the measured data and the mesh is a plane

fitted to the data. The second degree coefficients are

approximately equal to zero.

The method of just picking the maximum value and its position from the data shows the advantage of using

more advanced signal processing algorithms. Although fast, it gives bad precision since it can only estimate

the position to integer values of bins in the histogram, which has a resolution of 32$ps, or approximately

!!"#$

!!"#%&

!!"#%$

!!"#%%

!!"#%' !"#'!"#(

!"#!"

"#!

!"#(

!"#)

!"#!

!"#*

"

"#*

+,-./0123

+45506789:;<=

>,?.4@AB0123

CB,D/.0123

Uppsala University

3D imaging using time-correlated single photon counting" 38

Page 51: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

0.5 $ cm. ESPRIT also shows its advantage over the non-linear least squares algorithms due to faster

computation time, although it does not yield as good resolution when estimating multiple responses as NLS

Table 5.2 The results from imaging a flat surface and fitting a plane. Comparing the results from the

more advanced signal processing algorithms with the results from just picking the maximum value

from the data shows the advantage of using signal processing methods.

ESPRIT NLS (asymmetric super-Gauss) Maximum value

Mean distance to plane

Standard deviation

Computation time

0.16 mm 0.20 mm 0.79 mm

1.7 mm 1.4 mm 6.4 mm

17.8438 s 195.0938 s 12.2656 s

does. If only one response is present in the data and the number of points is large, ESPRIT gives a

comparable accuracy at a computation time approximately 10 times shorter in the case of 1092 points. The

differences between the standard deviations from these results and the standard deviations from the one-

dimensional results (when measuring the position of a single corner cube) are probably due to the fact that

the plywood screen is not a perfect plane.

5.2.2 Cones

The results from calculating the diameters of the cones are presented in Table 5.3. The different pre-

processing algorithms give very similar results, so they are not all presented here. The assumption that the

vertex points towards the detector is correct for all cones except for the tallest cone having the smallest

diameter (Cone $#2 in Table 5.3). For the shorter and wider cones the vertex is located approximately

midpoint between the edges. However, when the cone becomes too tall and narrow, the vertex’ location

cannot be approximated to be midpoint between the edges, which explains the incorrect estimation of the

height for Cone $#2. There is also an uncertainty in the absolute distance to the cones, which yields an

uncertainty in the measured data.

Table 5.3 The true and the measured dimensions of the cones. The methods for calculating

the dimensions are simple and do not yield very accurate results. Cone%#2 is too narrow

for the assumption of a vertex pointing straight towards the detector to be correct, which

yields an incorrect estimate of the height.

Dimension Cone #1 Cone #2 Cone #3 Cone #4

Diameter (true)

Height (true)

Diameter (measured)

Height (measured)

30 cm 9 cm 15 cm 20 cm

29.95 cm 39.75 cm 20.68 cm 29.87 cm

32.58 cm 8.78 cm 15.48 cm 22.08 cm

28.15 cm 15.95 cm 18.89 cm 27.49 cm

Uppsala University

3D imaging using time-correlated single photon counting" 39

Page 52: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

6 Conclusions

6.1 Methods

After looking at the results in the previous chapter we can formulate some conclusions, which are presented

in this chapter. First, the advantages and the weaknesses of each algorithm are summarized. Secondly, these

properties are compared between the different algorithms. The interesting algorithms to evaluate are the pre-

processing algorithms. The methods for segmentation and plane fitting are merely tools used to extract

information from the three-dimensional images in order to evaluate the pre-processing algorithms and the

precision of the system, and will not be considered further. The Richardson-Lucy algorithm failed to improve

the performance and will not be discussed.

6.1.1 Wiener filter

Of the deconvolution methods evaluated the Wiener filter was the only method yielding a satisfactory result.

The IIR filter is easiest to implement and gives an adequate result, though ringing artefacts appear.

6.1.2 ESPRIT

The primary advantage of ESPRIT is that this method is very computationally efficient. It also resolves

multiple responses that are separated by at least 10$cm at very low SNR values. For higher SNR values

ESPRIT manages to resolve multiple responses separated by distances down to 6-7 $cm. However, for

distances shorter than 6 cm ESPRIT does not predict reliable estimates of the distance. Looking at the results

in the previous chapter, ESPRIT seems to give a biased estimate for long integration times, which is an odd

result, since it predicts good estimates down to 6.75$cm for an integration time of 440$ms. The reason for this

behaviour is for the moment unknown, but other data sets that ESPRIT has been applied to have not shown

this behaviour. One explanation can probably be attributed to the Wiener deconvolution. If the data is not

properly deconvolved, some of the IRF will still be present, yielding a biased result. ESPRIT has also shown

a better resolution for other data sets, resolving distances down to approximately 4.5$cm.

6.1.3 Non-linear least squares

The NLS method fitted by asymmetric super-Gaussians gives very accurate results in terms of low standard

deviation and bias. It also resolves multiple responses separated by distances down to 1.75$cm with an error

of approximately 2$mm and a standard deviation of approximately 3 mm. For low SNR values it can resolve

distances down to 5-6$cm. The main drawbacks of NLS are that good initialization values of the positions

and amplitudes of each response are required to prevent the algorithm from converging to a local minimum.

Also, the computational burden is very heavy, and for three-dimensional scans containing several thousands

Uppsala University

3D imaging using time-correlated single photon counting" 40

Page 53: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

of points the computation time will be a couple of hours with the implementation and the computer used in

this project.

The other NLS scheme was to first deconvolve the data and then fit it with a linear combination of regular

Gaussians. This method works satisfactory for long distances between the responses and high SNR values.

The method requires initial values not only for the positions and amplitudes of the responses, but also for the

widths after the deconvolution. The widths after deconvolution are very difficult to guess accurately, since

they depend on the SNR value, making the approach sensitive to noise. The method easily converges to a

local minimum, as can be seen in the results, when the initialization guesses are not accurate enough. For

good initial guesses a resolution down to 1.75$cm is achievable.

6.1.4 Comparison

The choice of method depends on the purpose of the usage. For applications where resolution is of greatest

importance, using the NLS method fitted by a linear combination of IRF:s would be the best choice. In this

project the IRF has been approximated by an asymmetric super-Gauss function, but other functions may

work even better. For example, Sjöqvist et al. proposed a way to approximate the IRF by a sum of Gaussians

in [1]. For purposes where the data is known to have no less than 6-7$cm between multiple responses and

computational speed is of importance, ESPRIT would be the choice. However, deconvolving the data and fit

it with regular Gaussians is not recommended, since it is generally slower than fitting the original data by a

linear combination of IRF:s. This is due to the extra parameters in the minimization criterion (the widths of

the responses). The resolution has not been shown to be improved either.

For three-dimensional images with several thousands of points, and where most of the points contain only

one response, ESPRIT is recommended due to the superior computational speed. There are however other

algorithms evaluated in [17], such as peak detection (maximum value) and leading edge detection, that are

computationally efficient. However, it is not possible to find multiple responses using these methods,

whereas ESPRIT can find multiple responses and still maintain its computational efficiency.

It should also be stressed that the NLS methods should be used with care. In the test carried out in this

project, the data is known to contain two responses, which makes it easier to initiate the parameters for the

search method. In the cases where the data contains more than two peaks, the initialization guesses may be

more cumbersome.

6.2 Possible improvements

Possible improvements would be to implement an information criterion algorithm that estimates the number

of responses in the data. A simple algorithm would be to use equation (2.3.4), i.e. to investigate the number

of eigenvalues that are larger than the noise floor and make an estimation from that information. However,

there exist more advanced information criteria that give better estimations, such as the AIC (Akaike

Information Criterion) (for reference, see [7] and [8] and the references therein). Another possibility is to

implement an adaptive algorithm like the Reversible Jump Markov Chain Monte Carlo (RJMCMC)

algorithm, proposed in [6], that adaptively estimates the number of responses, their positions and amplitudes.

Uppsala University

3D imaging using time-correlated single photon counting" 41

Page 54: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

In order to get the Richardson-Lucy algorithm to function properly, a regularization algorithm is necessary.

Regularization techniques have been evaluated in [13]. The advantage with using the Richardson-Lucy

algorithm is that it does not produce ringing artefacts like the Wiener filter, which as we have seen causes

problems for ESPRIT.

Other methods that could be of interest to evaluate are the Kalman filter and the MUSIC (MUltiple SIgnal

Classification) algorithm. MUSIC is like ESPRIT a subspace based algorithm for spectral estimation.

ESPRIT relies on a rotation transformation in, and this makes it important to deconvolve the data prior to

estimating the positions of the peaks. However, the deconvolution produces artefacts in the data, which

causes problems for ESPRIT. MUSIC does not rely on this rotation transformation, so it may be possible to

implement the MUSIC algorithm without deconvolving the signal first. This would correspond to the NLS

method fitted by asymmetric super-Gaussians, where we search for a linear combination of IRF:s from the

start, instead of first deconvolving the data and then search for regular Gaussians.

Uppsala University

3D imaging using time-correlated single photon counting" 42

Page 55: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

References

[1]! L. Sjöqvist, M. Henriksson, P. Jonsson and O. Steinvall, ”Time-of-flight range profiling using

! time-correlated single-photon counting”, Proc. of SPIE, Vol. 6738, pp. 67380N, 2007.

[2]! B. Norlin, Photon Counting X-Ray Detector Systems. Department of Information Technology and

! Media, Mid Sweden University, ISBN: 91-85317-01-2, 2005.

[3]! W. Becker, Advanced Time-Correlated Single Photon Counting Techniques. Berlin: Springer-Verlag,

! 2005, pp. 1-25.

[4]! R. C. Gonzalez and R. E. Woods, Digital Image Processing 3rd edition. New Jersey: Prentice Hall,

! 2008, pp. 26, 689-778.

[5]! B. Jutzi and U. Stilla, ”Range determination with waveform recording laser systems using a Wiener

! filter”, ISPRS Journal of Photogrammetry & Remote Sensing. Vol. 61, pp. 95-107, 2006.

[6]! G. S. Buller and A. M. Wallace, ”Ranging and Three-Dimensional Imaging Using Time-Correlated

! Single-Photon Counting and Point-by-Point Acquisition”, IEEE Journal of selected topics in quantum

+ electronics, Vol. 13, No. 4, pp. 1-10, 2007.

[7]! G. Tolt and H. Larsson, ”Waveform analysis of lidar data for targets in cluttered environments”, Proc.

+ of SPIE, Vol. 6739, pp. 67390A, 2007.

[8]! L. Nordin, Analysis of Waveform Data from Airborne Laser Scanner Systems. Luleå University of

! Technology, !ISRN: LTU-EX--06/336--SE, 2006.

[9]! P. H. Hiskett, C. S. Parry, A. McCarthy and G. S. Buller, ”A photon-counting time-of-flight ranging

! technique developed for the avoidance of range ambiguity at gigahertz clock rates”, Optics Express,

! Vol. 16, No. !18, pp. 13685-13698, 2008.

[10]! P. Wu and T. Olofsson, ”Chapter 5 Wiener filters” in: Course Literature in Digital Signal Processing.

+ Institution of Signals and Systems, Uppsala University, 2008, pp. 2-24.

[11]! P. Stoica and R. Moses, Spectral analysis of signals. New Jersey: Prentice Hall, 2005, pp. 150-213.

[12]! T. Söderström and P. Stoica, System Identification. London: Prentice Hall International, 1989, pp.

! 198-202.

[13] ! M. Zimányi, A. Mateá)ik and M. *rámek, ”Edge-preserving regularization for confocal data

! deconvolution”, XI Conference ”Medical Informatics & Technologies”, pp. 403-410, 2006.

Uppsala University

3D imaging using time-correlated single photon counting" 43

Page 56: 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 · time-correlated single photon counting, and by measuring the times-of-flight of reflected

[14]! W. H. Richardson, ”Bayesian-Based Iterative Method of Image Restoration”, Journal of the Optical

+ Society of America, Vol. 62, No. 1, pp. 55-59, 1972.

[15]! G. S. Buller, R. J. Collins, N. J. Krichel, A. M. Wallace and A. McCarthy, ”Scanning of Low Signature

! Targets Using Time-Correlated Single-Photon Counting”, Proc. of SPIE, Vol. 7320, pp. 732003, 2009.

[16]! P. Nelson, ”A tutorial introduction to the design of multichannel inverse filter for audio signal

! processing”, in Audio Signal Processing, Seminar organized by the IEEE Benelux Signal !Processing

! Chapter, Academish Genootschap, Eindhoven, The Netherlands, 1997.

[17]! C. Grönwall, O. Steinvall, F. Gustafsson and T. Chevalier, ”Influence of laser radar sensor

! parameters on range-measurement and shape-fitting uncertainties”, Optical Engineering, Vol. 46, No.

! 10, pp. 106201, 2007.

Uppsala University

3D imaging using time-correlated single photon counting" 44