You are previewing Rapid BeagleBoard Prototyping with MATLAB and Simulink.
O'Reilly logo
Rapid BeagleBoard Prototyping with MATLAB and Simulink

Book Description

Leverage the power of Beagleboard to develop and deploy practical embedded projects

  • Develop and validate your own embedded audio/video applications rapidly with Beagleboard

  • Create embedded Linux applications on a pure Windows PC

  • Full of illustrations, diagrams, and tips for rapid Beagleboard prototyping with clear, step-by-step instructions and hands-on examples

In Detail

As an open source embedded single-board computer with many standard interfaces, Beagleboard is ideal for building embedded audio/video systems to realize your practical ideas. The challenge is how to design and implement a good digital processing algorithm on Beagleboard quickly and easily without intensive low-level coding.

Rapid Beagleboard Prototyping with MATLAB/Simulink is a practical, hands-on guide providing you with a number of clear, step-by-step exercises which will help you take advantage of the power of Beagleboard and give you a good grounding in rapid prototyping techniques for your audio/video applications.

Rapid Beagleboard Prototyping with MATLAB/Simulink looks at rapid prototyping and how to apply these techniques to your audio/video applications with Beagleboard quickly and painlessly without intensive manual low-level coding. It will take you through a number of clear, practical recipes that will help you to take advantage of both the Beagleboard hardware platform and Matlab/Simulink signal processing. We will also take a look at building S-function blocks that work as hardware drivers and interfaces for Matlab/Simulink. This gives you more freedom to explore the full range of advantages provided by Beagleboard.

By the end of this book, you will have a clear idea about Beagleboard and Matlab/Simulink rapid prototyping as well as how to develop voice recognition systems, motion detection systems with I/O access, and serial communication for your own applications such as a smart home.

Table of Contents

  1. Rapid BeagleBoard Prototyping with MATLAB and Simulink
    1. Table of Contents
    2. Rapid BeagleBoard Prototyping with MATLAB and Simulink
    3. Credits
    4. About the Authors
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Introducing BeagleBoard
      1. A quick overview of this book
      2. BeagleBoard-xM
      3. BeagleBoard for rapid prototyping
      4. Summary
    9. 2. Installing Linux on the BeagleBoard
      1. Setting up the hardware
        1. Compulsory hardware
        2. Required hardware for rapid prototyping in this book
        3. Connecting our components
      2. Installing software and tools on a Windows 7 PC
        1. Target and host PC systems
        2. Finding the COM port for a RS232-USB adapter cable
        3. Configuring the IP address of the host PC
        4. Installing MATLAB and the BeagleBoard support package
          1. What are MATLAB and Simulink
          2. Why we use MATLAB/Simulink for rapid prototyping
            1. Installing MATLAB
            2. Installing the built-in BeagleBoard support package
      3. Installing Ubuntu for BeagleBoard on a Windows 7 PC
      4. Configuring BeagleBoard
      5. First interaction with the BeagleBoard
        1. Installing PuTTY on a Windows PC
        2. Logging into BeagleBoard from a Windows PC
        3. Logging in via a serial-USB connection
      6. Using Win32 Disk Imager to create multiple microSD cards
      7. Summary
    10. 3. C/C++ Development with Eclipse on Windows
      1. Windows-based cross-compiler
        1. Installing Sourcery CodeBench Lite in Windows
        2. Verifying the installation
        3. Verifying the compiler
      2. Mac and Linux users
      3. Installing Eclipse IDE on Windows 7
        1. Installing the GNU ARM Eclipse plugin
        2. Installing Remote System Explorer (RSE)
        3. Connecting to a BeagleBoard in RSE
      4. Build your first Hello World! program
        1. Creating your first project in Eclipse
        2. Configuring the cross-compiler and the C/C++ build
        3. Compiling our application
        4. Transferring program files to a BeagleBoard
        5. Running programs on the BeagleBoard
        6. Running and debugging remotely with Eclipse
      5. Summary
    11. 4. Automatic Code Generation
      1. MATLAB code generation
        1. MATLAB and m-language
        2. Code generation workflow in MATLAB
        3. Selecting a compiler for MATLAB Coder
        4. C/C++ code generation with MATLAB Coder
      2. Creating BeagleBoard applications in Eclipse
        1. Creating an Eclipse project for BeagleBoard applications
        2. Running the executable at the BeagleBoard
      3. Simulink code generation
        1. A Simulink model of a music player
        2. Building the Simulink model
        3. Writing a Simulink device driver block for a BeagleBoard
        4. Configuring the model to run on a BeagleBoard
        5. Running the music player on the BeagleBoard
        6. Playing music without Simulink
        7. Tuning model parameters on the fly
        8. Tuning model parameters through GUIs
        9. Other things to try
      4. Summary
    12. 5. Digital I/O and Serial Communication
      1. IR sensor hardware
      2. Voltage shifting
      3. Interfacing sensors via digital I/O in Simulink
      4. Interfacing sensors via a serial port in C
      5. MATLAB-based algorithm integration
      6. Other things to try
      7. Summary
    13. 6. Voice Recognition
      1. Defining the voice recognition task
      2. Configuration of the voice recognition system
      3. Digital audio signals
      4. Handling audio in MATLAB/Simulink
      5. Frame-based signal processing in Simulink
      6. Structure of a voice recognition system
      7. Feature extraction
      8. Training session
        1. Voice acquisition and segmentation
        2. Vector Quantization (VQ) training
      9. Recognition session
      10. Running the voice recognition application
      11. Performance optimization by parameter tuning
      12. Other things to try
      13. References
      14. Summary
    14. 7. Digital Video-Based Motion Detection
      1. Video input: Digital camera hardware connection
      2. Video acquisition: Software driver
      3. Motion detection algorithm
      4. Implementation algorithm in Simulink
        1. Grayscale image
        2. Image enhancement
        3. Detection of the moving area
      5. Parameter optimization
      6. Summary
    15. A. Wrapping Up
      1. A brief review of what we have learned
      2. Ideas for next-step projects
        1. Expanding the IR motion detector to include verbal alarms
        2. Voice-controlled light switch
          1. Voice biometric authentication systems
          2. 2D Ball tracking
          3. Gesture-controlled devices
      3. Useful references and websites
    16. Index