Abstract

Accurate automated alignment of laser beams in the National Ignition Facility (NIF) is essential for achieving extreme temperature and pressure required for inertial confinement fusion. The alignment achieved by the integrated control systems relies on algorithms processing video images to determine the position of the laser beam images in real time. Alignment images that exhibit wide variations in beam quality require a matched-filter algorithm for position detection. One challenge in designing a matched-filter-based algorithm is to construct a filter template that is resilient to variations in imaging conditions while guaranteeing accurate position determination. A second challenge is to process images for thousands of templates in under a second, as may be required in future high-energy laser systems. This paper describes the development of a new analytical template that captures key recurring features present in the beam image to accurately estimate the beam position under good image quality conditions. Depending on the features present in a particular beam, the analytical template allows us to create a highly tailored template containing only those selected features. The second objective is achieved by exploiting the parallelism inherent in the algorithm to accelerate processing using parallel hardware that provides significant performance improvement over conventional processors. In particular, a Xilinx Virtex II Pro field programmable gate array (FPGA) hardware implementation processing 32 templates provided a speed increase of about 253 times over an optimized software implementation running on a 2.2GHz AMD Opteron core.

Block diagram of the FPGA image correlation operations: the boxes labeled “sw” are switches, the shaded boxes are memory buffers, and the remaining boxes are computational modules. This figure shows the flow of input data (stored in g0 and g1) as it is processed through the prephase Sobel edge detection and four computation phases. The processing results are stored in Max 5 as output. A description of this process is given in Subsection 4B.