Stable Vibration-Based Communication Scheme Using Multi-Step ASK and PPM Techniques

In the information-oriented society, there are increasing needs to conduct data communication with nearby devices/people. In this light, vibration-based communication method was proposed as one of possible communication means between adjacent devices. This method has been expected to provide an intuitive and safe communication by propagating vibration to a receiver device. This study proposes two types of techniques, which are multi-step ASK (Amplitude Shift Keying) with pseudo clock and PPM (Pulse Position Modulation), to achieve a stable vibration-based communication simply using smart device functions. These proposed techniques are then evaluated through some experiments using several types of smart devices. In addition, the effectiveness of the proposed methods is discussed based on the experimental results.


Introduction
In the information-oriented society, opportunities to conduct data communication with nearby people or devices have increased. Furthermore, users who own multiple devices often exchange information between their devices. This requires high frequency of connection and fast connectivity (such as NFC, Wi-Fi and Bluetooth, refer to Section 2) which are normally costly and also exposed to various security threat. Given the scenario, it is suggested to create a simple, easy and secured communication method.
In this light, vibration-based communication is proposed as one of possible communication means between adjacent devices. In this communication method, sig-How to cite this paper: Usa nals are transmitted by propagating vibration. Receiver device is able to receive these signals by simply touching vibrating parts of the sender device. Hence, this suggests a very simple and intuitive communication. In addition, the vibration receivers can be easily identified since they must exit in the range where the vibration can reach. It means that it is possible for the sender to limit the receivers that can receive the signals. This in turn suggests a convenient and secured communication offered by vibration-based communication.
Yonezawa T., Nakazawa J., and Tokuda H. [1] proposed a vibration-based communication method using only functions of a smartphone. In this study, signals are generated by a vibration motor and detected by a three-axis acceleration sensor, which are built in a smartphone. The signal modulation is On-Off Keying (OOK) which regards the state when the device is vibrating and the state when the device is not vibrating as 1 bit digital signal (1) 2 and (0) 2 . However, when the device is strongly vibrating, it takes time for the vibration to converge after the vibration motor stops. It significantly influences the communication accuracy. Specifically, there is an undesirable possibility that communication accuracy decreases when the communication speed is increased. Considering the problem of this convergence time, in this paper, two types of vibration signal modulation techniques are proposed for a stable vibration-based communication. These two modulations have not as yet been discussed before in the vibration-based communication.
The contributions of this study are divided into two: 1) to propose and realize both a multi-step ASK (Amplitude Shift Keying) with pseudo clock and a PPM (Pulse Position Modulation) in the vibration-based communication, 2) to investigate the feasibility of the proposed schemes using a variety of smart devices.
The rest of this paper is organized as follows: In Section 2, literature review related to short range communication and vibration-based communication will be described. In Section 3, the proposed methods will be fully explained. The performance evaluation of the proposed methods will be stated in Section 4 and the discussion based on the results of the evaluation will be done in Section 5. Finally, this paper will be concluded in Section 6.

Literature Review
In this section, review on various short range communication is presented together with discussions on vibration-based communication to clarify problems in each communication method.

Short Range Communication Method
In order to perform a communication between adjacent devices there are various kinds of communication methods. These communication methods are briefly discussed in this section.
In relation with wave used for data transfer, there is another advantage of vibration-based communication, that is to say, it only uses physical vibration for communication. Thus, no magnetic electronic wave interference occurs. This feature brings more advantages since it can be used for communication for users who wear medical devices embedded in their body [9].
In terms of usability, NFC, Bluetooth and Wi-Fi require many preparations since each device must be connected before signal transmission is performed [4] [5] [6] [7] [15]. On the other hand, vibration-based communication does not need any preparation before the communication and information can be transmitted simply and easily. This suggests a higher significance of vibration-based communication.

