Digital Signal Processing
and Applications with
the OMAP-L138
eXperimenter
Digital Signal Processing
and Applications with
the OMAP-L138
eXperimenter
Donald Reay
Heriot-Watt University
Copyright Ó 2012 by John Wiley & Sons, Inc. All rights reserved
Published by John Wiley & Sons, Inc., Hoboken, New Jersey
Published simultaneously in Canada
No part of this publication may be reproduced, stored in a retrieval system, or transmitted
in any form or by any means, electronic, mechanical, photocopying, recording, scanning,
or otherwise, except as permitted under Section 107 or 108 of the 1976 United States
Copyright Act, without either the prior written permission of the Publisher, or
authorization through payment of the appropriate per-copy fee to the Copyright Clearance
Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4470,
or on the web at www.copyright.com. Requests to the Publisher for permission should be
addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street,
Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at
http://www.wiley.com/go/permission.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used
their best efforts in preparing this book, they make no representations or warranties with respect
to the accuracy or completeness of the contents of this book and specifically disclaim any
implied warranties of merchantability or fitness for a particular purpose. No warranty
may be created or extended by sales representatives or written sales materials. The advice
and strategies contained herein may not be suitable for your situation. You should consult
with a professional where appropriate. Neither the publisher nor author shall be liable
for any loss of profit or any other commercial damages, including but not limited
to special, incidental, consequential, or other damages.
For general information on our other products and services or for technical support,
please contact our Customer Care Department within the United States at (800) 762-2974,
outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that
appears in print may not be available in electronic formats. For more information about
Wiley products, visit our web site at www.wiley.com.
Library of Congress Cataloging-in-Publication Data:
Reay, Donald (Donald S.)
Digital signal processing and applications with the OMAP-L138 eXperimenter /
Donald Reay.
p. cm.
Includes bibliographical references and index.
ISBN 978-0-470-93686-3 (hardback)
1.
Signal processing–Digital techniques–Experiments. 2.
Microprocessors–Experiments.
I. Title.
TK5102.9.R4325 2012
621.382’2078–dc23
Printed in the United States of America
10 9 8 7 6 5 4 3 2 1
2011038412
To Reiko
Contents
Preface
List of Examples
1. OMAP-L138 Development System
1.1 Introduction
1.1.1 Digital Signal Processors
1.2 Hardware and Software Tools
1.2.1 Zoom OMAP-L138 eXperimenter Board
1.2.2 C6748 Processor
1.2.3 Code Composer Studio IDE
1.2.4
Installation of Code Composer Studio Software
Version 4 and Support Files
1.3 Initial Test of the Experimenter Using a Program
Supplied with this Book
1.4 Programming Examples to Test the Experimenter
1.5 Support Files
1.5.1
Initialization and Configuration File
(L138_aic3106_init.c)
1.5.2 Header File (L138_aic3106_init.h)
1.5.3 Vector Files (vectors_intr.asm and
vectors_poll.asm)
1.5.4 Linker Command File (linker_dsp.cmd)
Exercises
References
2. Analog Input and Output with the OMAP-L138 eXperimenter
2.1 Introduction
2.1.1 Sampling, Reconstruction, and Aliasing
2.2 TLV320AIC3106 (AIC3106) On-Board Stereo Codec
for Analog Input and Output
2.3 Programming Examples Using C Code
2.3.1 Real-Time Input and Output Using Polling, Interrupts,
and Direct Memory Access
xi
xiii
1
1
3
4
6
6
6
7
8
14
31
31
32
32
34
36
37
38
38
39
39
41
41
vii
viii
Contents
2.3.2 Real-Time Sine Wave Generation
References
3. Finite Impulse Response Filters
3.1 Introduction to Digital Filters
z-Transfer Functions
Introduction to the z-Transform
3.1.1 FIR Filter
3.1.2
3.1.3 Properties of the z-Transform
3.1.4
3.1.5 Mapping from the s-Plane to the z-Plane
3.1.6 Difference Equations
3.1.7 Frequency Response and the z-Transform
3.1.8
3.1.9 Window Method of Filter Design
Ideal Filter Response Classifications: LP, HP, BP, and BS
3.1.10 Window Functions
3.1.11 Design of Band-Pass and High-Pass Filters Using
Frequency Shifting
3.2 Programming Examples Using C And ASM Code
References
4. Infinite Impulse Response Filters
4.1 Introduction
4.2 IIR Filter Structures
4.2.1 Direct Form I Structure
4.2.2 Direct Form II Structure
4.2.3 Direct Form II Transpose
4.2.4 Cascade Structure
4.2.5 Parallel Form Structure
4.3 Impulse Invariance
4.4 Bilinear Transformation
4.4.1 Bilinear Transform Design Procedure
4.5 Programming Examples Using C and ASM Code
4.5.1 Design of a Simple IIR Low-Pass Filter
Reference
5. Fast Fourier Transform
5.1 Introduction
5.2 Development of the FFT Algorithm with Radix-2
5.3 Decimation-In-Frequency FFT Algorithm with Radix-2
5.4 Decimation-In-Time FFT Algorithm with RADIX-2
5.4.1 Reordered Sequences in the Radix-2 FFT
and Bit-Reversed Addressing
64
102
103
103
103
105
107
109
109
111
112
112
113
114
120
123
158
159
159
160
160
161
162
164
165
166
167
169
169
169
211
212
212
213
214
218
220
5.5 Decimation-In-Frequency FFT Algorithm with Radix-4
5.6 Inverse Fast Fourier Transform
5.7 Programming Examples Using C Code
5.7.1 Frame- or Block-Based Processing
5.7.2 Fast Convolution
References
6. Adaptive Filters
6.1 Introduction
6.2 Adaptive Filter Configurations
6.2.1 Adaptive Prediction
6.2.2 System Identification or Direct Modeling
6.2.3 Noise Cancellation
6.2.4 Equalization
6.3 Performance Function
6.3.1 Visualizing the Performance Function
6.4 Searching for the Minimum
6.5 Least Mean Squares Algorithm
6.5.1
LMS Variants
6.6 Programming Examples
7. DSP/BIOS and Platform Support Package
7.1 Introduction to DSP/BIOS
7.1.1 DSP/BIOS Threads
7.1.2 DSP/BIOS Configuration Tool
7.1.3 DSP/BIOS Start-Up Sequence
7.1.4 Hardware Interrupts
7.1.5 Software Interrupts
7.1.6 Tasks and Idle Functions
7.1.7 Periodic Functions
7.1.8 Real-Time Analysis with DSP/BIOS
7.2 DSP/BIOS Platform Support Package
References
Index
Contents
ix
221
223
223
233
258
278
279
279
280
280
281
281
283
283
285
285
287
288
288
307
307
307
308
309
310
320
322
327
329
329
335
337
Preface
This book continues the series started in 1990 by Rulph Chassaing and Darrell
Horning’s Digital Signal Processing with the TMS320C25 and which has reflected the
development of successive generations of digital signal processors by Texas Instru-
ments. More specifically, each book in this series has complemented a different one of
the inexpensive DSP development tools promoted by the Texas Instruments Univer-
sity Programme for teaching purposes. A consistent theme in the books has been the
provision of a large number of simple example programs illustrating DSP concepts in
real-time in a laboratory setting.
It was Rulph Chassaing’s belief, and also mine, that hands-on teaching of DSP,
using hardware development kits and laboratory test equipment to process analog
audio frequency signals, is a valuable and effective way of reinforcing the theory
taught in lectures.
The contents of the books, insofar as they concern fundamental concepts of
digital signal processing such as analog-to-digital and digital-to-analog conversion,
FIR and IIR filtering, the Fourier transform, and adaptive filtering, have changed little.
Every year, in the context of university teaching, brings another set of students
wanting to study this material. However, each successive book has concerned a
different hardware development kit. The latest hardware development kit to be
promoted by the Texas Instruments University Programme is the Logic PD
OMAP-L138 eXperimenter.
This book is suitable for senior undergraduate and postgraduate electrical
engineering students who have a basic knowledge of C programming and of linear
systems theory.
The architecture of Texas Instruments’ DSP devices has reached a level of
complexity that places assembly language programming out of reach of such students.
Certainly, I have found that it is beyond the scope and time available in a digital signal
processing class. Even some of the optimized DSP functions supplied by Texas
Instruments in support libraries are written in C rather than assembly language.
For this reason, this book does not contain chapters concerning processor
architecture or assembly language programming.
The OMAP-L138 is a dual-core processor, the capabilities of which are far
beyond what can be covered in a single text. This book uses only a fraction of its
features in order to provide teaching materials specifically for DSP.
It is intended and hoped that this book will prove a useful resource for anyone
involved in teaching or learning DSP and as a starting point for teaching or
learning more.
xi