Digital Signal Processing Using the ARM Cortex M4
eBook - ePub

Digital Signal Processing Using the ARM Cortex M4

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

Digital Signal Processing Using the ARM Cortex M4

About this book

Features inexpensive ARMĀ® CortexĀ®-M4 microcontroller development systems available from Texas Instruments and STMicroelectronics.

This book presents a hands-on approach to teaching Digital Signal Processing (DSP) with real-time examples using the ARMĀ® CortexĀ®-M4 32-bit microprocessor. Real-time examples using analog input and output signals are provided, giving visible (using an oscilloscope) and audible (using a speaker or headphones) results. Signal generators and/or audio sources, e.g. iPods, can be used to provide experimental input signals. The text also covers the fundamental concepts of digital signal processing such as analog-to-digital and digital-to-analog conversion, FIR and IIR filtering, Fourier transforms, and adaptive filtering.

Digital Signal Processing Using the ARMĀ® CortexĀ®-M4:

  • Uses a large number of simple example programs illustrating DSP concepts in real-time, in an electrical engineering laboratory setting
  • Includes examples for both STM32F407 Discovery and the TM4C123 Launchpad, using Keil MDK-ARM, on a companion website
  • Example programs for the TM4C123 Launchpad using Code Composer Studio version 6 available on companion website

Digital Signal Processing Using the ARMĀ® CortexĀ®-M4 serves as a teaching aid for university professors wishing to teach DSP using laboratory experiments, and for students or engineers wishing to study DSP using the inexpensive ARMĀ® CortexĀ®-M4.

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 more here.
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 1000+ topics, we’ve got you covered! Learn more here.
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 here.
Yes! You can use the Perlego app on both iOS or 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 Using the ARM Cortex M4 by Donald S. Reay in PDF and/or ePUB format, as well as other popular books in Technology & Engineering & Signals & Signal Processing. We have over one million books available in our catalogue for you to explore.

Chapter 1
ARMĀ® CORTEXĀ®-M4 Development Systems

1.1 Introduction

Traditionally, real-time digital signal processing (DSP) has been implemented using specialized and relatively expensive hardware, for example, digital signal processors or field-programmable gate arrays (FPGAs). The ARMĀ® CortexĀ®-M4 processor makes it possible to process audio in real time (for teaching purposes, at least) using significantly less expensive, and simpler, microcontrollers.
The ARM Cortex-M4 is a 32-bit microcontroller. Essentially, it is an ARM Cortex-M3 microcontroller that has been enhanced by the addition of DSP and single instruction multiple data (SIMD) instructions and (optionally) a hardware floating-point unit (FPU). Although its computational power is a fraction of that of a floating-point digital signal processor, for example, the Texas Instruments C674x, it is quite capable of implementing DSP algorithms, for example, FIR and IIR filters and fast Fourier transforms for audio signals in real-time.
A number of semiconductor manufacturers have developed microcontrollers that are based on the ARM Cortex-M4 processor and that incorporate proprietary peripheral interfaces and other IP blocks. Many of these semiconductor manufacturers make available very-low-cost evaluation boards for their ARM Cortex-M4 microcontrollers. Implementing real-time audio frequency example programs on these platforms, rather than on more conventional DSP development kits, constitutes a reduction of an order of magnitude in the hardware cost of implementing hands-on DSP teaching. For the first time, students might realistically be expected to own a hardware platform that is useful not only for general microcontroller/microprocessor programming and interfacing activities but also for implementation of real-time DSP.

1.1.1 Audio Interfaces

