Digital Signal Processing System Design
eBook - ePub

Digital Signal Processing System Design

LabVIEW-Based Hybrid Programming

  1. 344 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Digital Signal Processing System Design

LabVIEW-Based Hybrid Programming

About this book

Digital Signal Processing System Design combines textual and graphical programming to form a hybrid programming approach, enabling a more effective means of building and analyzing DSP systems. The hybrid programming approach allows the use of previously developed textual programming solutions to be integrated into LabVIEW's highly interactive and visual environment, providing an easier and quicker method for building DSP systems. This book is an ideal introduction for engineers and students seeking to develop DSP systems in quick time. Features: - The only DSP laboratory book that combines textual and graphical programming - 12 lab experiments that incorporate C/MATLAB code blocks into the LabVIEW graphical programming environment via the MathScripting feature - Lab experiments covering basic DSP implementation topics including sampling, digital filtering, fixed-point data representation, frequency domain processing - Interesting applications using the hybrid programming approach, such as a software-defined radio system, a 4-QAM Modem, and a cochlear implant simulator - The only DSP project book that combines textual and graphical programming - 12 Lab projects that incorporate MATLAB code blocks into the LabVIEW graphical programming environment via the MathScripting feature - Interesting applications such as the design of a cochlear implant simulator and a software-defined radio system
CHAPTER 1

Introduction

The field of digital signal processing (DSP) has experienced a considerable growth in the past two decades, primarily due to the availability and advancements in digital signal processors (also called DSPs). Nowadays, DSP systems such as cell phones and high-speed modems have become an integral part of our lives.
In general, sensors generate analog signals in response to various physical phenomena that occur in an analog manner (i.e., in continuous-time and amplitude). Processing of signals can be done either in analog or digital domain. To perform the processing of an analog signal in digital domain, it is required that a digital signal is formed by sampling and quantizing (digitizing) the analog signal. Hence, in contrast to an analog signal, a digital signal is discrete in both time and amplitude. The digitization process is achieved via an analog-to-digital (A/D) converter. The field of DSP involves the manipulation of digital signals in order to modify their characteristics or to extract useful information from them.
There are many reasons why one wishes to process an analog signal in a digital fashion by converting it into a digital signal. The main reason is that digital processing offers programmability, which means the same processor hardware can be used for many different applications by simply changing the code residing in memory. Another reason is that digital circuits provide a more stable and tolerant output than analog circuits—for instance, when subjected to temperature changes. In addition, the advantage of operating in digital domain may be intrinsic. For example, a linear phase filter or a steep-cutoff notch filter can be easily realized by using digital signal processing techniques, and many adaptive systems are achievable in a practical product only via digital manipulation of signals. In essence, digital representation (0’s and 1’s) allows voice, audio, image, and video data to be treated the same for error-tolerant digital transmission and storage purposes.

1.1 Digital Signal Processing Hands-On Lab Courses

