Turning a Mobile Device into a Mouse in the Air

Slides:



Advertisements
Similar presentations
Chunyi Peng, Guobin Shen, Yongguang Zhang, Yanlin Li, Kun Tan BeepBeep: A High Accuracy Acoustic Ranging System using COTS Mobile Devices.
Advertisements

Microsoft Research Asia
Whole-Home Gesture Recognition Using Wireless Signals —— MobiCom’13 Author: Qifan Pu et al. University of Washington Presenter: Yanyuan Qin & Zhitong Fei.
Chapter-3-1CS331- Fakhry Khellah Term 081 Chapter 3 Data and Signals.
ECE 4321: Computer Networks Chapter 3 Data Transmission.
COIN-GPS: Indoor Localization from Direct GPS Receiving.
Callers in Tall Buildings Wonsang Song Jae Woo Lee Byung Suk Lee Henning Schulzrinne.
Spectrum analyser basics Spectrum analyser basics 1.
Tracking Objects with Dynamics Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 04/21/15 some slides from Amin Sadeghi, Lana Lazebnik,
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
A Wireless Spectrum Analyzer in Your Pocket
1 Manipulating Digital Audio. 2 Digital Manipulation  Extremely powerful manipulation techniques  Cut and paste  Filtering  Frequency domain manipulation.
3.1 Chapter 3 Data and Signals Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Triton Perspective Software Sidescan Data Processing and Targeting  Consideration of Range v Ping Interval and Samples per channel, object detection.
Ruolin Fan, Silas Lam, Emanuel Lin, Oleksandr Artemenkoⱡ, Mario Gerla
Shanshan Chen, Christopher L. Cunningham, John Lach UVA Center for Wireless Health University of Virginia BSN, 2011 Extracting Spatio-Temporal Information.
Chunyi Peng, Guobin Shen, Yongguang Zhang, Yanlin Li, Kun Tan
MACHINE VISION GROUP Multimodal sensing-based camera applications Miguel Bordallo 1, Jari Hannuksela 1, Olli Silvén 1 and Markku Vehviläinen 2 1 University.
Inputs to Signal Generation.vi: -Initial Distance (m) -Velocity (m/s) -Chirp Duration (s) -Sampling Info (Sampling Frequency, Window Size) -Original Signal.
Smart Environments for Occupancy Sensing and Services Paper by Pirttikangas, Tobe, and Thepvilojanapong Presented by Alan Kelly December 7, 2011.
The Remote Sensing of Winds Student: Paul Behrens Placement and monitoring of wind turbines Supervisor: Stuart Bradley.
Radio Communication SL – Option F.1. Radio communication includes any form of communication that uses radio (EM) waves to transfer information –TV, mobile.
1 Business Telecommunications Data and Computer Communications Chapter 3 Data Transmission.
1 Mohammed M. Olama Seddik M. Djouadi ECE Department/University of Tennessee Ioannis G. PapageorgiouCharalambos D. Charalambous Ioannis G. Papageorgiou.
Indoor Localization Using a Modern Smartphone Carick Wienke Advisor: Dr. Nicholas Kirsch Although indoor localization is an important tool for a wide range.
Trimble GCS900 Dual Antenna System Why Trimble uses a Dual Antenna Solution and why it is the better solution?
Resident Categorical Course
Signal Propagation Propagation: How the Signal are spreading from the receiver to sender. Transmitted to the Receiver in the spherical shape. sender When.
Presenter Ho-lin Chang. Introduction Design Implementation Evaluation Conclusion and future Work 2.
Wireless and Mobile Computing Transmission Fundamentals Lecture 2.
Support WiFi and LTE Co-existence
A Hybrid Method for achieving High Accuracy and Efficiency in Object Tracking using Passive RFID Lei Yang 1, Jiannong Cao 1, Weiping Zhu 1, and Shaojie.
Keystroke Recognition using WiFi Signals
Using Mobile Phones to Write in Air
Maryam Mehrnezhad Feng Hao Siamak F. Shahandashti Newcastle university, UK CryptoForma meeting, Belfast 4 May 2015 Tap-Tap and Pay (TTP): Preventing The.
Experimental Results ■ Observations:  Overall detection accuracy increases as the length of observation window increases.  An observation window of 100.
 a mathematical procedure developed by a French mathematician by the name of Fourier  converts complex waveforms into a combination of sine waves, which.