At the time that the program examples presented in this book were being developed, there were no commercially available low-cost ARM Cortex-M4 development boards that incorporated high-quality audio input and output. The STMicroelectronics STM32F407 Discovery board features a high-quality audio digital-to-analog converter (DAC) but not a correspondinganalog-to-digital converter (ADC). Many ARM Cortex-M4 devices, including both the STMicroelectronics STM32F407 and the Texas Instruments TM4C123, feature multichannel instrumentation-quality ADCs. But without additional external circuitry, these are not suitable for the applications discussed in this book.
The examples in this book require the addition (to an inexpensive ARM Cortex-M4 development board) of an (inexpensive) audio interface.
In the case of the STMicroelectronics STM32F407 Discovery board and of the Texas Instruments TM4C123 LaunchPad, compatible and inexpensive audio interfaces are provided by the Wolfson Pi audio card and the CircuitCo audio booster pack, respectively. The low-level interfacing details and the precise performance characteristics and extra features of the two audio interfaces are subtly different. However, each facilitates the input and output of high-quality audio signals to and from an ARM Cortex-M4 processor on which DSP algorithms may be implemented.
Almost all of the program examples presented in the subsequent chapters of this book are provided, in only very slightly different form, for both the STM32F407 Discovery and the TM4C123 LaunchPad, on the partner website http://www.wiley.com/go/Reay/ARMcortexM4.
However, in most cases, program examples are described in detail, and program listings are presented, only for one or other hardware platform. Notable exceptions are that, in Chapter 2, low-level i/o mechanisms (implemented slightly differently in the two devices) are described in detail for both hardware platforms and that a handful of example programs use features unique to one or other processor/audio interface.
This book does not describe the internal architecture or features of the ARM Cortex-M4 processor in detail. An excellent text on that subject, including details of its DSP-related capabilities, is The Definitive Guide to ARMĀ® CortexĀ®-M3 and CortexĀ®-M4 Processors by Yiu [1].

1.1.2 Texas Instruments TM4C123 LaunchPad and STM32F407 Discovery Development Kits

The Texas Instruments and STMicroelectronics ARM Cortex-M4 processor boards used in this book are shown in Figures 1.1 and 1.2. The program examples presented in this book assume the use of the Keil MDK-ARM development environment, which is compatible with both development kits. An alternative development environment, Texas Instruments' Code Composer Studio, is available for the TM4C123 LaunchPad and the program examples have been tested using this. Versions of the program examples compatible with Code Composer Studio version 6 are provided on the partner website http://www.wiley.com/go/Reay/ARMcortexM4.
c01f001
Figure 1.1 Texas Instruments TM4C123 LaunchPad.
c01f002
Figure 1.2 STMicroelectronics STM32F407 Discovery.
The CircuitCo audio booster pack (for the TM4C123 LaunchPad) and the Wolfson Pi audio card (for the STM32F407 Discovery) are shown in Figures1.3 and 1.4. The audio booster pack and the launchpad plug together, whereas the Wolfson audio card, which was designed for use with a Raspberry Pi computer, must be connected to the Discovery using a custom ribbon cable (available from distributor Farnell).
c01f003
Figure 1.3 AIC3104 audio booster pack.
c01f004
Figure 1.4 Wolfson Pi audio card.
Rather than presenting detailed instructions here that may be obsolete as soon as the next version of MDK-ARM is released, the reader is directed to the ā€œgetting startedā€ guide at the partner website http://www.wiley.com/go/Reay/ARMcortexM4. and before progressing to the next chapter of this book will need to install MDK-ARM, including the ā€œpacksā€ appropriate to the hardware platform being used and including the CMSIS DSP library, download the program examples from the website, and become familiar with how to open a project in MDK-ARM, add and remove files from a project, build a project, start and stop a debug session, and run and halt a program running on the ARM Cortex-M4 processor.
Some of the example programs implement DSP algorithms straightforwardly, and with a view to transparency and understandability rather than computational efficiency or elegance. In several cases, ARM's CMSIS DSP library functions are used. These are available for both the STMicroelectronics and Texas Instruments processors as part of the MDK-ARM development environment. In appropriate circumstances, these library functions are particularly computationally efficient. This is useful in some of the program examples where the demands of running in real-time approach the limi...

Table of contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Table of Contents
  5. Dedication
  6. Preface
  7. Chapter 1: ARMĀ® CORTEXĀ®-M4 Development Systems
  8. Chapter 2: Analog Input and Output
  9. Chapter 3: Finite Impulse Response Filters
  10. Chapter 4: Infinite Impulse Response Filters
  11. Chapter 5: Fast Fourier Transform
  12. Chapter 6: Adaptive Filters
  13. Index
  14. End User License Agreement