Existing Vibration-Based Communication System
Given the significance of vibration-based communication, details about this communication technology are discussed in this section.
Human is able to recognize vibration signal by just touching vibrating place. Utilizing this point, some researchers conducted experiment to transmit data from device to user by device vibration pattern [10] [11]. In the same movement, the other researchers [12] [13] attempted a high-speed vibration-based communication by using specific modules such as force reactors and piezo electric motors. While these works show some lights in vibration-based communication, this approach is somehow impractical. Specifically, it is unrealistic to always carry such additional devices only for short range communication. Therefore, in this research, vibration-based communication is conducted by only using the functions implemented on smart devices. Yonezawa T., Nakazawa J., and Tokuda, H. [1] have proposed a vibration-based communication method for smartphones [1]. In their study, signals are generated by a vibration motor and detected by a three-axis acceleration sensor built in a smartphone. As a signal modulation method, On-Off Keying (OOK) method utilizing device vibration state. In this approach, vibrating state is recognized as 1 bit digital signal (1) 2 and not-vibrating state as (0) 2 . This method offers an intuitive operation by simply stacking a sender device over a receiver device and activating vibration motor. However, this method cannot achieve a high data rate communication. Suppose that some binary signals are frequently generated. If two (1) 2 signals are successively generated in a short time interval, the second vibration signal may overlap with the first vibration signal, resulting in a significant communication error. This is because the second vibration signal is generated before the first vibration signal becomes small enough even the vibration motor is inactivated.
The above mentioned problem brings another problem. Specifically, the time taken to stop the vibrating motor induces a communication timing gap between transmitting and receiving devices. Vibration motors and three-axis acceleration sensors installed in smartphones are not designed for data communication. Hence, the vibration is not always generated in a correct timing. This is considered as a critical problem since the data communication requires high communication accuracy.
In solving above problem Hwang I., Cho J., and Oh S. [8] proposed a more stable vibration communication method for smartphone. They have clarified one signal timing by continuously vibrating device to send one signal. In this case, smartphone vibrates in longer time-span than the previous method. In this setting, with a powerful vibration motor, the sender device is able to communicate with devices at a distant position by propagating vibration via hard solid medium. However, longer vibration time-span for each data transmission means longer time to generate each signal, thus communication rate is quite slow such as 0.64 bps.

Vibration-Based Communication Using Two Types of Modulations
In this paper, two types of modulation techniques, which contribute to the stability and higher data rate in vibration-based communication, are introduced. One is multi-step ASK (Amplitude Shift Keying), and the other is PPM (Pulse Position Modulation). To achieve both ASK and PPM in vibration-based communication, the key is how to control the vibration amplitude. If the vibration strength on a smart device can be controlled programmatically, it would be the easiest way. However, there is no standard function in Android OS (Operating System) to control the voltage of vibration motor. Therefore, a new method, which changes the vibration motor activating time, is proposed in this study. Suppose that the vibration motor is activated to make a vibration but it is soon inactivated before it reaches the full activation. In this situation, the generated vibration amplitude is smaller than the one generated by the full activation. This method enables to control the vibration amplitude without relying on Android standard Application Programming Interface (API). When a vibration motor is fully activated, the maximum vibration amplitude is generated. In the existing vibration-based communication, the maximum vibration altitude is always discussed because the generated vibration can reach as far place as possible. However, no research focuses on making the vibration amplitude smaller even though it can contribute to both the communication accuracy and high data rate communication.
In the following subsections, the above mentioned two types of modulation techniques are described.

Multi-Step Amplitude Shift Keying (ASK)
In this subsection, a vibration-based communication using multi-step ASK (Amplitude Shit Keying) with pseudo clock is proposed.