Nearly all electrical engineering curricula include DSP courses. DSP lab or design courses are also being offered at many universities concurrently or as follow-ups to DSP theory courses. These hands-on lab courses have played a major role in better understanding of DSP concepts. A number of textbooks, e.g. [1–5], have been written to provide the teaching materials for DSP lab courses. The programming language used in these textbooks consists of either C, MATLABĀ®, or Assembly, which are all text-based languages. In addition to these text-based languages, it is becoming important for students to gain experience in block-based or graphical (G) programming or environment for the purpose of designing DSP systems in a relatively short amount of time. Graphical programming offers an interactive and a more intuitive approach toward building DSP systems. Thus, the main objective of this book is to provide a block-based or system-level programming approach in DSP lab courses. The system-level programming environment chosen is LabVIEW.
Laboratory Virtual Instrumentation Engineering Workbench (LabVIEW) is a graphical programming environment developed by National Instruments (NI) which allows performing high-level or system-level designs. It uses a graphical programming language to create so-called Virtual Instrument (VI) blocks in an intuitive flowchart-like manner. A design is achieved by integrating different blocks, components, or subsystems within a graphical framework. LabVIEW provides data acquisition, analysis, and visualization features well suited for DSP system design. It is also an open environment accommodating MATLAB and C Dynamic Link Libraries (DLLs).
This book is written primarily for those who are already familiar with signal processing concepts and are interested in designing signal processing systems without needing them to be proficient C or MATLAB programmers. After familiarizing the reader with LabVIEW, the book covers a LabVIEW-based approach to generic experiments encountered in a typical DSP lab course. It brings together in one place the information scattered in several NI LabVIEW manuals to provide the necessary tools and know-how for designing signal processing systems within a one-semester lab course. This book can also be used as a self-study LabVIEW guide toward designing and analyzing signal processing systems.
In addition, for those interested in DSP hardware implementation, two chapters in the book are dedicated to executing selected portions of a LabVIEW designed system on an actual DSP processor. The DSP processor chosen is TMS320C6000. This processor has been manufactured by Texas Instruments (TI) for computationally intensive signal processing applications. The DSP hardware utilized to interface with LabVIEW is the widely adopted TI’s C6416 or C6713 DSP Starter Kit (DSK) board. It should be mentioned that since the DSP hardware implementation aspect of the labs (which includes C programs) is independent of the LabVIEW implementation, those who are not interested in the DSP hardware implementation may skip these two chapters.

1.2 Organization

The book includes 12 chapters and 12 labs. After this introduction, the LabVIEW programming environment is presented in Chapter 2. Lab 1 and Lab 2 in Chapter 2 provide a tutorial on getting familiar with the LabVIEW programming environment. Lab 1 provides a general introduction to LabVIEW, and Lab 2 covers building signal processing systems graphically. Lab 2 also shows how to incorporate M-file nodes or blocks within LabVIEW. The topic of analog-to-digital signal conversion is presented in Chapter 3 followed by Lab 3 covering signal sampling experiments. Chapter 4 involves digital filtering. Lab 4 in Chapter 4 shows how to use LabVIEW to design FIR and IIR digital filters. In Chapter 5, fixed-point versus floating-point implementation issues are discussed, followed by Lab 5 covering data type and fixed-point effect experiments. In Chapter 6, the topic of adaptive filtering is discussed. Lab 6 in Chapter 6 covers two adaptive filtering systems consisting of system identification and noise cancellation. Chapter 7 presents frequency domain processing, followed by Lab 7 covering the three widely used transforms in signal processing: fast Fourier transform (FFT), short-time Fourier transform (STFT), and discrete wavelet transform (DWT). Chapter 8 discusses the implementation of a LabVIEW-designed system on the TMS320C6000 DSP processor. First, an overview of the TMS320C6000 architecture is provided. Then, in Lab 8, a tutorial is presented to show how to use the Code Composer Studio (CCStudio) software development tool to achieve the DSP hardware implementation. As a continuation of Chapter 8, Chapter 9 and Lab 9 discuss the issues related to the interfacing of LabVIEW and the DSP processor. Chapters 10 through 12 Chapter 11 Chapter 12 and Labs 10 through 12, respectively, discuss the following three DSP systems or project examples that are designed in a hybrid mode or a combination of graphical and textual modes: (i) dual tone multi-frequency (DTMF) signaling, (ii) software-defined radio, and (iii) cochlear implant simulator.

1.3 Software Installation

LabVIEW 8.5, which is the latest version at the time of this writing, can be installed by running setup.exe on the LabVIEW Core DVD. Some lab portions use the LabVIEW toolkits ā€œDigital Filter Design,ā€ ā€œAdvanced Signal Processing,ā€ and ā€œDSP Test Integration for TI DSP.ā€ The toolkit ā€œDigital Filter Designā€ appears under the LabVIEW Core DVD and can be included while installing LabVIEW 8.5. The toolkits ā€œAdvanced Signal Processingā€ and ā€œDSP Test Integration for TI DSPā€ appear on the Signal Processing and Communications DVD and can be installed by running setup.exe on this DVD. To generate C DLLs, it is required to have Microsoft Visual StudioĀ® or a similar C development environment installed. To use the MATLAB script node feature of LabVIEW, it is required to have MATLAB Version 6.0 or later installed.
If one desires to run parts of a LabVIEW-designed system on a DSP processor, then it is required to install the Code Composer Studio (CCStudio) software tool by running setup.exe on the CCStudio CD. In the DSK related labs, CCStudio v3.0 is used.
The accompanying CD includes all the files necessary for running the labs covered throughout the book.

