Crunch time for signal processing
In line with the new “lean and mean” U.S. defense strategy, the military is developing advanced, nearly autonomous sensor platforms. Collectors on Unmanned Air Vehicles (UAVs), for example, are expected to siphon oceans of raw data from the environment, process much of it onboard, and provide useful information in real time.
This combination of data wealth and processing constraints will require not only faster hardware but also more complex application code. Platforms are to read, process, and exploit data from wide-area, multispectral, or hyperspectral sensors, sifting out targets and points of interest within tactical timelines. Drones will linger over an area, tag day-to-day changes such as new encampments or improvised explosive devices, track local personnel movements, and perhaps identify specific individuals.
Apart from the obvious technical challenges, developers face shortened program cycles because of military budget and operational imperatives. Meanwhile, the underlying platforms such as ships and aircraft are expected to endure for decades longer than before, making smooth software evolution and technology insertion as important as the original applications.
Programs such as Gorgon Stare and Autonomous Real-Time Ground Ubiquitous Surveillance-Imaging System (ARGUS-IS) are examples of efforts to provide wide area, persistent surveillance information in real time. ARGUS-IS reportedly uses a 2 gigapixel sensor with hundreds of focal plane arrays, producing images that must be stitched together to provide a continuous view.
Upgrade programs can be iterative, releasing incremental improvements at intervals as short as 12 months. Companies can also fund technology demonstrations to generate customer interest. Either route puts a premium on development speed. Software development has to keep pace.
Chip makers are rising to meet the challenge. One example is Intel’s latest Core i7 product, code named Ivy Bridge, which is expected to hit the street about the same time as this column. Reportedly, Ivy Bridge will shrink the second-generation IC manufacturing process to 22 nm, while squeezing 1.4 billion transistors onto a smaller die. The mobile version of the product, appropriate for embedded applications, is expected to include four cores, each with its own 256-bit-wide vector processor, a feature introduced by the predecessor chip. Such a vector pipeline, by allowing multiple operations to execute simultaneously, would be well suited to signal processing, where key functions require repetitive operations across large data sets.
Toolkits to the rescue
How will developers exploit such advances? Toolsets from hardware and software companies include large math libraries that relieve programmers from coding basic signal processing building blocks such as FFTs, matrix operations, and filter functions. Some toolkits also accelerate productivity by orchestrating the work of potentially hundreds of processors. Where symmetric multiprocessing is used, the software engineer can write a single program that will be automatically partitioned across all available cores.
Graphical tools help the developer to build an application by structuring it via manageable tasks and automatically generating code to distribute the software and initialize the system. Companion tools help depict central processing unit usage and communications channel bandwidths, as well as identify bottlenecks, diagnose bugs, and find timing discrepancies.
Toolkits are provided by multiple sources such as chip and board makers. GE Intelligent Platforms’ Advanced Multiprocessor Integrated Software (AXIS) environment, for example, includes math libraries, visualization tools, and interprocessor communications optimizers that run on multiprocessors such as the company’s DSP280, a rugged, dual-socket, Intel second-generation quad Core i7 multiprocessor (Figure 1).
Some tools also allow the programmer to simulate an application on a desktop computer before moving it to multiprocessor embedded hardware.
The most useful toolkits embrace multiple chip architectures and generations, as well as multiple operating systems, including the real-time operating systems powering embedded applications. These toolkits also allow the programmer to exploit all hardware features with no detailed knowledge of their inner workings.
Programming force multiplier
As chips become more capable and complex, software development tools are becoming more comprehensive yet easier to use, putting signal processing application development on a glide path to greater efficiency. Weapons developers as well as weapons platforms can eventually become force multipliers.