Biomedical monitoring systems rely often on multi-sensor data fusion. The main idea is that the recorded signals together contain more information than all signals individually. E.g. if we have an electrocardiogram (ECG) and a photoplethysmogram (PPG) we can measure the time difference between the electrical stimulation of the heart and the pulse wave reaching the PPG sensor. This parameter is called pulse transit time (PTT) and has a linear connection with blood pressure  To get this additional information synchronization between the sensors is of vital importance. E.g. for calculating the PTT a synchronization accuracy of at least 1 ms is required .
In wired networks this accuracy is easy to reach with a common clock or by exchanging time stamps. But to monitor patients out of hospital during every day activities small wireless sensors are the best solution. This distributed sensors nodes in wireless networks have no common clock. Hence the local time of each sensor can drift, especially during measurements over a day or longer. Even in laboratory conditions with constant temperatures, we measured a drift of over 1 s per day between sensors using crystal oscillators.
In  different synchronization methods for wireless networks are described. All of the methods rely either on deterministic times for message exchanges or on common events. One of the most common wireless communication standards for low power sensors is Bluetooth Low Energy (BLE). BLE reduces the energy consumption for sensor nodes drastically compared to other wireless standards. One major reason for this is a non-continuous connection between the nodes. The connection between the nodes after establishing is divided into connection intervals (CI), as shown in Figure 1. If there is nothing to communicate the module will fall in a sleep mode until the next connection interval starts and the communication gets reinitialized. This sleep mode causes a non-deterministic delay between the incoming write command and the actual transition.
The CI length is set in the initialization phase and can be between 7.5 ms and 4 s. Hence there is at least a random message delay between 0 and 7.5 ms in a BLE message transfer. If the BLE module is busy the delay can be even longer than one CI.
One of the most popular synchronization protocols the Network Time Protocol (NTP) would suffer directly from this characteristic. Figure 2 describes the principle of NTP synchronization. Node A sends a request to node B and takes the time stamp T1. Node B answers with two time stamps R1 and T2. When the message arrives at node A it takes the last time stamp R2 and calculates the offset as follows:
To find more appropriate synchronization protocols that can fulfil the requirements of most wireless biomedical sensor networks; this paper investigates different principles to synchronize BLE nodes.
2 Synchronization principles
As test setup we used the EFM32TG  microcontroller starter kit and connected two BLE112  Bluetooth modules via UART. The microcontroller’s real time clock runs with 32.768 kHz and the UARTs have a baud rate of 115200 Baud. The microcontroller takes the time stamps for the different events of the two BLE modules. The fact that we use only one microcontroller and time base with two Blue-tooth modules lets us calculate the error directly.
As a reference we measured the send-receive delay with a CI of 7.5 ms. Then we investigated two different use cases. The first is two BLE nodes with an established connection and a CI of 7.5 ms. The modules communicate regularly and we use the receive-acknowledge delay to measure the time difference (Principle (A). In the second use case we have two nodes with no active communication but the possibility to establish it for synchronization purposes. In this case we measured the time difference between the “connected” events that occur on both nodes after establishing a new connection (Principle (B).
2.1 Reference send receive delay
As a reference we measured the time stamps of received and transmitted data. The non-deterministic character of the BLE data transmission will lead to an additional delay to the one caused by the physical transmission. Figure 3 illustrates this process. The data is send with a write command to the first BLE module and is then transmitted to the second BLE module at the start of the next connection event, from where it is forwarded to the second microcontroller.
2.2 Principle (A) receive acknowledge delay
For principle (A) we used an acknowledgement for attribute writing with the Generic Attribute Profile (GATT). The random time delay between the sending and receiving is irrelevant for calculating the time difference between receiving and acknowledgement. The time difference between T1 and T2 shown in Figure 4 should be a multiple of the CI, when we assume all messages are exchanged at its beginning. This could be used in synchronization protocols.
2.3 Principle (B) connection events
In principle (B) the two sensor nodes have to establish a connection to communicate. This initiation process leads to the “connected” event on both nodes. This event should arrive almost at the time and can be used as common time reference to synchronize the sensors. Figure 5 describes this initialization process and the time stamps we used for the synchronization.
3.1 Reference results
The reference measurements are shown in Figure 6. The delay is mostly distributed within the range of one CI. Values below 1 ms do not exist. This is probably related to the time the BLE112 module needs to process the write command. The average time difference is 4.76 ms. If we subtract the 1 ms processing time from this value, we get 3.76 ms, which is about half the CI we used. The standard deviation is 2.32 ms. Hence a synchronization of 1 ms accuracy is difficult and can only be reached by improving it statistically with multiple repetitions.
3.2 Results for principle (A)
In Principle (A) we calculated the delay between receiving and acknowledging. As shown in Figure 7 the average time to acknowledge the reception is 7.51 ms, which is almost exactly 1 CI. The standard deviation of 0.41 ms shows that synchronization between two nodes with an accuracy of 1 ms or better is possible.
3.3 Results for principle (B)
In principle (B) we calculated the time difference between the “connected” events that occur when the connection gets established.
Figure 8 shows this time difference. It is most of the time only one clock step (30.52 ms). The communication initiator always detects the signal first. This is most likely due to its role. The average delay between the connection events was 39.92 μs with a standard deviation of 14.19 μs. With this principle, synchronizations even more precise than 1 ms can be reached.
We tested two different synchronization principles for BLE nodes against a reference that is used in most synchronization protocols. As reference we used the time difference between sending and receiving messages. The results show that it is possible to synchronize nodes with this principle, but the standard deviation of 2.32 ms makes it difficult to reach accuracies above our requirement of 1 ms. Principle (A) that uses the receive acknowledge time difference showed much better results with a standard deviation of 0.41 ms. The best result of 14.19 μs standard deviation was established with principle (B). This method can only be used when the participating nodes can be connected and disconnected at will. It uses the “connected” event that occurs on both BLE modules after establishing a connection.
In future we want to test the synchronization principles with protocols in real sensor nodes. The micro controller we used for this test had no processor load except the synchronization. Hence tests under normal operation conditions are essential to evaluate the accuracy in the field.
H. P. Boll, Mobile Überwachung der Funktionalität des kardiovaskulären Systems – Konzepte und Simulationen. Institut für Technik der Informationsverarbeitung, Universität Karlsruhe, 2008. Google Scholar
M. Nakamura, J. Nakamura, G. Lopez, M. Shuzo, and I. Yamada, “Collaborative processing of wearable and ambient sensor system for blood pressure monitoring.,” Sensors (Basel)., vol. 11, no. 7, pp. 6760–70, Jan. 2011. Google Scholar
B. Sundararaman, U. Buy, and A. D. Kshemkalyani, “Clock synchronization for wireless sensor networks: A survey,” Ad Hoc Networks, vol. 3, pp. 281–323, 2005. Google Scholar
B. Sig, “Bluetooth Specification Version 4.2,” History, vol. 0, 2014.Google Scholar
Silicon Laboratories Inc., “EFM32TG840 Datasheet.” Silicon Laboratories Inc., 2014. Google Scholar
Bluegiga Technologies, “BLE112 Version 1.45.” Bluegiga Technologies, 2014. Google Scholar
About the article
Published Online: 2015-09-12
Published in Print: 2015-09-01
Conflict of interest: Authors state no conflict of interest. Material and Methods: Informed consent: Informed consent has been obtained from all individuals included in this study. Ethical approval: The research related to human use has been complied with all the relevant national regulations, institutional policies and in accordance the tenets of the Helsinki Declaration, and has been approved by the authors’ institutional review board or equivalent committee.