Audio Location Accurate Low-Cost Location Sensing James Scott Intel Research Cambridge Boris Dragovic Intern in 2004 at Intel Research Cambridge Studying.
Small, Lightweight Speed and Distance Sensor for Skiers and Snowboarders Michael Bekkala Michael Blair Michael Carpenter Matthew Guibord Abhinav Parvataneni.
Human Tracking System Using DFP in Wireless Environment 3 rd - Review Batch-09 Project Guide Project Members Mrs.G.Sharmila V.Karunya ( ) AP/CSE.
Attenuation measurement with all 4 frozen-in SPATS strings Justin Vandenbroucke Freija Descamps IceCube Collaboration Meeting, Utrecht, Netherlands September.
Active Microphone with Parabolic Reflection Board for Estimation of Sound Source Direction Tetsuya Takiguchi, Ryoichi Takashima and Yasuo Ariki Organization.
Counting How Many Words You Read
RTLS. LOCATING / POSITIONING SYSTEMS A positioning system is a mechanism for determining the location of an object in space Interplanetary systems Global.
Accurate Indoor Localization With Zero Start-up Cost
Dead Reckoning with Smart Phone Sensors for Emergency Rooms Ravi Pitapurapu, Ajay Gupta, Kurt Maly, Tameer Nadeem, Ramesh Govindarajulu, Sandip Godambe,
1 SVY 207: Lecture 12 Modes of GPS Positioning Aim of this lecture: –To review and compare methods of static positioning, and introduce methods for kinematic.
It Starts with iGaze: Visual Attention Driven Networking with Smart Glasses It Starts with iGaze: Visual Attention Driven Networking with Smart Glasses.
SUB-NYQUIST DOPPLER RADAR WITH UNKNOWN NUMBER OF TARGETS A project by: Gil Ilan & Alex Dikopoltsev Guided by: Yonina Eldar & Omer Bar-Ilan Project #: 1489.
Tracking Mobile Nodes Using RF Doppler Shifts
Lecture 8: Measurement Errors 1. Objectives List some sources of measurement errors. Classify measurement errors into systematic and random errors. Study.
Avoiding Multipath to Revive Inbuilding WiFi Localization
National Highway Institute 5-1 REV-2, JAN 2006 EQUIPMENT FACTORS AFFECTING INERTIAL PROFILER MEASUREMENTS BLOCK 5.
WiDraw: Enabling Hands- free Drawing in the Air on Commodity WiFi Devices.
Triton Perspective Software Downsampling  Consideration of Range v Ping Interval and Samples per channel, object detection.  Downsampling using MODxtf.
My Smartphone knows what you print exploring smartphone-based side-channel attacks against 3d Printers Chen Song, feng lin, zongjie ba, kui ren, chi zhou,
CAT: High-PreCision Acoustic Motion Tracking
MART: Music Assisted Running Trainer
Spread Spectrum Audio Steganography using Sub-band Phase Shifting
Hessam Mohammadmoradi, Shengrong Yin, Omprakash Gnawali
Bing Zhou1, Mohammed Elbadry2, Ruipeng Gao3, Fan Ye1
Dead Reckoning, a location tracking app for Android™ smartphones Nisarg Patel Mentored by Adam Schofield and Michael Caporellie Introduction Results (cont.)
WiFinger: Talk to Your Smart Devices with Finger-grained Gesture
Keystroke Recognition using Wi-Fi Signals
QGesture: Quantifying Gesture Distance and Direction with WiFi Signals
Ranging and tracking using sound
3D Localization for Sub-Centimeter Sized Devices
Smartphone-based Acoustic Indoor Space Mapping
Practical Hidden Voice Attacks against Speech and Speaker Recognition Systems NDSS 2019 Hadi Abdullah, Washington Garcia, Christian Peeters, Patrick.
Combating Replay Attacks Against Voice Assistants
Presentation transcript:

Turning a Mobile Device into a Mouse in the Air Lili Qiu Joint work with Sangki Yun and Yi-Chao Chen ACM MobiSys 2015

