Dynamic Ringtone Adjustment using On Demand Sampling on Android Smartphones Casey O’Leary – Washington State University CURENT REU Mentor: Yong Li Project.

Slides:



Advertisements
Similar presentations
Analysis of : Operator Scheduling in a Data Stream Manager CS561 – Advanced Database Systems By Eric Bloom.
Advertisements

Ch2 Data Preprocessing part3 Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2009.
CS335 Principles of Multimedia Systems Audio Hao Jiang Computer Science Department Boston College Oct. 11, 2007.
MP3 Optimization Exploiting Processor Architecture and Using Better Algorithms Mancia Anguita Universidad de Granada J. Manuel Martinez – Lechado Vitelcom.
MPEG-1 MUMT-614 Jan.23, 2002 Wes Hatch. Purpose of MPEG encoding To decrease data rate How? –two choices: could decrease sample rate, but this would cause.
SirenDetect Alerting Drivers about Emergency Vehicles Jennifer Michelstein Department of Electrical Engineering Adviser: Professor Peter Kindlmann May.
SE in RT Audio Applications Bert Schiettecatte Promotor: Prof. D. Vermeir Co-promotor: Prof. R. Lauwereins Advisors: S. Himpe & T.
Final Year Project Progress January 2007 By Daire O’Neill 4EE.
MPEG-3 For Audio Presented by: Chun Lui Sunjeev Sikand.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Threads 1 CS502 Spring 2006 Threads CS-502 Spring 2006.
Customizable Audio Kaleidoscope Agustya Mehta, Dennis Ramdass, Tony Hwang Final Project Spring 2007.
Chapter 13 Embedded Systems
WSN Simulation Template for OMNeT++
ECE 501 Introduction to BME ECE 501 Dr. Hang. Part V Biomedical Signal Processing Introduction to Wavelet Transform ECE 501 Dr. Hang.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
EE2F1 Speech & Audio Technology Sept. 26, 2002 SLIDE 1 THE UNIVERSITY OF BIRMINGHAM ELECTRONIC, ELECTRICAL & COMPUTER ENGINEERING Digital Systems & Vision.
Chapter 2: Computer-System Structures
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Design and Development of an Accelerometer based Personal Trainer System By Emer Bussmann B.E. Electronic Engineering April 2008.
Chunyi Peng, Guobin Shen, Yongguang Zhang, Yanlin Li, Kun Tan
Inputs to Signal Generation.vi: -Initial Distance (m) -Velocity (m/s) -Chirp Duration (s) -Sampling Info (Sampling Frequency, Window Size) -Original Signal.
Sub-Nyquist Sampling DSP & SCD Modules Presented by: Omer Kiselov, Daniel Primor Supervised by: Ina Rivkin, Moshe Mishali Winter 2010High Speed Digital.
Low-Power Wireless Sensor Networks
Evaluating Impact of Storage on Smartphone Energy Efficiency David T. Nguyen.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Feb. 19, 2008 Multicore Processor Technology and Managing Contention for Shared Resource Cong Zhao Yixing Li.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
Comparing Audio Signals Phase misalignment Deeper peaks and valleys Pitch misalignment Energy misalignment Embedded noise Length of vowels Phoneme variance.
Implementing a Speech Recognition System on a GPU using CUDA
Ray Bradley Karla N. Juárez David Wood Advisor: Dr. Stephen Murrell May 2 nd, 2005.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
© 2004, D. J. Foreman 2-1 Concurrency, Processes and Threads.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Image Processing Architecture, © 2001, 2002, 2003 Oleh TretiakPage 1 ECE-C490 Image Processing Architecture MP-3 Compression Course Review Oleh Tretiak.
Real-time Acquisition and Processing of Data from the GMRT Pulsar Back- ends Ramchandra M. Dabade (VNIT, Nagpur) Guided By, Yashwant Gupta.
By Tony Hoff ECE 4220 – Real Time Embedded Computing University of Missouri - Columbia Course Instructor: Dr. Guiherme DeSouza.
Midterm Presentation Performed by: Ron Amit Supervisor: Tanya Chernyakova Semester: Spring Sub-Nyquist Sampling in Ultrasound Imaging.
Computer Architecture Lecture 32 Fasih ur Rehman.
Fast Fault Finder A Machine Protection Component.
Chapter One Introduction to Pipelined Processors
Automatic Equalization for Live Venue Sound Systems Damien Dooley, Final Year ECE Progress To Date, Monday 21 st January 2008.
Class Report 林常仁 Low Power Design: System and Algorithm Levels.
Aarul Jain CSE520, Advanced Computer Architecture Fall 2007.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
Enhancing Mobile Apps to Use Sensor Hubs without Programmer Effort Haichen Shen, Aruna Balasubramanian, Anthony LaMarca, David Wetherall 1.
Application-Aware Traffic Scheduling for Workload Offloading in Mobile Clouds Liang Tong, Wei Gao University of Tennessee – Knoxville IEEE INFOCOM
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
 presented by- ARPIT GARG ISHU MISHRA KAJAL SINGHAL B.TECH(ECE) 3RD YEAR.
