Real Time Analysis and Display of

Scanning Lidar Scattering Data

 

B.R. Lienert1, J.N. Porter2 and S.K. Sharma3

1,2,3HIGP/SOEST, University of Hawaii at Manoa,

2525 Correa Rd., Honolulu HI 96822

1Tel: (808) 956-7815

1e-mail: lienert@soest.hawaii.edu

 

Abstract

We describe software we have used to collect, analyze, display and store backscatter data from a multi-wavelength scanning lidar system. Both one and two-dimensional distributions of optical scattering coefficients are calculated from the lidar return signals and displayed in real time. The modular nature of the software and data acquisition drivers makes it straightforward to adapt the software to different systems. We show examples of both horizontal and vertical lidar scans collected at the Makai Pier and Bellows Beach on the northeast side of the island of Oahu.

 

Introduction

Lidar (Light Detection and Ranging) is a well-established technique for determining the optical properties of the atmosphere to distances of up to 120 km (Spinhirne et al, 1997). Pulses of light are transmitted from a laser and the backscattered light is received using detectors coupled to a telescope pointed at the laser's image, usually with a coaxial geometry. The backscattered signal has a duration that depends on the range being studied, e.g., for a range of 5 km the signal duration is 30 uS. The distance resolution depends on the speed of the analog to digital converters (ADC's) used. Because the returned signal falls off as at least the inverse distance squared, it is highly advantageous to use 12 bit, rather than higher speed 8-bit ADC's. The recent advent of commercial 60 MHz ADC's allows a range resolution down to 5 m, corresponding to a two-way travel time at the Nyquist frequency. Software for lidar data processing in the past has consisted of packages written for systems containing custom hardware and usually written for UNIX workstations. The speed of modern PC's has now made these machines a viable platform for real-time processing of lidar data at much lower cost. In addition, the availability of a standard graphical interface to devices such as displays and printers makes it possible to develop software that will run without modification on any PC. We have made the source code for our software available so that others can use it as a template for developing software on the PC platform.


Harware Description

