Global TMW:
Login  |  Register          Free Newsletter Subscription
Subscribe
Email
Print
Reprint
Learn RSS

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

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 Suppliers

Intel
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

Email
Print
Reprint
Learn RSS

Talkback

We would love your feedback!

Post a comment

» VIEW ALL TALKBACK THREADS

Related Content

Related Content

 

By This Author

There are no other articles written by this author.

Sponsored Links



 
Advertisement
SPONSORED LINKS

More Content

  • Blogs
  • Podcasts

Blogs

  • Martin Rowe
    ROWE'S AND COLUMNS

    July 8, 2008
    Introducing...Test ideas
    Beginning in the T&MW August print issue, we’ll replace the “Project Profile” ...
    More
  • Martin Rowe
    Rowe's and Columns

    July 8, 2008
    They finally figured it out
    I just received a press release from one of those companies that analyzes industries. This one is ab...
    More
  • » VIEW ALL BLOGS RSS

Podcasts

Advertisements





NEWSLETTERS

Click on a title below to learn more.

Test Industry News (3 Times Per Month)
Machine-Vision & Inspection (Monthly)
Communications Test (Monthly)
Design, Test & Yield (Monthly)
Automotive, Aerospace & Defense (Monthly)
Instrumentation (Monthly)
Resource Center E-Alert (Monthly)
©2008 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy
Please visit these other Reed Business sites