Second Edition. — Morgan & Claypool, 2018. — 167 p. — (Synthesis Lectures on Signal Processing, 16). — ISBN: 9781681734668.
Real-time or applied digital signal processing courses are offered as follow-ups to conventional or theory-oriented digital signal processing courses in many engineering programs for the purpose of teaching students the technical know-how for putting signal processing algorithms or theory into practical use. These courses normally involve access to a teaching laboratory that is equipped with hardware boards, in particular DSP boards, together with their supporting software. A number of textbooks have been written discussing how to achieve real-time implementation on these hardware boards.
This book discusses how to use smartphones as hardware boards for real-time implementation of signal processing algorithms as an alternative to the hardware boards that are used in signal processing laboratory courses. The fact that mobile devices, in particular smartphones, have become powerful processing platforms led to the development of this book enabling students to use their own smartphones to run signal processing algorithms in real-time considering that these days nearly all students possess smartphones. Changing the hardware platforms that are currently used in applied or real-time signal processing courses to smartphones creates a truly mobile laboratory experience or environment for students. In addition, it relieves the cost burden associated with using dedicated signal processing boards noting that the software development tools for smartphones are free of charge and are well-maintained by smartphone manufacturers.
This book is written in such a way that it can be used as a textbook for real-time or applied digital signal processing courses offered at many universities. Ten lab experiments that are commonly encountered in such courses are covered in the book. This book is written primarily for those who are already familiar with signal processing concepts and are interested in their real-time and practical aspects. Similar to existing real-time courses, knowledge of C programming is assumed. This book can also be used as a self-study guide for those who wish to become familiar with signal processing app development on either Android or iPhone smartphones. A zipped file of the codes discussed in the book can be acquired from from this third-party website.
Smartphone Implementation Tools.
Smartphone Implementation Shells.
Overview of ARM Processor Architecture.
Organization of Chapters.
Software Package of Lab Codes.
Android Software Development Tools.Installation Steps.
Getting Familiar with Android Software Tools.
iOS Software Development Tools.App Development.
Setting-up App Environment.
Creating Layout.
Implementing C Codes.
Executing C Codes Via Objective-C.
Swift Programming Language.
iPhone App Debugging.
Analog-to-Digital Signal Conversion.Sampling.
Quantization.
Android Audio Signal Sampling.
iPhone Audio Signal Sampling.
Fixed-Point vs. Floating-Point.Q-Format Number Representation.
Floating-Point Number Representation.
Overflow and Scaling.
Some Useful Arithmetic Operations.
Fixed-Point and Floating-Point Operations.
Real-Time Filtering.FIR Filter Implementation.
Circular Buffering.
Frame Processing.
Finite Word Length Effect.
Real-Time FIR Filtering, Quantization Effect, and Overflow.
Adaptive Filtering.Infinite Impulse Response Filters.
Adaptive Filtering.
IIR Filtering and Adaptive FIR Filtering.
Frequency Domain Transforms.Fourier Transforms.
Leakage.
Windowing.
Overlap Processing.
Reconstruction.
Frequency Domain Transforms – DFT and FFT.
Code Optimization.Code Timing.
Linear Convolution.
Compiler Options.
Efficient C Code Writing.
Architecture-Specific Optimizations.
Code Optimization.
Implementation Via MatLAB Coder.MatLAB Function Design.
Test Bench.
Code Generation.
Source Code Integration.
MatLAB Coder Implementation.