Velodyne Acoustics HDL-64E S2 Home Security System User Manual


 
[ 32 ]
HDL-64E S2 and S2.1 User’s Manual

Intensity Compensation vs Distance
Intensity compensation is done in the software for different channels by changing a parameter in the calibration window until the measurement
gets to a uniform intensity for a reference target.
Here K is the slope from the calibration data. Intensity gets to its maximum at the focal distance for different channels and from
its calibration data.
Calibration Window
The following new intensity parameters have been added in the db.xml calibration file
• focal distance: At this distance, the intensity goes to max. The focal distance is different from laser to laser. On the upper block,
it averages 1500cm. On the lower block, it averages 800cm.
• focal slope: This parameter controls intensity compensation. Min and Max Intensity are used to scale and offset intensity.
Intensity Value Corrected by Distance Code
for (guint i=0; i< VLS_LASER_PER_FIRING; i++) {
guit laser = i + base;
if (!db->getEnabled(laser))
continue;
bool intensity =db->getIntensity(laser);
if (!intensity: {
glColor3fv(db->getDisplayColor(laser).rgb);
} else {
guchar minIntensity = 0, maxIntensity = 0;
float intensityScale = 0;
minIntensity = db->getMinIntensity(laser);
maxIntensity = db->getMaxIntensity(laser);
//Get intensity scale
intensityScale = (float)(maxIntensity - minIntensity);
// Get firing “i” intensity
guchar intensityVal = it->getPoint(i)->intensity;
// Get firing “i” distance, here unit is 2mm
float distance = it->getPoint(i)->distance;
// Calculate offset according calibration
float focaloffset= 256*(1-db->getFocalDistance(laser)/13100)*(1-db-
>getFocalDistance(laser)/13100);
// get slope from calibration
float focalslope = db->getFocalSlope(laser);
focalOffset = 256 ( )
2
1 - focalDistance
______________
13100
focalOffset - 256
( )
2
1 - distance
__________
65535
intensityVal = intensityVal + K
[ ]