Helios++
Helios software for LiDAR simulations
|
Some common mathematical operatiosn concerning the full waveform. More...
#include <WaveMaths.h>
Static Public Member Functions | |
static int | calcPropagationTimeLegacy (std::vector< double > &timeWave, int const numBins, double const binSize, double const pulseLength, double const pulseLengthDivisor) |
Compute propagation time, thus obtaining the intensity peak index and populating the time wave vector adequately. More... | |
Some common mathematical operatiosn concerning the full waveform.
|
static |
Compute propagation time, thus obtaining the intensity peak index and populating the time wave vector adequately.
The legacy algorithm for the estimation of propagation time can be described as forward iterating in the integer interval \([0, n)\) such that at each \(i\)-th step the \(i\)-th bin of the discrete time vector \(w_i\) is populated, where \(h\) is the bin size, \(t_i = ih\), and \(\tau = \lambda / d\) with \(\lambda\) being the pulse length in nanoseconds and \(d\) a user given divisor:
\[ \begin{split} w_i =& \frac{(ih)^2}{\tau^2} \exp{-\frac{ih}{\tau}} \\ =& \frac{t_i^2}{\tau^2} \exp{-\frac{t_i}{\tau}} \end{split} \]
The peak intensity index is simply obtained by taking the \(i\)-th index of the greatest \(w_i\).
timeWave | The time discretization vector |
numBins | The number of bins for time discretization |
binSize | The size of each bin (in nanoseconds) |
pulseLength | The pulse length (in nanoseconds) |
pulseLengthDivisor | The number dividing the pulse length |