Figure 9-10 Dual Return Mode Timing Offsets (in µs)
9.5 Precision Azimuth Calculation
The azimuth (α) reported by the sensor in each data block is the azimuth at the moment the first laser in a firing sequence
fires.
To get better precision when geo-referencing, it’s useful to precisely calculate the unique azimuth for each point by
accounting for the firing timing. These precision azimuths may be calculated/interpolated using the timing offsets shown in
Figure 9-9 on the previous page
.
Consider a single data packet with 12 data blocks. If you assume the rotational speed is constant over the two 55.296 µs fir-
ing sequences in each data block, you can use the algorithm below to estimate a more precise azimuth angle for each
point.
The pseudo code below illustrates the concept.
K represents an index to a data point in the Nth data block, where its valid range is 0 to 31.
Do this for each data block.
// First, adjust for an Azimuth rollover from 359.99° to 0°
If (Azimuth[data1] < Azimuth[datablock_n])
Then
Azimuth[data1] := Azimuth[data1] + 360;
Endif;
// Determine the Azimuth Gap between data blocks
AzimuthGap = Azimuth[data1] - Azimuth[datablock_n];
Chapter 9 • Sensor Data
65