Inside LabVIEW DSP

Publish Date: Sep 06, 2006 | 43 Ratings | 3.88 out of 5 |  PDF

Overview

The National Instruments LabVIEW DSP Module for NI SPEEDY-33 and Texas Instruments C6711 and C6713 DSKs helps you design, prototype, and deploy DSP systems through an easy-to-use, interactive graphical environment. There are a host of features that make LabVIEW DSP an ideal tool for development of DSP systems. This document details the key LabVIEW DSP Module features that make programming DSP systems intuitive and fun.

Table of Contents

  1. Hundreds of built-in analysis and development functions
  2. Modularity of code for reuse in future designs
  3. Easy-to-build, interactive GUIs for real-time interaction
  4. Express VIs for configuration-based code development
  5. Easy access to the analog and digital I/O lines of the DSP target
  6. Code portability to multiple DSP targets (NI SPEEDY-33, TI C6711 or C6713 DSKs only)
  7. Stand-alone application development capability
  8. Conclusion

1. Hundreds of built-in analysis and development functions

The LabVIEW DSP Module comes with hundreds of built-in signal processing and analysis functions such as different window, transform and waveform generation functions to help you quickly prototype your systems.

For example, the LabVIEW DSP Module can implement digital filters created using the LabVIEW Digital Filter Design toolkit. The LabVIEW Digital Filter Design Toolkit includes configuration-based coefficients generation. Once these coefficients are generated, you can store them in a file and import and implement them on the DSP using the LabVIEW DSP Module. Figure 1 shows the configuration window from the Digital Filter Design Toolkit.

Figure 1. Configuration Screen to Implement Digital Filters.

You can choose from several kinds of design methods including elliptic, chebyshev, and butterworth. Once you define the kind of filter you want and generate the coefficients, you can import it and implement it using the LabVIEW DSP Module. Figure 2 shows the configuration screen for the VI used to import digital filter coefficients in LabVIEW DSP and implement it on the DSP target.

Figure 2. Implementing Digital Filters Using the DFD Filter Express VI.

Back to Top

2. Modularity of code for reuse in future designs

One of the crucial needs of any project is the ability to reuse code easily. The LabVIEW DSP module leverages the power of LabVIEW to create sub-components or subVIs which can then be reused in more complex applications by simply wiring the inputs and outputs. Figure 3 shows a simple example wherein the functions “fast sine” and “slow sine” are reused in the application in which we create the Lissajous curve in LabVIEW.


Figure 3. Modular code development facilitates code reuse in more complex designs.

The ability to reuse tested code in bigger applications simply by connecting inputs and outputs helps modularize applications and make them easier to develop. Also, having subVIs or subcomponents in a program leads to a cleaner design that is easier to debug later.

Back to Top

3. Easy-to-build, interactive GUIs for real-time interaction


The LabVIEW DSP Module takes advantage of the interactive features of LabVIEW. You can now build powerful and sophisticated GUIs for your DSP applications by using graphs and charts, Boolean switches and LEDs, different types of gauges, sliders, and lots of other extremely useful front-panel objects.


Figure 4. Interactive Front Panel for the Bandstop Filter VI in the LabVIEW DSP module.

Figure 4 shows an example of the kind of interactive front panels that you can build using LabVIEW DSP. The power of LabVIEW DSP lies in the fact that you can interact with the program running on the DSP in real time and see the results on your front panel.

Back to Top

4. Express VIs for configuration-based code development


LabVIEW DSP makes it very easy for both expert programmers and novice users to build DSP applications. The LabVIEW DSP Module uses LabVIEW Express Technology so you can configure complex operations through a dialog interface, eliminating the need to drop in multiple blocks and connecting them with wires. For example, Figure 6 shows the configuration window for the Spectral Measurements Express VI.


Figure 5. Configuration Window for the Spectral Measurements Express VI.

