Smartphone-based real-time digital signal processing / Nasser Kehtarnavaz, Shane Parris, and Abhishek Sehgal.
Saved in:
Online Access: |
Full Text (via Morgan & Claypool) |
---|---|
Main Authors: | , , |
Format: | eBook |
Language: | English |
Published: |
San Rafael, California (1537 Fourth Street, San Rafael, CA 94901 USA) :
Morgan & Claypool,
2015.
|
Series: | Synthesis lectures on signal processing (Online) ;
# 13. |
Subjects: |
Table of Contents:
- 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.