Era of Smart Devices Smart Devices These days, people are surrounded by smart devices such as smart phone, laptop, smart TV and smart watch. According to some survey, a person carriers 2.9 smart devices in average. For some of the smart devices, they require sophisticated user interface to fully utilize the functionality, but the provided controller is not sufficient. For example, with smart TV, we can do almost all things we do with laptop or tablet such as web-browsing, social network and gaming, but the traditional remote controller is not good enough to utilize them. Similarly, smart glasses usually has small touch pad and we can use it to make a few simple commands such swiping and tapping, but the number of distinct gestures are limited and it significantly reduces the usability of the smart glasses.

Our goal Controlling smart devices using existing mobile devices How to enable precise mobile device position tracking?

Possible solutions WiFi signal based device localization Sub-meter level accuracy Accelerometer based device tracking Large error Gyroscope – track the rotational movement Unintuitive to use In order to track the device movement, one possible way is using RF signal, which is very popular in indoor localization. However, it only achieves sub-meter level accuracy which our application requires cm level accuracy. Another possible way will be using the accelerometer in the mobile device. If the device is moving, the acceleration is generated and we can use it to track the position. However, the measured acceleration has huge noise and the tracking is not feasible. Using the gyroscope, we can track the rotational movement of the device. It is indeed used for commercial air mouse products and remote controllers for smart TVs. The problem of this approach is it tracks the rotational movement of our wrist while the mouse pointer is moving is 2D plane. The disparity between the rotational movement and 2D movement makes the users experience difficulties in controlling the pointer using gyroscope.

Our Approach Audio based movement tracking using Doppler effect Speakers emit audio signals in inaudible frequencies Attractive for high accuracy due to slower speed and easy to detect a small frequency shift The device position is tracked by the Doppler shift of the recorded audio signal In this work, we track the device movement using the audio signal. In particular, we use the Doppler shift generated while the device is moving. Here, the device to be tracked has two speakers, and each speaker emit pure sinusoid tones in different inaudible frequencies. The mobile device records the audio signal and sends it back to the processor, where it tracks the movement by analyzing the Doppler shift.

Why not accelerometer? Small hand vibration causes non-negligible error Track the device position by double integration of the acceleration Quick error accumulation Movement estimated from the accelerometer Measured acceleration

Doppler Effect Doppler shift – change in the frequency due to the movement of the sender or the receiver 𝐹 𝑠 = 𝑣 𝑉 𝑠 𝐹 --> 𝑣= 𝐹 𝑠 𝐹 𝑉 𝑠 𝐹 𝑠 : Doppler shift 𝑉 𝑠 : propagation speed of the medium 𝐹 : frequency of the wave Doppler shift is the change of the center frequency incurred by the movement of the sender or the receiver of the wave signal. The mathematical relationship between the velocity and the frequency shift is like this. Let’s say the sender position is the fixed. The propagation speed and the center frequency of the original wave is constant, so by observing the frequency shift, we can calculate the velocity of the receiver. Higher frequency Lower frequency

