Smartphone-based real-time digital signal processing / Nasser Kehtarnavaz, Abhishek Sehgal, and Shane Parris.Material type: TextSeries: Synthesis digital library of engineering and computer science | Synthesis lectures on signal processing ; # 16.Publisher: [San Rafael, California] : Morgan & Claypool, 2019Edition: Second editionDescription: 1 PDF (xii, 155 pages) : illustrationsContent type: text Media type: electronic Carrier type: online resourceISBN: 9781681734668Subject(s): Signal processing -- Digital techniques | Smartphones | Real-time data processing | smartphone-based signal processing | real-time signal processing using smartphones | smartphones as signal processing boardsAdditional physical formats: Print version:: No titleDDC classification: 621.3822 LOC classification: TK5102.9 | .K447 2019Online 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 -- 2.1.6 Android studio setup for Mac -- 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 -- 3.6 Swift programming language -- L2. Lab 2: iPhone app debugging -- L2.1 Lab Exercise --
4. Analog-to-digital signal conversion -- 4.1 Sampling -- 4.2 Quantization -- 4.3 References -- L3. Lab 3: Android audio signal sampling -- L3.1 Demo application -- L3.2 Application code -- L3.3 Recording -- L3.4 Processing.Java -- L3.5 JNI native C code -- L3.6 Superpowered SDK -- L3.7 Multi-threading -- L3.8 Multi-rate signal processing -- L3.9 Lab exercises -- L4. Lab 4: iPhone audio signal sampling -- L4.1 App source code -- L4.2 App code discussion -- L4.3 Recording -- L4.4 Native C code -- L4.5 Multi-threading -- L4.6 Multi-rate signal processing -- L4.7 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 -- L5. Lab 5: Fixed-point and floating-point operations -- L5.1 App structure -- L5.2 NEON SIMD coprocessor -- L5.3 Lab exercises -- 5.6 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 optimizations -- 9.5.1 Target architecture -- 9.5.2 Arm hardware capabilities -- 9.5.3 Neon intrinsics -- L9 Lab 9: Code optimization -- L9.1 Compiler options -- L9.2 Target architecture (Android only) -- L9.3 Code modification -- 9.7 References --
10. Implementation via Matlab Coder -- 10.1 Matlab function design -- 10.2 Test bench -- 10.3 Code generation -- 10.4 Source code integration -- 10.5 Summary -- 10.6 References -- L10. Lab 10: Matlab coder implementation -- L10.1 Lab exercises --
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 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 this third-party website http://sites.fastspring.com/bookcodes/product/SignalProcessingBookcodesSecondEdition
Also available in print.
Title from PDF title page (viewed on January 3, 2019).