Low Power Design for a 64 point FFT Processor
Computer System Structures
CS434/534: Topics in Networked (Networking) Systems Network OS Abstraction: From Data to Function Store; Wireless Foundation: Frequency-Domain Analysis.
Generalized and Hybrid Fast-ICA Implementation using GPU
Voice Manipulator Department of Electrical & Computer Engineering
Casey O’Leary – Washington State University
Chapter 9: Virtual Memory – Part I
Embedded Systems Design
Performance Optimization for Embedded Software
MA 527 Dr. Park.
Operating System Concepts
CS703 - Advanced Operating Systems
ECE453 – Introduction to Computer Networks
Voice Manipulator Department of Electrical & Computer Engineering
Embedded Sound Processing : Implementing the Echo Effect
Module 12: I/O Systems I/O hardwared Application I/O Interface
CS Introduction to Operating Systems
Presentation transcript:

Dynamic Ringtone Adjustment using On Demand Sampling on Android Smartphones Casey O’Leary – Washington State University CURENT REU Mentor: Yong Li Project Manager: Dr. Wei Gao 7/17/2014 Knoxville, Tennessee

Overview 2 GoalAlgorithmSource Code IntegrationTestingFuture Work

Goals of Research Implement current method of sampling and adjusting in the Android Kernel Adjust the current method to implement demand sampling (done) Improve upon current method using frequency analysis (future work) Originally created and developed by Christopher Daffron and Alex Hoppe 3

Algorithm for Sampling and Processing Frequency and Intensity Categorized Contrasting ringtone selectedVolume set based on Intensity level Calculating Frequency and Intensity Weighted Average FrequencyAverage Intensity Fast Fourier Transform Simplicity vs. SpeedPrinceton CS Library On Demand Sampling 500 millisecond audio sampleRaw audio data stored in WAV file 4

Frequency and Intensity Calculations Weighted average frequency – calculated by takes the summation of intensity at each frequency multiplied by the frequency and then divide that by the summation of all frequency intensity values for(int i = 0; i < transformData.length/2; i++) { numVals++; rawSum = rawSum+ transformData[i].abs(); sum = sum + transformData[i].abs()*I; } avgVal = sum / rawSum; Average Intensity – calculated by taking the average value of the absolute value of all of the samples for(int i = 0; i < channel1Data.length; i++) { sum = sum + Math.abs(channel1Data[i]); counter++; } avIntensity = sum / counter; 5

Ringtone and Intensity Thresholds Frequency Thresholds Intensity Thresholds Hz Cat 1 < -> Hz Cat 2 < -> Hz Cat 3 < -> Hz Cat 4 < -> Hz < X Cat 5 -> 1 <.012 Stream 0 <.030 Stream 1 <.048 Stream 2 <.067 Stream 3 <.085 Stream 4 <.103 Stream 5 <.14 Stream 6.14 < X Stream 7 (Max)

Reasoning for Thresholds Device specific – Using LG Nexus 4 Microphone samples audio at 44,100Hz.5s provides 22,000 samples Different phone may need adjustment 7

Source Code Integration Overview of Android Architecture 8

Source Code Integration Incoming Call -> Broadcast Message Telephony Service broadcast receive Abstract layer between phone application and radio hardware Message is then handled in the CallNotifier class Contains instance of Ringer class Controls when the Ringer is played Ringer.ring() Function Called by CallNotifier class Modifications placed within this function Executed only before first ring using ring counter 9

Source Code Integration Audio Sampling Audio buffer Created Start recording thread 500 ms delay using SystemClock static methods Recording thread stopped Processing Raw audio data put into WAV file Fast Fourier Transform applied producing complex data Frequency and Intensity Algorithms applied Average Frequency and Intensity set and categorized Series of Logic statements and switch statements set ringtone and volume Call UI displayed and ringing starts 10

Testing 11

Testing 12

Testing Algorithm Run Time About ms longer than on Ringtone Selector Application 13 Total Runtime of Algorithm for each sample (ms)Sample 35301B 36252B 36503B 36304B 35665B 36481C 35352C 35093C 35374C 35265C 36441D 35532D 36513D 37004D 37065D 35471E 35872E 35823E 36444E 36175E 38091F 36292F 37263F 36574F 37625F 38091G 36992G 42803G 45034G 44145G Average Runtime (ms)

Conclusion and Future Work Algorithm Optimization Average runtime of about 3.5 seconds Eliminate unnecessary complexity or looping Use multi-threading strategy to process data Noise Reduction using Signal Processing Techniques Identify any unwanted “noisy” frequencies to get a more accurate representation of environment Data Processing via Cloud Computing Use a cloud, such as Amazon EC2, to perform necessary data processing Need to consider wireless signal strength and speed to determine if this method would be efficient 14

Questions? 15