A schematic diagram of our scanning Lidar is shown in Figure 1. It is a coaxial system employing a 30-cm diameter Schmidt-Cassegrain telescope and a 20 Hz Nd:YAG laser (80 mJ/pulse). The laser beam is expanded to a diameter of 4 cm and reflected off a turning mirror mounted on top of the telescope. A two-axis 30-cm scanner is used to direct the telescope and outgoing beam to any desired direction at rates of up to 5 degrees per second. A separate PC communicating with the main PC via a serial port controls the scanner. The outgoing laser pulse energy is monitored using a small portion of the transmitted beam, collected using an integrating sphere coupled to high-speed photodiodes. The diode signals are digitized at 500 MHz and coupled via a GPIB to the main computer. The backscatter signals from the two detectors, an avalanche photodiode and photomultiplier tube (PMT), are digitized using 60 MHz 12 bit analog to digital converters (ADC's). We found that using a tapered voltage divider on the PMT, rather than the linear divider usually supplied by the manufacturer, considerably improved its short period response. We also found that shielding the primary laser beam from the telescope optics, using a series of tubes, considerably reduced the amplitude of the initial pulse, making it unnecessary to use a chopper or gate in our system. For far field (>10 km) signals, the PMT signal can also be processed by a multichannel scaler/averager. An 16-channel 12 bit A/D card is used to digitize wind speed, wind direction, ambient humidity and temperature.

Backscattering Inversion Method

The inversion of lidar data to obtain scattering coefficients has been described by Klett (1981) and Zhang and Hu (1992). We use the iterative forward stepping technique described by Porter et al. (1999). Rather than assuming a scattering value in a distant layer (Klett, 1981), this method assumes a scattering value in the near field, then performs a forward stepping inversion. We then adjust the calibration constant to give reasonably constant calculated scattering in the far field for a horizontal profile in which the scattering is known to be reasonably uniform. Because the overlap function of our system optics is close to one at a range of 300 m, the assumed near field scattering value up to this distance has little effect on the inversion, although it can easily be adjusted interactively if necessary. This method has two major advantages:

(a) We are not constrained, like Klett (1981), to assuming a power law relationship between backscatter and extinction. Intially, we assume that this relationship is linear, with a slope based on size distribution modeling of the aerosols being studied (Porter and Clarke, 1997). If necessary, different values of the backscatter to extinction ratio can then be specified in different atmospheric regimes.

 (b) We are able to determine the system calibration constant using routine measurements by including at least one near horizontal scan in each series of scans. Since the optical components, particularly the outer scanner mirror, can change their reflectivity as they accumulate dust and dirt, and in marine environments, salt spray, the system calibration constant changes with time. We have observed changes as large as a factor of three in less than 30 minutes at the Bellows site, which is less than 20 m from breaking waves on a beach. It is therefore essential that we have a method of determining the calibration constant frequently.

Software Description

The software was originally written in 16-bit C, using Visual C++ 1.52 as the compiler, using the Windows Application Programming Interface. We have almost completed converting the package to run under 32 bit C, using Visual C 6.0. We did not use the MFC classes which resulted in a smaller executable program (about 400 KB versus >2 MB). The only external libraries used were those for the A/D converters and GPIB driver. The program is organized message loop style (Petzold, 1996). In Windows, as opposed to sequential text-based languages such as FORTRAN and BASIC, messages are the means by which all operator requests, such as mouse or keyboard actions, are serviced. Actions of the operator therefore determine the program sequence, rather than a "flow chart" type sequence determined by the programmer. The heart of the program therefore lies in the message loop, which in C is "switch" loop, followed by a series of "case" statements which contain calls to the appropriate subroutines.


The software starts by initializing variables to the previous settings (last subdirectory accessed, scanner, plot and data acquisition settings, etc.) which are read from a previously saved file. All values can then be modified using dialog boxes, which provide a convenient way of displaying and modifying settings such as voltage ranges, data acquisition speed, etc. The dialog boxes are activated using either menu commands, or for the frequently used commands, toolbar buttons. Control of the scanner is accomplished using the dialog box shown in Figure 2. While this dialog box is enabled, the azimuth and elevation values are read at 50 mS intervals through a serial port, allowing the scanner position to be monitored at any time, including scanning and data acquisition. The two entries below the azimuth and elevation readout are used to orient the scanner to any desired position in real time using the "Go To" button. The azimuth and elevation origins can also be set to any desired reference position using the "Set To" button allowing easy resetting of the scanner origins. The scan limit settings are used to control the speeds and angular ranges of the scan. Once the "Start Scan" button is pressed, the scanner will proceed to scan and continue until the "Stop Motors" button is pressed.

 


When data acquisition is requested, a 50 ms timer (corresponding to the laser pulse frequency of 20 Hz) is started to check for device trigger status. Trigger signals are generated by a photodiode positioned in front of the laser. On the first scan of a series, the "AcquireData" routine sends the settings in the various dialog boxes to the appropriate output devices. The procedure then initializes the input devices (ADC's, digital scope, SRS430) to wait for a trigger signal. A filename having the form DDDHHMM.SS is generated from the starting julian day, hour, minute and second and is opened on the output device, in our case a removable hard disk cartridge. The files are written into a directory whose name is the day, month and year. The file is written in binary format to reduce size and improve speed. However, data can be read back later and saved in ASCII format in the form that it is currently displayed in (filtered, inverted for backscatter, etc.), allowing easy export to other programs when desired. The data in the files created during data acquisition consist of two parts:

(a) A fixed section, containing the number of active data channels, settings for each channel, filter values, etc. This section is created once at the beginning of a set of scans.


(b) A data section, which contains items that vary with each scan (scanner azimuth and elevation, wind speed, etc) followed by calibration data and the data itself for each channel. Data is stored in 16-bit integer format coming directly from the acquisition devices, with the range settings and calibration terms applied when the data is read.

Although the number of desired scans is specified at the beginning of acquisition, acquisition can be terminated at any time. When ADC data acquisition for a single shot is complete, the "AcquireData" routine downloads the data and accumulates it in a running average. Once the required number of shots has been accumulated, the calibration data, which is averaged internally in the digital oscilloscope, is downloaded, along with auxiliary data (windspeed, etc). The data is displayed in one of the following ways, which can be changed even while data acquisition is in progress:

 (a) Detector voltage versus either time or distance. This provides a useful check on whether the ADC ranges are optimal and also whether the detectors or amplifiers are close to saturation. We found it extremely useful to optionally display this plot on a log-log scale simultaneously with the calculated molecular scattering. On a log-log plot, the inverse distance squared variation becomes linear, making it much easier to check the system's response, as well as to determine an approximate system calibration constant and the distance at which noise starts to dominate the signal. An example of sucha log-log plot is shown in Figure 3.

 (b) Extinction versus distance. This plot requires inverting the detector voltage to obtain the total optical scattering using a method similar to that described by Klett, 1981, which is described in detail by Porter et al., 1999. This method requires a value for the ratio of backscatter to extinction (the phase function) in order to calculate the transmission losses.

(c) Two-dimensional scattering. For this plot, we have used a series of rainbow colors to display the calculated extinction along lines corresponding to the directions of each series of shots. The "rainbow" routine was based on the optical response of the human eye to the three primary colors of the display, but was adjusted to give visually discernable differention across its range. Once the extinction is color coded, a single straight line of variable thickness, oriented in the direction the laser is pointed can represent a single backscatter profile. Plotting these lines at regular anglular intervals (determined by the scanner speed and the number of shots averaged) allows visualization of a two-dimensional "slice" of the extinction coefficient. These plots have proved extremely useful for representing laterally varying features such as plumes of salt spray and clouds.


 


Sample Scans

The first example, shown in Figure 3 is a horizontal scan taken at 2103 on 5/10/98 at the Makai Pier, on the Northeast side of Oahu. The average elevation of the laser beam above the water was 6 m. Plumes of salt spray can be seen blowing in the trade wind direction (66O E) off the edges of two small islands about 1.5 km offshore. The calibration factor was adjusted to give uniform scattering values in the leftmost scan (10O W) using the method of Porter et al., 1999. We estimate that this calibration factor is accurate to within 10%. The second example, shown in Figure 4, is a vertical scan taken at Bellows Beach, about 6 km west of the Makai Pier. The top of the marine boundary layer is clearly defined increases from 0.8 to 1 km inland due to orographic lifting by the Koolau range, about 2 km behind the beach.

 

Discussion


            The software described has now been successfully used for over three years to collect and display lidar data on a PC. The real-time display of processed data has proved invaluable for detecting problems in alignment, etc., as well as immediately being able to interpret the data in real time. Since the algorithms are all written in C, they are highly portable and can be easily ported to other platforms. However, the widespread availability and low cost of PC's makes them a natural choice for both data acquisition and display.

Acknowledgements

The work carried out here was funded by ONR grant # N00014-96-1-0317.

 

References

Klett, J.D. 1981. Stable analytical inversion solution for processing lidar returns. Appl. Optics, 20, 211-220.

Petzold, C.1996. Programming Windows 95, Microsoft Press.

Porter, J. N. and A. D. Clarke.1997 An aerosol size distribution model based on in situ measurements: Aerosol backscatter calculations. J Geophys. Res. Atmospheres 102, 6035-6045.

Porter, J.,  B. Lienert, S. K. Sharma, Using Horizontal and Slant Lidar Measurements To Obtain Aerosol Scattering Coefficients From A Coastal Lidar In Hawaii, submitted to Journal of Atmospheric and Oceanic Technology 1999.

Spinhirne, J.D., S. Chudanani, J.F. Cavanaugh and J.L. Button.1997. Aerosol and cloud backscatter at 1.06, 1.54 and 0.53 um by airborne hard-target-calibrated Nd:YAG/methane lidar, Appl. Optics., 36, 3475-3489.

Zhang, J., and H. Hu, 1997. Lidar calibration: A new method. Applied Optics,  36,  1235-1238.