1.4 Updates

Considering that any programming environment goes through enhancements and updates, it is expected that there will be updates of LabVIEW and its toolkits. To accommodate for such updates and to make sure that the labs provided in the book can still be used in DSP lab courses, any new version of the labs will be posted at the website http://www.utdallas.edu/~kehtar/LabVIEW for easy access. It is recommended that this website is periodically checked to download any necessary updates.

1.5 Bibliography

1. Kehtarnavaz N. Real‐Time Digital Signal Processing Based on the TMS320C6000 Elsevier 2005.
2. Kuo S, Gan W‐S. Digital Signal Processors: Architectures, Implementations, and Applications Prentice‐Hall 2005.
3. Chassaing R. DSP Applications Using C and the TMS320C6x DSK Wiley Inter‐Science 2002.
4. Welch T, Wright C, Morrow M. Real‐Time Digital Signal Processing from MATLAB to C with the TMS320C6x DSK CRC Press 2006.
5. Tan L. Digital Signal Processing: Fundamentals and Applications Elsevier 2007.
CHAPTER 2

LabVIEW Graphical Programming Environment

LabVIEW constitutes a graphical programming environment that allows one to design and analyze a DSP system in a shorter time as compared to text-based programming environments. LabVIEW graphical programs are called Virtual Instruments (VIs). VIs run based on the concept of data flow programming. This means that execution of a block or a graphical component is dependent on the flow of data, or more specifically a block executes when data are made available at all of its inputs. Output data of the block are then sent to all other connected blocks. Data flow programming allows multiple operations to be performed in parallel, since its execution is determined by the flow of data and not by sequential lines of code.

2.1 Virtual Instruments (VIs)

A VI consists of two major components, which include a Front Panel (FP) and a Block Diagram (BD). An FP provides the user-interface of a program, whereas a BD incorporates its graphical code. When a VI is located within the block diagram of another VI, it is called a subVI. LabVIEW VIs are modular, meaning that any VI or subVI can be run by itself.

2.1.1 Front Panel and Block Diagram

An FP contains the user interfaces of a VI shown in a BD. Inputs to a VI are represented by controls. Knobs, pushbuttons, and dials are a few examples of controls. Outputs from a VI are represented by indicators. Graphs, LEDs (light indicators), and meters are ...

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Preface
  6. What’s On the Companion Website?
  7. CHAPTER 1. Introduction
  8. CHAPTER 2. LabVIEW Graphical Programming Environment
  9. CHAPTER 3. Analog-to-Digital Signal Conversion
  10. CHAPTER 4. Digital Filtering
  11. CHAPTER 5. Fixed-Point versus Floating-Point
  12. CHAPTER 6. Adaptive Filtering
  13. CHAPTER 7. Frequency Domain Processing
  14. CHAPTER 8. DSP Implementation Platform: TMS320C6x Architecture and Software Tools
  15. CHAPTER 9. LabVIEW DSP Integration
  16. CHAPTER 10. DSP System Design: Dual Tone Multi-Frequency (DTMF) Signaling
  17. CHAPTER 11. DSP System Design: Software-Defined Radio
  18. CHAPTER 12. DSP System Design: Cochlear Implant Simulator
  19. Index

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Digital Signal Processing System Design by Nasser Kehtarnavaz in PDF and/or ePUB format, as well as other popular books in Tecnologia e ingegneria & Ingegneria elettronica e telecomunicazioni. We have over one million books available in our catalogue for you to explore.