Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

DSP app? 80-20 rule still works

Posted: 02 May 2003 ?? ?Print Version ?Bookmark and Share

Keywords:dsp application? signal processing algorithm? c compiler? fourier transform? dsp/mcu architecture?

If you have never developed a DSP application, perhaps you have wondered how different it would be from the non-DSP embedded applications that you have developed through the years. If so, it is critical to understand the choices and decisions involved in developing a DSP application.

Assuming that a DSP was selected as the proper processing platform for the application, various development options are available. Here are some of the major decisions you will have to make: Should we code in a high-level language or in assembly? Which development tool suite should we use? Should we develop our signal processing algorithms from scratch or use available libraries? What are our debugging alternatives? How do we perform code analysis and optimization?

If you have done embedded software development, you will recognize that these decisions do not appear different from those of non-DSP applications. DSPs traditionally have been viewed as processors that must be programmed in assembly language to take full advantage of their performance. This might have been true five to 10 years ago, but it is no longer the case. C compilers for DSPs have become better at delivering functionally correct and compact code. Further, with the availability of hybrid DSP/MCU architectures in the marketplace, efficient compiler technology is reaching new levels and should continue to improve for the foreseeable future.

Ultimately, you will find that your signal processing application is no different than any other embedded application. Specifically, the 80-20 rule comes to mind: You will spend 80 percent of your execution time in 20 percent of your code. Considering the much-improved compiler offerings available for DSPs today, optimizing that 20 percent of your code will be a more-efficient use of your development time, and that optimization might require the use of assembly language. Just let the compiler take care of the other 80 percent.

When it comes to software development environments, the choices can be overwhelming. Most DSP suppliers have their own development environment that they will want you to use. There are also many third parties that want you to understand their offering before you make any decision. The following guidelines should assist you in making the tools decision:

Ease of use and platform support: Are the tools intuitive, or did you spend 15 minutes perusing the documentation to figure out how to create a project? Is the tool support consistent for different environments? You do not need to invest in a new computing platform just to use a new development system.

Completeness of the offering: Is there a full set of tools (for example, editor, compiler, assembler and linker) or just certain components? The more functionality the package includes, the better the investment. "A la carte" ordering might result in a superior environment but the cost will be higher.

Support and maintenance: No matter how intuitive and easy-to-use a tool is, users will need help to master it. What are the vendor's support policies? Is there a cost associated with support and/or maintenance releases? All these factors, and their associated costs, merit attention.

Signal processing is math-intensive work, and its algorithms and applications are an exercise in the application of a set of numerical principles. A question arises, though: Will the application use standard/established mathematical principles such as fourier transforms, convolution, filtering and others, or will it use a custom mathematical recipe? If it is based on standard principles, then using readily available implementations is a good idea. These are usually available from the DSP maker as well as a number of other sources, including academia, third-party software vendors and the Web.

Having a better fourier transform implementation will not necessarily improve a product. Rather, how the product is used will make the difference. The goal is to build only where absolutely necessary, and buy whenever possible.

- Victor Berrios

Motorola Inc.

Article Comments - DSP app? 80-20 rule still works
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top