Figure 5 shows that the configuration panels include several options from which you can choose. In this example, you can determine whether the function should calculate the RMS or power spectrum measurement. They also can choose to apply a window if they need to; there are several windows available including Hamming, Hanning, and Blackman-Harris. The power of Express VIs is that once the block is configured, all you have to do is connect the inputs and outputs and run the VI. The LabVIEW DSP Module implements the Express VI function on the DSP. Express VIs help reduce the time to market by providing you with the most common options through an easy-to-use interface. In addition, if you prefer finer control, you always can obtain it by dropping in individual VIs and wiring them together.

Back to Top

5. Easy access to the analog and digital I/O lines of the DSP target


Most DSP targets have a series of inputs and outputs, both analog and digital. LabVIEW DSP comes equipped with configurable elemental I/O VIs you can use to configure the analog and digital I/O of the DSP target (NI SPEEDY-33, TI C6711 or C6713 DSKs) .


Figure 6. Elemental I/O Palette in the LabVIEW DSP Module.

Figure 6 shows the elemental I/O palette in LabVIEW DSP. These I/O VIs are completely customizable by double-clicking on the icon after they are dropped onto the block diagram. Figure 7 shows the configuration screen for the Analog Input VI. As it can be seen in Figure 7, you can select between single-channel or dual-channel modes and whether they want to acquire a single sample or multiple samples. In addition, you also can adjust the sampling rate and other parameters depending on their applications.


Figure 7. Configuring the Analog Input VI in the LabVIEW DSP Module
There are similar configuration screens for Analog Output and Digital I/O. There are also two other elemental I/O VIs, Digital Bank Input and Digital Bank Output which you can use to address a set of digital lines in parallel.

Back to Top

6. Code portability to multiple DSP targets (NI SPEEDY-33, TI C6711 or C6713 DSKs only)


You can see the power of using LabVIEW DSP when switching from one hardware target to another. The LabVIEW DSP Module currently supports three DSP targets only – the NI SPEEDY-33 board and the Texas Instruments C6711 and C6713 DSKs - and switching between these targets is extremely easy.

Figure 8. Switch DSP Targets without changing code using the LabVIEW DSP Module
You can switch between DSP targets simply through a series of mouse clicks. Figure 8 shows you how to achieve this. You do not need to change your applications for the new DSP target. The LabVIEW DSP module adapts your application to the default settings of the selected DSP target that. All you need to do is click on the “Run” button, and the code is downloaded to the target and executed.

Back to Top

7. Stand-alone application development capability


The LabVIEW DSP Module also facilitates developing and deploying standalone DSP applications. In fact, you can deploy and run any application you create with the LabVIEW DSP module in a standalone manner.
Figure 9. Create Stand-Alone DSP Applications Easily Using the LabVIEW DSP Module
To make any application run in a standalone manner on the DSP target, all you need to do is to navigate to Tools > DSP Module > Download to Flash Memory, as shown in Figure 9. The LabVIEW DSP module downloads the application to the flash memory of the DSP. If the DSP target is reset, the application starts running in standalone mode.

Back to Top

8. Conclusion


Until now, both experienced DSP design engineers, students learning signal processing and DSP enthusiasts have faced many challenges in quickly building DSP systems. Graphical programming tools such as LabVIEW DSP abstract the implementation details and facilitate rapid DSP application prototyping and deployment. The intuitive graphical environment allows the novice user to learn concepts quickly.

Graphical programming for DSPs helps students and professors develop DSP applications faster by creating object code directly from a block diagram. The LabVIEW DSP Module promotes provides a hands-on experiential learning environment for learning DSP concepts. The students get to experience real world phenomena which help connecting theory to the real world and reinforce the importance of DSPs. The savings in design and development time, the maintainability advantages, and the self-documenting nature of graphical programming for DSPs will help make teaching and learning DSP concepts easier and fun

Back to Top

Bookmark & Share


Ratings

Rate this document

Answered Your Question?
Yes No

Submit