Smartphone-based real-time digital signal processing / Nasser Kehtarnavaz, Shane Parris, and Abhishek Sehgal.Material type: TextSeries: Synthesis digital library of engineering and computer science | Synthesis lectures on signal processing ; # 13.Publisher: San Rafael, California (1537 Fourth Street, San Rafael, CA 94901 USA) : Morgan & Claypool, 2015Description: 1 PDF (xii, 145 pages) : illustrationsContent type: text Media type: electronic Carrier type: online resourceISBN: 9781627058179Subject(s): Signal processing -- Digital techniques | Smartphones | Real-time data processing | real-time implementation of signal processing algorithms on smartphones | using smartphones for applied digital signal processing courses | mobile laboratory for signal processingAdditional physical formats: Print version:: No titleDDC classification: 621.3822 LOC classification: TK5102.9 | .K447 2015Online resources: Abstract with links to resource Also available in print.
|Item type||Current library||Call number||Status||Date due||Barcode|
|Ebooks||Indian Institute of Technology Delhi - Central Library||Available|
Mode of access: World Wide Web.
System requirements: Adobe Acrobat Reader.
Part of: Synthesis digital library of engineering and computer science.
Includes bibliographical references and index.
1. Introduction -- 1.1 Smartphone implementation tools -- 1.2 Smartphone implementation shells -- 1.2.1 Android implementation -- 1.2.2 iPhone implementation -- 1.3 Overview of ARM processor architecture -- 1.3.1 Data flow and registers -- 1.4 Organization of chapters -- 1.5 Software package of lab codes -- 1.6 References --
2. Android software development tools -- 2.1 Installation steps -- 2.1.1 Java JDK -- 2.1.2 Android studio bundle and native development kit -- 2.1.3 Environment variable configuration -- 2.1.4 Android studio configuration -- 2.1.5 Android emulator configuration -- L1. Lab 1: Getting familiar with android software tools -- L1.1 Lab exercise --
3. iOS software development tools -- 3.1 App development -- 3.2 Setting-up app environment -- 3.3 Creating layout -- 3.4 Implementing C codes -- 3.5 Executing C codes via objective-c -- L2. Lab 2: iOS app debugging -- L1.1. Lab exercise --
4. Analog-to-digital signal conversion -- 4.1 Sampling -- 4.2 Quantization -- L3. Lab 3: Android audio signal sampling -- L3.1 Demo app -- L3.2 Demo app code -- L3.3 Recording -- L3.4 Processing.java code -- L3.5 JNI native C code -- L3.6 Lab exercises -- L4. Lab 4: iOS audio signal sampling -- L4.1 App source code -- L4.2 Recording -- L4.3 Native C code -- L4.4 Lab exercises --
5. Fixed-point vs. floating-point -- 5.1 Q-format number representation -- 5.2 Floating-point number representation -- 5.3 Overflow and scaling -- 5.4 Some useful arithmetic operations -- 5.4.1 Division -- 5.4.2 Sine and cosine -- 5.4.3 Square-root -- 5.5 References -- L5. Lab 5: Fixed-point and floating-point operations -- L5.1 App structure -- L5.2 NEON SIMD coprocessor -- L5.3 Lab exercises -- 5.7 References --
6. Real-time filtering -- 6.1 FIR filter implementation -- 6.2 Circular buffering -- 6.3 Frame processing -- 6.4 Finite word length effect -- 6.5 References -- L6. Lab 6: Real-time FIR filtering, quantization effect and overflow -- L6.1 Filter design -- L6.2 Arm overflow detection -- L6.3 Lab exercises --
7. Adaptive filtering -- 7.1 Infinite impulse response filters -- 7.2 Adaptive filtering -- 7.3 References -- L7. Lab 7: IIR filtering and adaptive fir filtering -- L7.1 IIR filter design -- L7.2 Adaptive FIR filter -- L7.3 Lab exercises --
8. Frequency domain transforms -- 8.1 Fourier transforms -- 8.1.1 Discrete Fourier transform -- 8.1.2 Fast Fourier transform -- 8.2 Leakage -- 8.3 Windowing -- 8.4 Overlap processing -- 8.5 Reconstruction -- 8.5.1 Inverse Fourier transform -- 8.5.2 Overlap-add reconstruction -- 8.6 References -- L8. Lab 8: Frequency domain transforms - DFT and FFT -- L8.1 Lab exercises --
9. Code optimization -- 9.1 Code timing -- 9.2 Linear convolution -- 9.3 Compiler options -- 9.4 Efficient C code writing -- 9.5 Architecture-specific instructions -- 9.5.1 Target architecture -- 9.5.2 Arm hardware capabilities -- 9.5.3 Neon intrinsics -- 9.6 References -- L9. Lab 9: Code optimization -- L9.1 Compiler options -- L9.2 Target architecture (Android) -- L9.3 Code modification --
10. Implementation via Simulink/MATLAB -- 10.1 Simulink model design -- 10.2 MATLAB code blocks -- 10.3 References -- Authors' biographies -- Index.
Abstract freely available; full-text restricted to subscribers or individual document purchasers.
Google book search
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 smartphones can be used as hardware boards for real-time implementation of signal processing algorithms as an alternative to the hardware boards that are currently being used in signal processing teaching laboratories. The fact that mobile devices, in particular smartphones, have now become powerful processing platforms has led to the development of this book, thus 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 realtime 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 a dedicated signal processing board noting that the software development tools for smartphones are free of charge and are well-developed. This book is written in such a way that it can be used as a textbook for applied or real-time 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. All the lab codes can be obtained as a software package from http://sites.fastspring.com/bookcodes/product/bookcodes
Also available in print.
Title from PDF title page (viewed on September 16, 2015).