  Recognizing surfaces based on their vibration signatures is useful as it can
enable tagging of different locations without requiring any additional hardware
such as Near Field Communication (NFC) tags. However, previous vibration based
surface recognition schemes either use custom hardware for creating and sensing
vibration, which makes them difficult to adopt, or use inertial (IMU) sensors
in commercial off-the-shelf (COTS) smartphones to sense movements produced due
to vibrations, which makes them coarse-grained because of the low sampling
rates of IMU sensors. The mainstream COTS smartphones based schemes are also
susceptible to inherent hardware based irregularities in vibration mechanism of
the smartphones. Moreover, the existing schemes that use microphones to sense
vibration are prone to short-term and constant background noises (e.g.
intermittent talking, exhaust fan, etc.) because microphones not only capture
the sounds created by vibration but also other interfering sounds present in
the environment. In this paper, we propose VibroTag, a robust and practical
vibration based sensing scheme that works with smartphones with different
hardware, can extract fine-grained vibration signatures of different surfaces,
and is robust to environmental noise and hardware based irregularities. We
implemented VibroTag on two different Android phones and evaluated in multiple
different environments where we collected data from 4 individuals for 5 to 20
consecutive days. Our results show that VibroTag achieves an average accuracy
of 86.55% while recognizing 24 different locations/surfaces, even when some of
those surfaces were made of similar material. VibroTag's accuracy is 37% higher
than the average accuracy of 49.25% achieved by one of the state-of-the-art
IMUs based schemes, which we implemented for comparison with VibroTag.