Multi-Step ASK Signal Generation with Pseudo Clock
Here, a vibration-based communication using multi-step ASK signal generation is introduced. The difference between OOK and the proposed multi-step ASK is the number of signal types. OOK introduces only two types of signals, which are "vibrating" and "not vibrating". On the other hand, the proposed multi-step ASK introduces several types of signals. The proposed method to generate different vibration amplitude requires a sensitive smart device control. The generated vibration amplitude depends on the vibration motor activating time as mentioned above. However, it is also influenced by the vibration motor activating interval. Here, the vibration motor activating interval is defined as the time interval from the time when the vibration motor is inactivated to the time when it is re-activated again. If the vibration motor activating interval is very large, the vibration motor completely stops. I this case, even though the vibration motor is re-activated with the given vibration motor activating time, sometimes a sufficient vibration amplitude is not generated. To solve this problem, "pseudo clock", which is a vibration signal with a certain value of amplitude, is introduced. The pseudo clock is periodically inserted to keep the vibration motor activating interval shorter enough to generate a sufficient vibration amplitude for the subsequent signal. Figure 1 shows the proposed multi-step ASK signals generation with pseudo clock. Information signal in Figure 1 is the data which is transmitted to the receiver. Each pulse in the figure depicts the vibration motor activating time. In this study, three types of signal values are considered, which are (0) 3 , (1) 3 and (2) 3 corresponding to no amplitude, small amplitude and large amplitude, respectively. As shown in Figure 1, a small amplitude vibration signal is periodically inserted as a pseudo clock which has the same vibration amplitude as (1) 3 . By inserting the pseudo clock periodically, the vibration motor does not completely stop even though signal (0) 3 is successively generated. In this approach, the pseudo clock is always inserted just before the information signal, hence, both pseudo clock and information signal can be extracted separately. Theoretically it is possible to make more steps in ASK such as four steps and five steps. However, the more steps are introduced, the less communication accuracy is achieved. Therefore, only three-step ASK is discussed in this paper. Even in the case of three-step ASK, at least 1.5 times higher data rate than OOK can be achieved.

ASK Signal Demodulation Method
Demodulation of the proposed multi-step ASK signals is performed based on the acceleration values detected by three axis acceleration sensor on a smart device. The absolute acceleration values are taken out and the difference between the absolute values and the gravitational acceleration was then emerged. These values are regarded as the vibration amplitude. In the demodulation process, the largest vibration amplitude in a signal time is extracted. The three types of signals, (0) 3 , (1) 3 and (2) 3 , are then demodulated based on the vibration amplitude.
Here, the signal time is defined as the time assigned to a vibration signal. The demodulation program installed on a receiver device prepares two data arrays to store the detected acceleration values of a pseudo clock and the ones of an information signal separately. The pseudo clock vibration and the information signal vibration are alternately generated in a signal time. Therefore, the demodulation program on the receiver device divides the obtained acceleration values in a signal time into the first half and the second half. After that, each data is stored in each separate array. In this study, the pseudo clock has the same vibration amplitude as the signal (1) 3 . Therefore, the array in which more (1) 3 signals are stored is regarded as the array for pseudo clock data and the other array is regarded as the array for information signal data.
In the previous vibration-based communication method, the timing between transmitting and receiving devices is not synchronized. This causes the deviation of modulation and demodulation timing between communicating devices. The timing deviation still occurs even when the proposed multi-step ASK is used. This is because a vibration motor and an acceleration sensor on a smart device cannot be controlled precisely enough. As a result, a pseudo clock vibration may straddle the pseudo clock part and an information signal part. In the proposed multi-step ASK, the demodulation is performed based on the largest vibration amplitude obtained in a signal time. Hence, the demodulation error or signal loss occurs at the timing of this problem. In order to solve this problem, a communication timing synchronization function by using the pseudo clock is introduced.
The communication timing synchronization is performed by the receiver device. As described above, when the vibration of an information signal straddles a pseudo clock part and the information signal part, the demodulation error may occur. Therefore, the vibration of the pseudo clock should be detected in the center of a signal time so that it does not influence the adjacent parts. As a solution, the synchronization processing is performed when the receiver device first detects the pseudo clock. The receiver device then detects the timing of this pseudo clock and regards it as the generation timing of the pseudo clock. Based on this timing, the receiver device adjusts the timing of demodulation so that the pseudo clock is detected in the center of a signal time. During the next round of vibration communication, the communication timing deviation may occur again. In this case, the resynchronization process of demodulation timing will be repeated again.

Pulse Position Modulation (PPM)
In this section, a vibration-based communication using PPM is proposed.

