Co-design of software and hardware to implement remote sensing algorithms Page: 2 of 15
This article is part of the collection entitled: Office of Scientific & Technical Information Technical Reports and was provided to UNT Digital Library by the UNT Libraries Government Documents Department.
Extracted Text
The following text was automatically extracted from the image on this page using optical character recognition software:
Co-design of Software and Hardware
to Implement Remote Sensing Algorithms
James Theiler, Jan Frigo, Maya Gokhale, and John J. Szymanski
Space and Remote Sensing Sciences, Los Alamos National Laboratory, Los Alamos, NM 87545
ABSTRACT
Both for offline searches through large data archives and for onboard computation at the sensor head, there is a
growing need for ever-more rapid processing of remote sensing data. For many algorithms of use in remote sensing,
the bulk of the processing takes place in an "inner loop" with a large number of simple operations. For these
algorithms, dramatic speedups can often be obtained with specialized hardware. The difficulty and expense of digital
design continues to limit applicability of this approach, but the development of new design tools is making this
approach more feasible, and some notable successes have been reported. On the other hand, it is often the case
that processing can also be accelerated by adopting a more sophisticated algorithm design. Unfortunately, a more
sophisticated algorithm is much harder to implement in hardware, so these approaches are often at odds with each
other. With careful planning, however, it is sometimes possible to combine software and hardware design in such
a way that each complements the other, and the final implementation achieves speedup that would not have been
possible with a hardware-only or a software-only solution. We will in particular discuss the co-design of software
and hardware to achieve substantial speedup of algorithms for multispectral image segmentation and for endmember
identification.
Keywords: co-design, configurable computing, field-programmable gate array (FPGA), k-means, endmembers
1. INTRODUCTION
Studying algorithms requires thinking in several ways:
creatively, to discover an idea that will solve a problem;
logically, to analyze its correctness;
mathematically, to analyze its performance; and
painstakingly, to express the idea as a detailed
sequence of steps so it can become software.
- Christopher Van Wyk'
An algorithm is a procedure for getting something done. The specification of an algorithm must be detailed and
precise; it is an exact and painstaking science. But the design of algorithms is an art. The recent emergence of
reconfigurable hardware, and in particular the commercial availability of Field Programmable Gate Array (FPGA)
chips and boards,2-4 has added a new dimension to the design space. By exploiting the inherent fine-grained
parallelism available in programmable hardware, one can obtain speedups of one to two orders of magnitude over
what is achievable on a general purpose serial processor - and this is in spite of the fact that the FPGA clock speed
is typically an order of magnitude slower than the microprocessor.5 Unfortunately, the price paid for this higher
performance is a much longer design cycle. There is currently a vigorous research and development effort to create
design tools for reducing the length of this cycle,6-8 but the practical upshot for scientific research (where one, or
at most a few, of the implementations will be deployed) is that it is not cost-effective to design a full-up hardware
implementation for any but the simplest algorithms.
On the other hand, even simple algorithms have their place. The lowly dot product is an example that is as
widely applicable as it is mathematically trivial. An efficient dot product can be implemented on an FPGA,9 but
the dot product is also a good example of an "algorithm" which is usually just one part of the real algorithm (eg, an
adaptive matched filter10'11) that you may want to implement for your remote sensing data analysis.
E-mail: {jt,jfrigo,maya,szymanski}@lanl.gov
Upcoming Pages
Here’s what’s next.
Search Inside
This article can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Article.
Theiler, J. P. (James P.); Frigo, J. (Janette); Gokhale, M. (Maya) & Szymanski, J. J. (John J.). Co-design of software and hardware to implement remote sensing algorithms, article, January 1, 2001; United States. (https://digital.library.unt.edu/ark:/67531/metadc926714/m1/2/: accessed April 25, 2024), University of North Texas Libraries, UNT Digital Library, https://digital.library.unt.edu; crediting UNT Libraries Government Documents Department.