Doppler based device tracking From the measured Doppler shift, we can get the velocity and the moving distance of the device Regarding the device tracking, one might wonder why don’t we simply use accelerometer instead of the Doppler. Accelerometer is equipped in almost all smart phones, and it is very cheap to read the acceleration in terms of the energy efficiency. However, the accelerometer has two fundamental problems. One is that it is easily affected by the gravity so small hand vibration causes non-negligible acceleration. And it tracks the position by the double integration where one integration of the acceleration gives the velocity and another integration gives the position. It is very sensitive to noise and small acceleration measurement error quickly explodes over time. Here we measure the acceleration while the device is moving in one direction. We see that the difference while the device is moving and stopped is small. And because of the accumulated error, the tracked position infinitely goes wrong direction even if the device has stopped. One the other hand, in the measured Doppler shift, we can clearly tell when the device is moving, and the movement distance tracked by the Doppler is much more accurate than the Doppler. ` Measured Doppler shift Movement estimated from Doppler shift

Outline Accurately estimate the Doppler shift Locate the device Finding the distance between speakers Handling the uncertainty of the initial position In order to enable Doppler shift

Outline Accurately estimate the Doppler shift Locate the device (Assume speaker distance & initial position known) Finding the distance between speakers Handling the uncertainty of the initial position In order to enable Doppler shift

Doppler shift estimation Frequency domain analysis by Short-term Fourier Transform (STFT) Detect the Doppler shift by finding the peak frequency with maximum magnitude To estimate the Doppler shift, we need to analyze the signal in the frequency domain. Given the received audio signals, we perfom STFT to observe the change of the spectrum over time, and we estimate the Doppler shift by finding the frequency with the maximum magnitude. This is the spectrogram we got from STFT while device is drawing a circle. This is the Doppler shift estimated by the peak detection. By itself it has significant error so the tracking is inaccurate. Spectrogram of the audio signal Doppler shift estimated by peak detection

Improving the frequency shift estimation accuracy Send multiple audio tones in 200 Hz interval Outlier removal Doppler shift change larger than 10 Hz Maximal Ratio Combining So we use several techniques to improve the accuracy. First, we use larger spectrum to estimate the Doppler shift. Instead of sending one audio, we send multiple tones in different frequencies and measures Doppler shift in multiple channels, which we can achieve diversity effect. Another observation is sometimes the measured Doppler error is unreasonably high and deviates Gaussian distribution. Considering the human hand movement speed limit, we can filter out the Doppler measurement samples where the difference from the previous measurement is significant. We regard the Doppler shift change larger than 10 Hz is measurement error and remove them. After that, we perform MRC that is widely used in receiver antenna diversity. This is the measured Doppler in 5 different frequencies. This is MRC result with and without outlier removal, and you can see the result with outlier removal is more smooth, which is likely to include less amount of error. Doppler shift from multiple channels MRC with outlier removal

Outline Accurate estimation of the Doppler shift Locate the device (Assume speaker distance & initial position known) Finding the distance between speakers Handling the uncertainty of the initial position In order to enable Doppler shift

Tracking the device position - 1 Assumptions The distance between speakers is known The initial device position is known Measure Doppler shift from two speakers Using the previous position and Doppler, update new distance from speakers Now I will explain how to track the position using the Doppler shift measurement. Here, I will first assume that the distance between speakers the device initial position are known, and later I will explain how to address the assumption. Given the Doppler shift estimation and the information on the current position, finding the new distance from the speakers is pretty simple. From the Doppler shift, we can calculate how much device has moved during the Doppler sampling interval, and by adding it to the previous distance. We can find the current distance from the two speakers. 𝐷 𝑖,1 = 𝐷 𝑖−1,1 + 𝐹 𝑖,1 𝑠 𝐹 1 𝑣 𝑡 𝑠 𝐷 𝑖,2 = 𝐷 𝑖−1,2 + 𝐹 𝑖,2 𝑠 𝐹 2 𝑣 𝑡 𝑠 Doppler sampling interval Current distance from speaker 1 Previous distance from speaker 1 Change of the distance tracked by Doppler

Tracking the device position - 2 ( 𝒙 𝟏 , 𝒚 𝟏 ) Having the distance from two speakers, finding the position is finding the intersection of two circles (𝟎,𝟎) (𝑫,𝟎) ( 𝒙 𝟐 , 𝒚 𝟐 ) 𝑫 𝟐,𝟐 𝑫 𝟐,𝟏 ( 𝒙 𝟒 , 𝒚 𝟒 ) ( 𝒙 𝟑 , 𝒚 𝟑 ) 𝑫 𝟑,𝟏 𝑫 𝟑,𝟐 𝑫 𝟏,𝟏 𝑫 𝟏,𝟐 Once the distances from the two speakers are known, finding the position is finding the intersection of the two circles. Here I illustrate how to continuously track the device. For the tracking, we construct a virtual coordinate where the position of the left speaker is 0,0 and the position of the right speaker is D,0, and D is the distance between speakers. In each interval, the tracker measures the new distance from the speakers using the previous position information and Doppler shift. Using it, the tracker find the intersection of the two circles where the radius are the distance from the two speakers and the center points are the location of the speakers. In the next interval, it finds the new distances and the new position, and this is repeated until the tracking is completed. ( 𝒙 𝟎 , 𝒚 𝟎 )

Finding the distance between speakers Calibration to find the exact speaker distance using Doppler Moves the device from left to right T1: 𝐹 𝑠 1 changes from positive to negative T2: 𝐹 𝑠 2 changes from positive to negative Measure the distance using Doppler shift between T1 and T2 Speaker 1 Speaker 2 Now I explain how to find the distance between the speakers. We provide a simple but effective calibration method that use can easily perform. Here, we again use Doppler shift to estimate the distance. During the calibration, the speakers are emitting the sound in inaudible frequency to estimate Doppler shift. The user goes close to the device to be tracked, and moves the mobile devices from left to right and come back to the left. From the measured Doppler shift, we can easily find the timing that the device passes the left and right speaker, because the Doppler shift changes from positive to negative. Then, we can easily find the distance from the measure Doppler shift between these two intervals. 𝑇 1 𝑇 2

Handling the uncertainty of the initial position (particle filtering) Initially allocate many particles in a given space In each movement update, remove particles that give infeasible movement (e.g., D < D1 + D2) Update position by averaging the movement of all remaining particles Repeat 2 and 3 𝑷= 𝑥 𝑜 1 , 𝑦 𝑜 1 ,…, 𝑥 𝑜 𝑁 , 𝑦 𝑜 𝑁 The last part of the device tracking is how to find the initial position of the device. To address this problem, we use the particle filtering. Initially, we allocate many particles in large space where the device can potentially starts moving. Here each particle corresponds to the initial location of the device. In each movement, we update the position of the particle, and filter out the particles that make infeasible movements. Here, one example of infeasible movement is there’s no intersection of two circles when the device moves from the previous position. After that, we track the new position of the device by averaging all of the movements of the remaining particles. We repeat this until the device tracking is completed. 𝑥 𝑖+1 , 𝑦 𝑖+1 = 𝑥 𝑖 + 𝑘∈𝑷 𝑥 𝑖+1 𝑘 − 𝑥 𝑖 𝑘 𝑷 , 𝑦 𝑖 + 𝑘∈𝑷 𝑦 𝑖+1 𝑘 − 𝑦 𝑖 𝑘 𝑷

Controlling a device with one speaker Leverage one speaker and one RF signal (WiFi or Bluetooth) Measure the change of the distance from speaker using Doppler shift Measure the change of the distance from RF source using phase change Use the same mechanism to track the position 𝑑 𝑡2 = 𝜃 𝑡2 − 𝜃 𝑡1 2𝜋 λ+ 𝑑 𝑡1 Until now, I have explained the tracking assuming that the tracker has two speakers, but in practice, there can be a device with one speakers such as small laptop and smart glasses. In such a case, we can leverage one RF signal to track the movement. Here, from one speaker, we measure the distance change using the Doppler shift. Also, we estimate the distance change from the RF source by observing the change of the phase. It is feasible because the change of the distance is the change of the phase times the wavelength. Once we get the distance changes from the two source, we can use the same mechanism to track the position. 𝑑 𝑡 : Distance at time t λ: wavelength of the signal 𝜃 𝑡 : Phase of the received signal at time t

Implementation We implement AAMouse to enable real-time device tracking 17 – 19 KHz frequency range 40 ms Doppler sampling interval Comparison with Accelerometer based tracking Camera based tracking (ground-truth) Gyroscope Moves the pointer by rotational movement of the device

Performance evaluation We performed user study with 8 students, and evaluated Tracking accuracy (comparison with accelerometer) Usability (comparison with Gyroscope) Target pointing – show a target in the screen and ask the user to point it Drawing – draw simple shapes such as heart, circle, diamond, triangle Micro benchmarks

Tracking accuracy AAMouse Accelerometer Median error: 1.4 cm 90th percentile error: 3.4 cm Not affected by background noise Accelerometer Median error: 17.9 cm 90th percentile error: 37.7 cm AAMouse achieves centimeter-level accuracy

Target Pointing evaluation R=Da / Ds Da: actual distance traveled Ds: Distance between the target and the origin AAMouse is easier to use than Gyroscope Camera AAMouse Gyroscope Samples from 80th percentile R

Drawing evaluation Drawing error The distance between original shape and the drawn image Camera AAMouse Gyroscope AAMouse is easier to use than Gyroscope Samples from the 80th percentile drawing error

Impact of using multiple sounds and outlier removal With outlier removal Without outlier removal 1) 5 tones is generally sufficient. 2) Outlier removal is helpful.

Impact of the speaker distance calibration CDF of the speaker distance error Trajectory error with various speaker distance errors 1) 3 scans are usually sufficient. 2) Tracking is robust against speaker distance est. error.

Conclusion We develop an audio based device tracking and apply it to realize mouse Achieves centimeter-level accuracy Requires no additional hardware Future work Improving the accuracy and robustness of the tracking

Thank you!

Limitation Accumulation of the tracking error Impact of multi-path Possible solution: using additional information besides Doppler shift