PPM Signal Generation
The vibration-based communication using PPM makes signals based on the time interval between adjacent vibrations. Therefore, only one type of vibration signal is needed in this method. Figure 2 shows an example of signal generation using PPM. As shown in Figure 2, the short and large time intervals indicate (0) 2 and (1) 2 signals, respectively. The time interval can be controlled by changing the vibration motor activating interval.
In the multi-step ASK signal generation, the pseudo clock is needed to stabilize the generated vibration amplitude. However, in the PPM signal generation, such a clock with no information is not needed since the vibration amplitude is not important if it can be detected correctly. Therefore, in this study, the same vibration amplitude as the signal (1) 2 in the multi-step ASK is utilized since it can converge faster, resulting in a higher data rate than the one using the signal (2) 2 . Figure 2 illustrates a two-step PPM signal generation. If a larger time interval between adjacent vibration signals is introduced, three-step PPM can be realized.
However, in this case, the data rate will be lower than the two-step PPM. Hereafter, only two-step PPM is discussed.

PPM Signal Demodulation Method
Demodulation of the PPM signals is performed at the timing when the demodulation device detects a vibration signal. The vibration signal detection is conducted by confirming a certain level of vibration amplitude similar to the multi-step ASK. When the vibration signal is detected, the time interval between adjacent vibration signals is calculated. Based on the time interval, two-step signal (0) 2 or (1) 2 is demodulated.
In this modulation method, the demodulation processing is sequentially performed at the timing when a vibration signal is detected. Therefore, the receiver device does not have to perform a communication timing synchronization.

Evaluation
The practicality of the proposed method was evaluated by implementing it on smart devices as an Android application. In this section, the smartphone setting for performing the proposed communication method is explained. First, the results of preliminary experiment are shown investigating the relation between device operation and behavior in order to set appropriate parameters for communication. Next, the common device setting for using the proposed two communication methods is described.
In this study, to confirm the versatility of the proposed method, two types of smartphones (Nexus 6 made by Motorola and AQUOS ZETA made by SHARP) and two types of tablet computers (Nexus 9 made by HTC and Media Pad M 3 made by HUAWEI) were prepared. In the preliminary experiment, Nexus 6 was utilized. Based on this result, suitable communication parameters for the two modulation schemes were set.

Preliminary Experiment
In this section, the result of preliminary experiment is shown. In order to set appropriate parameters for activating the vibration motor, this preliminary experiment investigates the relation between device operation and behavior. The movement of smartphone vibration motor changes due to the inertia of the previous vibration. Therefore, even when a constant vibration motor activating time is set, the generated vibration amplitude was sometimes different. Because of that, when performing vibration-based communication, it is necessary to set the appropriate vibration motor activating time and vibration motor activating interval.
In the preliminary experiment, the vibration feature was measured by generating smartphone vibration. Then, this vibration was detected by the acceleration sensor which is also implemented in the vibrating device. Data acquisition frequency was set to SENSOR_DELAY_FASTEST which is a parameter defined in Android standard APIs. Acceleration data is output at the highest speed with this setting. Measurements of generated vibration were made at vibration motor activating interval from 20 ms to 200 ms every 20 ms. In each vibration motor activating interval, vibration activating time was set to 12 ms, 16 ms, 20 ms and 40 ms to measure the transition of the generated vibration amplitude. Vibration was generated 20 times in each parameter. After that, the amplitude and its generation accuracy were measured.  with a short vibration motor activating time decreases when the vibration motor activating interval becomes longer. In particular, when the vibration motor activating time was set to 12 ms, the generated vibration amplitude was greatly decreased, depending on the vibration motor activating interval. The generated vibration with this parameter cannot produce a sufficient amplitude when the vibration motor activating interval is long. Therefore, it is considered inappropriate to set the vibration motor activating time to 12 ms or less as a parameter to generate vibration signals.

