Subscribe to Test & Measurement World
RSS
Reprints/License
Print
Email
Average Rating:
  • (0)
    Rate this:
  • DSPs Can Speed Signal Analysis Tasks

    Before you buy a DSP add-in board, consider how a DSP can aid your application.

    Richard G. Lyons, TRW, Sunnyvale, CA, and Grant Griffin, Iowegian International, Shawnee Mission, KS -- Test & Measurement World, 4/15/1999 2:00:00 AM


    Searching for Suppliers of DSP software-development tools and DSP add-in boards ?
    Look no more. Read our list.
    Traditionally, test engineers have used desktop personal computers (PCs) in automated measurement systems to let users control the system and to display test results, perform data quality checks, and to store and retrieve test data. Test engineers can now perform the majority of their measurements with PC-based systems that offer performance equal to, but at a fraction of the cost of, traditional stand-alone test instruments. Add to that performance advantage the increased testing repeatability, flexibility, and speed of digital signal processing, and you can see why PC-based test systems are becoming more popular. Leading the way are commercial digital signal processor (DSP) boards for desktop PCs.
    Many test engineers have been hesitant to incorporate digital signal processing methods in their test systems because DSP architectures appear complicated, software development for DSP boards has a steep learning curve, and the mathematics of digital signal processing has the reputation of being hard to understand. Times have changed. Third-party vendors now supply DSP software-development systems that insulate test engineers from the details of processor architecture and reduce the aggravation of developing algorithms.

    If your PC-based test system can benefit from faster signal processing or can take advantage of more sophisticated test signal analysis algorithms, you should consider adding a DSP board to your PC (Fig. 1). Perhaps your testing requires computationally intensive signal processing such as high-performance (narrowband) digital filtering; spectral, statistical, or wave analysis; or signal recognition.
    14F2F1TMW.gif (28742 bytes)
    Figure 1. A typical add-in board that provides a DSP chip contains memory for the DSP chip’s program, memory for data storage, I/O connections for ADCs and DACs, as well as a fast connection with the host CPU over the PC’s main bus. (Courtesy of Spectrum Signal Processing.)

    Reduce Information Overload
    Many test systems benefit from digital signal processing that reduces information to a result, or a few results, rather than a stream of data—most of which the system would discard. For example, a DSP could calculate only the average, maximum, and minimum values in a waveform. Or, it could characterize an AC power-line ground-loop problem by measuring only the 60-Hz harmonic levels on the current flowing through the neutral line.

    To help you determine if your application will benefit from an add-in DSP board, you should know more about how DSPs process data to appreciate how they can speed signal processing. Even if you decide to write applications software at a high level—in Visual C++, LabView, or another language—an appreciation of a DSP’s operation will help you determine the types of tasks it can tackle.

    A DSP forms the heart of every DSP board. Like other microprocessors, DSPs include registers, a memory bus, interrupts, timers, and so on. Some DSPs even include features such as parallel I/O ports and UARTs for serial I/O. But unlike other microprocessors, DSPs are fundamentally "number crunchers,’’ designed specifically to perform the most common DSP operations: filtering and spectral analysis.

    At the most primitive level, virtually all DSP algorithms involve multiply-accumulate operations, or MACs. A MAC involves multiplying two numbers together (usually a data sample and a coefficient) and adding the result to a previous sum (Sum = Sum + Sample * Coefficient). Though simple in principle, a MAC really comprises four distinct processes: fetch data, fetch coefficient, multiply, and accumulate. Therefore, to streamline common DSP algorithms, DSPs perform all four MAC processes in a single instruction cycle.

    Because a MAC requires two fetches, DSPs always implement a "dual access’’ mechanism to fetch both the data and the coefficient during the same instruction cycle. Also, the DSP automatically fetches the data, without requiring a separate data-move instruction. Since signal samples and coefficients are typically accessed in sequences, the data and coefficient blocks are pointed to by "index" registers, which, after being set up, get auto-incremented to point to the next operand after each MAC.

    DSPs also include loop counters that automatically count the passes through a loop. The software needs no decrement-and-test operation to determine when it completes all passes through a loop. This zero-overhead looping helps DSPs hustle through their code.

    Together, single-instruction MACs and the zero-overhead looping implement most of the elements of a digital finite-impulse response (FIR) filter, at the price of just one instruction per FIR tap. The only other element needed to implement a FIR filter is the data-delay buffer.

    Again, hardware makes a big difference. DSPs implement "circular’’ buffer memories using address-update logic. Whenever the buffer’s pointer gets incremented past the end of the memory, hardware automatically returns it to the beginning of the memory. Thus, samples don’t "shift’’ from one delay element to the next. Instead, the DSP accesses them in a circular sequence defined by the memory-addressing hardware. New samples overwrite the oldest samples, thus implementing the data delay mechanism (Fig. 2).
    14f2fig2.gif (8258 bytes)
    Figure 2. The flow diagram for a finite impulse response (FIR) filter shows the use of multiplication and accumulate (add) operations. The delay elements are simply sequential memory locations set up as a circular buffer.

    Aside from digital filtering, the other primary DSP algorithm that requires special hardware support is the fast Fourier Transform (FFT). FFTs depend on fast MAC operations and on "bit-reversed addressing.’’ (Bit reversal describes the scrambled order of the spectral results obtained from FFT algorithms.1) Performing bit-reversals in software would require many instructions, but performing them in hardware requires relatively few gates, so DSPs provide this hardware feature.

      For input/output functions, most DSPs provide high-speed synchronous serial ports, along with hardware that automatically buffers the data samples to/from memory. These features provide an efficient interface with serial analog-to-digital and digital-to-analog converters.

    Add a DSP Board to Your PC
    Given their hardware design, DSPs can perform far more processing steps at a given instruction rate than your PC’s general-purpose microprocessor. So although your PC’s processor can do digital signal processing, in many test and measurement applications it makes more sense to offload those chores to a dedicated DSP chip. Manufacturers offer a wide variety of DSP boards that plug into the ISA or PCI bus in a PC. Some boards even feature multiple DSPs, further supplementing your PC’s signal-processing capability.

    But beyond increasing a PC’s number-crunching capabilities, there are other reasons to use dedicated DSP boards in lieu of a PC’s processor. Digital signal processing often requires a steady stream of high-rate input or output data. Processing this data with your PC would require transferring it over the PC’s bus, which could slow the bus and degrade its performance. Also, since many processes share the PC’s bus, it may not always transfer every sample on time. In contrast, DSP add-in boards can connect directly to I/O devices through dedicated high-speed buses, thus ensuring the boards a steady stream of "on-time’’ data.

    Digital signal processing cannot tolerate missed samples in a sequence of data. Missed samples result in glitches that create unwanted noise and distortions that reduce measurement accuracy. By using a dedicated DSP chip for digital signal processing, the DSP software can run autonomously, and the PC’s processor can remain responsive to other system requirements. This relieves you from having to deal with the complexities of a PC’s preemptive multitasking software when you need to run multiple real-time tasks.

    A less obvious reason to use DSP boards is to simplify software development. In the past, engineers have programmed DSP chips in either assembly language or in C. Powerful code-development systems such as Go DSP’s Visual C++-like environment and White Mountain DSP’s DSP tools and emulators make programming easier. Digital signal processing tasks tend to consist of well-defined functional blocks like filters, mixers, and I/O operations, which leads to programming by simply stringing together DSP blocks (Fig. 3).
    14f2f3.gif (8389 bytes)
    Figure 3. The screen of a DSP-software-development program shows how a user can connect processing blocks to form a complete algorithm. Several DSP-development tools offer this type of programming. (Courtesy of Jovian Systems.)

    Several software-development tools provide graphical tools that let you connect signal-processing functional blocks, and these tools work with popular add-in DSP boards. Thus, you can purchase software-development tools and a compatible DSP board, and then create a working DSP system in a relatively short time. You’ll avoid the details of how the processors work, and avoid having to master low-level DSP software-development tools such as assemblers, linkers, locators, and so on.

    When Do You Not Need a DSP Board?
    A DSP board may not be appropriate for all PC-based test systems. For example, when test-signal and system parameters remain fixed, or when the bandwidth of a measured signal is very large, using commercial instruments may be more cost effective than using digital signal processing. The value of very-large bandwidth proves difficult to pin down, however, because the speeds of data-acquisition boards continue to rise. You’ll have to investigate the demands of your processing tasks and ask DSP board manufacturers to help you gauge their products’ applicability to your application.

    Of course, if your test application only processes previously recorded data "off-line,’’ and you don’t need high-speed real-time processing, then count your blessings. In this case, you can choose from a variety of commercial signal-processing software packages for the PC, such as SystemView, O-Matrix, DADiSP, HiQ, MathCad, and Matlab. If your off-line processing is more statistical in nature, however, a different array of software packages may better suit your needs. 2

    Intel’s Pentium II processor incorporates some DSP-like features that may make a DSP board unnecessary for some test applications. But you’ll have difficulty determining how to make the tradeoff. Intel coined the term "native signal processing’’ (NSP) to describe its Pentium processor’s ability to execute some single-instruction, multiple-data, instructions in one clock cycle (which sounds a lot like standard multiply-accumulate operations).

    Berkeley Design Technology (Berkeley, CA) (www.bdti.com) has published benchmark studies showing that the Pentium II performs some fixed-point digital signal processing operations faster than many popular DSP chips. You can download Intel’s Signal Processing Library functions from developer.intel.com. But actual performance depends on how quickly your PC can process information.

    That performance proves difficult to quantify and the problem lies deep in the PC’s architecture and in the Windows operating system software. (See "Pentiums Do DSP, Too") If you can satisfy your processing needs with a Pentium II PC, you’ll eliminate the cost of a DSP board and development software. You’ll have to learn how to use Intel’s Signal Processing Library software, however, which may not be worth the tradeoff. T&MW

    FOOTNOTES
    1. Lyons, Richard G., Understanding Digital Signal Processing, Addison Wesley, Reading, MA, 1997, p. 145.
    2. Titus, Jon, "10 Questions You Must Ask Before Buying Data-Analysis Software," Test & Measurement World, November 1998, p. 30.
    3. Johnson, Mike, and William M. Johnson, "Superscalar Microprocessors Design,’’ Prentice Hall, Englewood Cliffs, NJ, 1991.
    4. Varhol, Peter, "Pentium, Intel’s 64-Bit Superscalar Architecture,’’ Computer Technology Research Corp., Charleston, South Carolina, 1993.

    Richard G. Lyons works as a systems engineer at TRW. He has been involved in designing and testing electronic signal-processing systems for more than 15 years. He is the author of Understanding Digital Signal Processing.

    Grant Griffin is president of Iowegian International. He has been a DSP hardware and software designer for more than 14 years and is the author of Iowegian’s ScopeDSP and ScopeFIR DSP software-development tools.
    Pentiums Do DSP, Too
    Using the advanced architecture of a Pentium II is a double-edged sword. Its superscalar architecture lets it execute instructions very quickly, but makes predicting execution speed almost impossible. To understand this uncertainty, consider how the Pentium II CPU executes its instructions.

    Early microprocessors executed single machine-language instructions in several steps: fetch an instruction, decode it, and execute it (Fig. a). Modern microprocessors achieve higher speed by implementing pipelined architectures. Pipelining overlaps the processing of one CPU instruction with the next, where possible (Fig. b).

    14f2s1.gif

    (a) Early microprocessors broke instructions into parts and performed them sequentially. (b) To gain speed, modern microprocessors use a pipelined architecture that performs the parts of an instruction in parallel, thus increasing processing speed.

    The Pentium II further enhances its performance as a superscalar processor by implementing what Intel calls dynamic execution, which minimizes the number of times the CPU can’t process a new instruction until the current instruction is completed. This dynamic instruction scheduling scheme means bad news for engineers because it makes the speed of test-program execution almost impossible to predict. Understanding the subtleties of superscalar CPU design is not for sissies—entire books cover this technology.3,4

    The PC’s Windows multitasking operating system adds to throughput uncertainty. It’s difficult to predict execution times when the Pentium must process interrupts and share its resources with various background processes. Of course, different versions of the Pentium CPU have different code-execution speeds due to different clock rates, cache memory sizes, and different memory access times. As the auto industry likes to say, "Your mileage may vary.’’ Fortunately, Intel has developed a software-analysis tool, called VTune, that lets you monitor, and optimize, your test code through detailed tracking of your application software and all operating-system code. --Richard G. Lyons and Grant Griffin
    DSP Software-Development Tools SuppliersIntel
    Santa Clara, CA
    408-765-8080
    www.intel.com
    Product: Vtune
    ELANIX
    Westlake Village, CA.
    818-597-1414
    www.elanix.com
    Product: SystemView
    Harmonic Software
    Seattle, WA
    800-895-4546 /206-367-8742
    www.omatrix.com
    Product: O-Matrix
    DSP Development
    Cambridge, MA.
    617-577-1133
    www.dadisp.com
    Product: DADiSP
    National Instruments
    Austin, TX.
    512-794-0100
    www.natinst.com/hiq/
    Product: HiQ
    MathSoft
    Cambridge, MA.
    617-577-1017
    www.mathsoft.com
    Product: MathCad
    The MathWorks
    Natick, MA
    508-647-7000
    www.mathworks.com
    Product: Matlab
    Jovian Systems
    Woburn, MA
    781-937-6300
    www.jovian.com
    Product: Pegasus
    Hyperception
    Dallas, TX
    214-343-8525
    www.hyperception.com
    Product: Hypersignal RIDE
    Signalogic
    Dallas, TX
    214-343-0069
    www.signalogic.com
    Product: DSPower Visual
    Enviroment
      Iowegian International
    Overland Park, KS
    913-219-8578
    www.iowegian.com
    Product: ScopeDSP/ScopeFIR
    Go DSP
    Toronto, ON, Canada
    416-599-6868
    www.go-dsp.com
    White Mountain DSP
    Nashua, NH
    603-883-2430
    www.wmdsp.com

     

    Suppliers of Add-in Boards:
    Alacron
    Nashua, NH
    603-891-2750
    www.alacron.com
    Bittware Research Systems
    Concord, NH
    800-848-0436
    www.bittware.com
    Blue Wave Systems
    Carrollton, TX
    972-277 4646
    www.bluews.com
    Communication Automation & Control
    Westchester, PA
    800-367-6735
    www.cacdsp.com
    Data Translation
    Marlborough, MA
    800-525-8528
    www.datx.com
    DSP Research
    Sunnyvale, CA
    408-773-1042
    www.dspr.com
    DSP Tools
    Potomac, MD
    301-424-5808
    www.dsptools.com
    Innovative Integration
    Westlake Village, CA
    818-865-6150
    www.innovative-dsp.com
      Mercury Computer Systems
    Chelmsford, MA
    978-256-1300
    www.mc.com
    Momentum Data System
    Fountain Valley, CA
    714-378-5805
    www.mds.com
    National Instruments
    Austin, TX
    512-794-5662
    www.natinst.com
    PCM Systems
    Dublin, CA
    925-829-8700
    www.pcmsystems.com
    Pentek
    Upper Saddle River, NJ
    201-818-5900
    www.pentek.com
    Precision MicroDynamics
    Victoria, BC, Canada
    250-382-7249
    www.pmdi.com
    Quatech
    Akron, OH
    330-434-3154
    www.quatech.com
    RadiSys DSP Div.
    Newton, MA
    617-844-0406
    www.radisys.com
    Spectrum Signal Processing
    Burnaby, BC, Canada
    604-421-5422
    www.spectrumsignal.com
    Transtech DSP
    Ithaca, NY
    607-257 8678
    www.transtech-dsp.com

    Traquair Data Systems
    Ithaca, NY
    607-266-6000
    www.traq
    Average Rating:
  • (0)
    Rate this:
  • RSS
    Reprints/License
    Print
    Email
    Talkback
    Similar Content from T&MW

    No related content found.

    • 0 rated items found.

    Datasheets.com Electronic Parts & Inventory Search

    185 million searchable parts
    • Part Number
    • Description
    • Inventory
    • Products
    • Manufacturers
    Canon Resource Center

    Featured Company


    Most Recent Resources

    Featured Job On
    Scroll for More Jobs
    Advertisement
    More Content
    • Blogs
    • Webcasts

    Sorry, no blogs are active for this topic.

    » VIEW ALL BLOGS RSS
    • All


    Advertisement
    Advertisement
    About Us   |   Advertising Info   |   Site Map   |   Contact Us   |   FREE Subscription
    © 2011 UBM Electronics . All rights reserved.
    Use of this Web site is subject to its Terms of Use | Privacy Policy

    Feedback Form
    Feedback Analytics