Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Customer Solutions

Digital Signal Processing Board Created with LabVIEW Provides Great tool for Education

Author(s):

Bruno Paillard, Universite de Sherbrooke

Industry:

University/Education

Product:

LabVIEW

The Challenge:

Introducing digital signal processors and digital signal processing applications into the microprocessor courses for the Electrical Engineering program at Universite de Sherbrooke to better integrate the disciplines of microprocessor implementation, digital signal processing, and digital control.

The Solution:

Using LabVIEW-based software to handle a digital signal processing board that we will use in the new courses and project activities.


Background - Designing a Digital Signal Processing Board
The Electrical and Computer Engineering department at Université de Sherbrooke began an in-depth reform of its Electrical Engineering and Computer Engineering programs. The new programs are based on a "project-based learning" approach and are phased-in progressively.

To handle the new courses and project activities generated by the new program, we designed a digital signal processing (DSP) board. This board named "Signal Ranger" features a fast fixed-point digital signal processor, as well as a large number of analog I/Os, suitable for a wide variety of vibration, acoustic, or control applications. We included a complete set of LabVIEW-based software tools with the board, greatly facilitating code development.

Following the development of this DSP board, we decided to make it commercially available to other university labs and industrial developers through an agreement with Soft-dB Inc., a Quebec-based company specializing in vibro-acoustics studies. Soft-dB (softdb.com) markets and distributes the board worldwide.

Functionality, Simplicity, and Lower Cost
DSP boards are usually expensive, especially if you require special features such as a large number of analog I/Os. This is one reason why many universities choose to handle their microprocessor courses with less expensive microcontroller boards. By designing our own DSP board, we achieved a compromise between the functionality required for the courses and the hardware cost.

Another concern was that many digital signal processors have a complex architecture, making them too advanced for a first course in microprocessors. By designing our own DSP board, we were able to choose the digital signal processor for the simplicity of its architecture, which is a critical factor from an educational standpoint. However, we did not compromise performance.

Signal Ranger has 16 high-resolution analog I/Os (8 inputs and 8 outputs). These analog channels use 16-bits Sigma-Delta analog-to-digital converters (ADC) and digital-to-analog converters (DAC) to sample and generate signals at up to 21 Ks/s. Sampling is synchronous for the 8 inputs and 8 outputs. Each analog channel uses an independent ADC and DAC (not a single multiplexed device). This way, the useful sampling rate is not reduced when you increase the number of channels. This configuration is ideal for multichannel acoustics and vibration analysis, including sensor array processing. Built around a 100 MHz TMS320C5402 fixed-point DSP, Signal Ranger has enough computational power to study multichannel control or signal processing problems. There are 48 K words of external RAM complementing the 16 K that are provided "on-chip" within the DSP.

A universal serial bus (USB) connection to a PC provides wide-bandwidth plug and play connectivity, as well as power to the board, which greatly simplifies its use in the lab. For further expansion, the DSP program and I/O buses are available through a connector, so you can add specialized peripherals through the development of custom mezzanine boards.

Versatile and Reliable Software Tools
Because Signal Ranger is a commercial product, we had to pay special attention to the versatility and the reliability of the software tools. Developers need to interface at various levels and use different tools, which meant that all interface levels should be accessible. Also, because it is an educational platform, there should be an easy-to-use interface, open and fully documented tools, and "tutorial-like" software examples. Throughout our development, LabVIEW greatly simplified the design of the software tools.
At the lowest interface level, USB board drivers handle Windows 95/98/Me/2000. At the highest interface level, the development of a LabVIEW interface library greatly facilitates the development of LabVIEW application software. In particular, with this library, you can download code in DSP memory, launch code execution, and read or write DSP variables in real time while the DSP code is running. This interface retains the "look and feel" of an instrument driver. It enables symbolic access, so you can use the symbolic names of DSP variables and labels to access them from the LabVIEW application.

At intermediate levels, we provide several dynamic link libraries (DLL) to control the board, so that you can choose to develop Windows applications using Visual C++ or any other development environment that handles DLLs.On the DSP side, we provided an analog I/O driver to accelerate DSP code development. We also include two complete and well-documented examples of LabVIEW applications using the board. These examples describe how to use the LabVIEW interface library and include PC-side and DSP-side code.
These applications include:

  • Signal Tracker - A simple signal analyzer which uses the DSP board as an acquisition board and plots time and frequency representations of the captured signal on the PC.
  • Response Tracker - An impulse response analyzer. This application sends a white pseudo-random signal to one output and analyzes the corresponding input signal. Using a least mean square optimization, it finds and follows the impulse response of the system under test. This application shows an example of where most of the processing is done in real time on the DSP board.


We also included a graphical debugger, a stand-alone application developed in LabVIEW that can load and launch DSP code. It can read or write DSP memory and registers in several formats, including graphical (signal trace) and representations. You can use symbols that were defined during the development of the DSP code to access labels and variables.

The creation of Signal Ranger, using LabVIEW-based software tools, has allowed the Université de Sherbrooke’s Electrical and Computer Engineering departments to reform our program into a project-based learning approach with the advantage of versatility, reliability, reduced cost, and ease of use; but without compromising performance.

For more information, contact:

Bruno Paillard, Ph.D.

Electrical and Computer Engineering Faculty of Engineering

Université de Sherbrooke

Sherbrooke, Quebec Canada, J1K 2R1

Tel: (819) 821 8000 x2138

E-mail: bruno.paillard@gel.usherb.ca

View the PDF
paillard.bruno.pdf

View the entire user solution in Adobe Acrobat PDF format.