Page 30 - DCAP608_REAL TIME SYSTEMS
P. 30

Unit 2: Introduction to Real-time Applications




          9.   Digital signal processing systems analyse, produce, and transform discrete-time signals.  Notes
          10.  A discrete-time signal is a function that is defined at any set of values of time.
          11.  Industrial applications constitute a major usage area of real-time systems.
          12.  A cellular system usually maps a city into cells.


              

             Case Study  Developing High-performance Radar Applications

                         Using the VSIPL++ API

                  he need for high-performance Signal- and Image-Processing (SIP) applications is
                  driving interest in parallel and multicore hardware for military embedded systems.
             THowever, programing such complex architectures can increase development costs
             by reducing developer productivity and code reuse. Leveraging a library that implements
             the high-level VSIPL++ API provides a way for SIP software developers to take advantage
             of the performance potential of parallel and multicore hardware systems while satisfying
             schedule and cost constraints.
             The problem: Getting from prototype to high-performance production code efficiently.

             Consider the following challenge. A software developer has a Scalable Synthetic Aperture
             Radar (SSAR) benchmark expressed in 50 lines of MATLAB code. The developer needs to
             implement that benchmark to achieve good performance on two very different systems –
             a conventional x86 processor and a heterogeneous, multicore Cell Broadband  Engine
             (Cell/B.E.) processor – in just one week.
             For  background, Synthetic Aperture Radar (SAR) is used for a variety of imaging and
             remote sensing applications, including reconnaissance, surveillance, and terrain mapping.
             To standardize benchmarking this common algorithm, MIT Lincoln Laboratory created a
             scalable synthetic SAR application as part of the High Performance Embedded Computing
             (HPEC) Challenge. The benchmark demonstrates the intense computational requirements
             found in actual systems using synthetic (and scalable) data. The raw radar returns are
             processed by means of a 2D Fourier matched filtering step, a spatial frequency interpolation
             step, and a transformation back to the spatial domain. Key mathematical operations, as in
             any SAR  application, include FFTs, matrix  multiplication, and interpolation. Thus,  a
             software development technique that offers benefits for this SSAR’s benchmark points to
             an approach that is likely to work for larger SIP applications as well.
             The first step: Choosing a library-based solution
             If high performance were the only goal, the developer could consider coding the algorithm
             in a low-level language such as C or assembly code. But the time constraints (only a week)
             combined with the need to develop for both an x86 and a Cell/B.E. processor, make this
             approach unworkable.
             With a portable library,  though, the same application code will  run on more than  one
             system. And a library allows a developer to program for an unfamiliar architecture, such
             as the Cell/B.E., in a familiar language using familiar development tools. The key is to
             find a library at the right level of abstraction – high enough to  provide the necessary
             primitives for the application domain but low enough to allow for efficient implementations
             and thus high performance.
                                                                                 Contd...



                                           LOVELY PROFESSIONAL UNIVERSITY                                   25
   25   26   27   28   29   30   31   32   33   34   35