Smart Devices Setting for Vibration-Based Communication
In this section, common smart device setting to conduct vibration-based communication is shown. In order to perform a vibration-based communication, acceleration data acquisition frequency was set to SENSOR_DELAY_FASTEST the same as the preliminary experiment. However, there is a problem that the measurement interval is unstable depending on the performance of each device when the acquisition interval is shortened [16]. Figure 4 shows the acceleration data acquisition interval histogram in SENSOR_DELAY_FASTEST when the acceleration value was obtained 2000 times. The used device in this experiment was NEXUS 6. In the figure, the vertical and horizontal axes mean the number of acquired sensor values in this interval and the data acquisition interval, respectively. Figure 4 shows that the acceleration data was acquired almost every 5 ms.
However, it can be confirmed that the acquisition frequency of acceleration is fluctuated about 4 ms. Because the acceleration data can be acquired every 5 ms, it is possible to calculate a signal time by counting the number of acquired acceleration data. However, in this proposed method, how accurately a signal time can be divided is a significant factor for improving the demodulation accuracy.
Therefore, in this proposed method, the demodulation timing is decided based  on the reference acceleration determined at the timing of synchronization and the time at which the acceleration was acquired. Table 1 summarizes the acceleration data acquisition interval when SENSOR_ DELAY_FASTEST parameter was set to each device.
From this table, the difference of acceleration data acquisition interval between Nexus 6 and Nexus 9 is more than twice. Because of that, it is better not to measure the number of data acquired by the acceleration sensor but to measure a signal time based on the time of acquiring the acceleration data of the device. Moreover, the number of acceleration data obtained during a signal time affects the communication accuracy. Hence, the vibration motor activating time is set based on the value for Nexus 9 since it is the longest data acquisition interval and the vibration signal can sufficiently be detected.
Considering the versatility of the application, the same signal generation parameter that can be used by all devices was set. However, the detected vibration on the receiver side greatly changed depending on the shape and size of the device. Hence, the parameter to detect signal for each device was investigated.
Based on the settings made in this section and the result of the preliminary experiment, the proposed vibration-based communication was tested by operating the smart devices appropriately.

Performance Evaluation of Proposed Methods
In this section, the results of evaluation experiments for the proposed two methods are discussed. First, the experimental results for the vibration-based communication using multi-step ASK with pseudo clock is stated. Subsequently, the experimental results for the vibration-based communication using PPM are discussed.

Evaluation Result of Multi-Step ASK with Pseudo Clock
The system evaluation to the vibration-based communication using the proposed multi-step ASK with pseudo clock was conducted.
Based on the result of the preliminary experiment, the vibration motor activating time was set to 16 ms and 40 ms. As an appropriate value in this setting,  the vibration motor activating interval was set to 80ms or more. In these parameters, even if the fluctuation of the amplitude is the three times of the standard deviation, the generated vibration amplitude can be distinguished. Hence, in this study, the vibration motor activating time of 16 ms was set to generate signal (1) 3 and the pseudo clock vibration, and the vibration motor activating time of 40 ms was set to generate signal (2) 3 . In addition, since the pseudo clock and information signal are generated with a vibration motor activating interval of 80 ms or more, a signal time was set to 240 ms. From the receiver device, the resynchronization was performed every time when 10 signals were demodulated.
To evaluate the proposed communication method, the communication between two Nexus 6 was performed by lapping them over each other, and the demodulation accuracy was checked by sending 1000 bits of random data.  Table 2 shows the result of measurement which investigated the generated vibration amplitude by prepared 4 kinds of smart devices. In the measurement, Nexus 6 was used as the standard device for detecting vibration. By putting Nexus 6 on the device that sends the signal, the generated vibration amplitude was measured. The signal was generated 100 times from each device and the result is shown by the average amplitude of detected vibration.
When the signal generation by using the prepared two types of tablet computers was conducted, actually the vibration could not be generated because the vibration motor did not vibrate strongly. In addition, the vibration amplitude did not change so much with the vibration motor activating time of 16 ms and 40 ms when AQUOS Zeta was used. Hence, when the vibration-based communication with prepared 4 devices is performed, only Nexus 6 can be used as a signal generation device. When Nexus 6 is used as a sender device communicating with AQUOS Zeta, the communication accuracy of 95.7% was achieved with the transmission data rate of 6.3 bps. However, when communicating with Media Pad M3 and Nexus 9, the communication accuracy decreased to 87.4% and less than 80%, respectively. This is because the tablet computers were larger than   where, N sent and N received stand for the number of bit signals sent from the sender device and the number of bit signals correctly received by the receiver device, respectively.
Most of demodulation errors are caused by the attenuation of vibration signals. In addition, when the pseudo clock detection was failed during the resynchronization period, information loss occurred. This suggests that the lack of pseudo clock vibrations and the occurrence of noise are serious problems in the communication. In this case, optimal parameter setting does not work to solve this problem, and thus, some additional functions, such as adding a checksum to information and sending a signal retransmission request from the demodulation device, are required.

