Development of a simulator for airborne altimetric LiDAR
To represent variability of natural terrain more complex surfaces are chosen. These surfaces have an equation of the form of . To solve the laser vector and surface, numerical methods are employed since no exact mathematical expression can be obtained in this case for solving X, Y or Z.
Here Z and Y are replaced in terms of X from equation (2.1) in surface equation and an equation of the form of is obtained. Fixed point iteration method is used here. Simulator chooses starting point of iteration such that , which indicates that the iteration will converge (Chapra and Canale, 2000), an accuracy of 0.1 µm is obtained before terminating iteration.
Surfaces chosen of this form are:

Figure 2: Surfaces generated by simulator
4. Error Modeling:
After modeling for above ground and instrument properties, random errors in vertical as well as horizontal directions are included in simulated data. It has been observed that these random errors follow a normal distribution with a standard deviation of around 15 cm and 50 cm in vertical and horizontal directions respectively (Lohani, 1999).
To realize this, the rand() function of C programming language is used (Gottfried, 1988). Before calling this function another function srand(time(NULL)) is used, which sets its argument as the seed for a new sequence of random numbers to be returned by rand(). These functions are included in the library stdlib.h. Random numbers following normal distribution are generated by the procedure as described above with appropriate standard deviation (s) and stored in an array of length 25000 which is same as the number of points being scanned per second. Then for each point generated by the intersection of laser beam and surface these values are added, so that every point has unknown amount of error, independent of each other. This kind of error can not be removed at this point as source and amount of these are unknown for every point, necessitating special measures for their minimization.