Evaluation Result of PPM
In this section, the evaluation result of the vibration-based communication with PPM is shown. When the vibration is generated by the vibration motor on the smartphone, the timing deviation may occur between the set vibration motor activating time and the timing at which the vibration is actually generated. The vibration signal was generated 2000 times on the smartphone and the fluctuation 0 0 In addition, when using the proposed method, it is necessary to consider the convergence time of the vibration in order to distinguish whether the previous vibration has not converged yet or not. Therefore, 90mswas set to the vibration convergence time based on the detected vibration. With this convergence time, the vibration signal can be sufficiently distinguished from the next generated vibration. Figure 6 shows the acceleration data acquired by the receiver device when the vibration-based communication with PPM was performed between two Nexus 6.
In In the case of AQUOS Zeta, it was able to generate the vibration signal by the PPM. However, when trying to generate signals with tablet computers, the generated vibration was not large enough, and the vibration could not be detected from other devices similar to the case of using multi-step ASK method. Table 3 shows the signal demodulation accuracy when Nexus 6 and AQUOS Zeta are used as signal transmission devices.    In this experiment, we could not prepare two AQUOS Zeta. Because of that, the experimental result using AQUOS Zeta for both transmitting and receiving device is not shown in the table. When communicating using AQUOS Zeta as the signal transmitter, the size of the device is small, thereby the vibration cannot be propagated sufficiently to tablet computers. This results in the low communication accuracy. With this proposed method, Nexus 6 was able to communicate with the prepared all devices with the communication accuracy of 98.7% on average. In addition, with regard to AQUOS Zeta, it was able to communicate with the prepared all devices with the accuracy of 95.6% on average. Note that the communication accuracy here is defined by the same equation as Equation (1) stated in Section 4.3.1.
In the experiment, sometimes vibration signals were not generated and it resulted in signal loss in the receiver device. Also, long time interval between two vibration signals also led to a demodulation error. Moreover, when vibration signals were generated frequently, the vibration did not converge sufficiently and some extra signals were miss-produced as the demodulation result. To overcome the demodulation error in the PPM, it is necessary to classify the signals based on the time interval between vibration signals.

Discussion
In comparing with multi-step ASK with pseudo clock, the communication using the PPM has a better performance with a higher accuracy. When performing communication with multi-step ASK, a stable communication environment is required. It is necessary to ensure that the sender device can generate plural steps of vibrations. On the other hand, the PPM can generate an enough vibration even though the amplitude is small. In addition, the signal can be demodulated easily if the vibration signal can be detected. However, the transmission data rate with the PPM is unstable and the transmission data rate itself is slower than the communication with multi-step ASK. Hence, it is important to select a suitable communication method for each device depending on the environment.
Both methods proposed in this paper have the robustness to vibration attenuation, especially PPM. However, it is difficult to solve the vibration noise problem that is caused by the communication environment. To tackle this problem, it is necessary to introduce a noise removal process such as Fast Fourier Transform.

Conclusions
In this paper, two types of modulation techniques, which contribute to the sta- As future works, automatic device capability detection schemes and killer applications development will be investigated. The former is indispensable to perform the proposed two types of modulation techniques and the latter is important to accelerate the vibration-based communication which will lead to a new mobile life-style.