# Performance Evaluation of Bluetooth Low Energy: A Systematic Review
## 3 BLE Performance
### Throughput  
The first factor that influences throughput is the data rate implemented in the radio protocol. The BLE radio data rate specification, defined in Section 2.1.1, is set to 1 Mbps. Knowing the total time needed to send a single packet (\(T_{round-trip}\)), that is \(\sim\)675 \(\upmu\)s [65], the maximum theoretical number of _round-trips_ (\(N_{round-trip}\)) per _connInterval_ can be calculated as the floor of the ratio of _connInterval_ and \(T_{round-trip}\):  
\[N_{round-trip}=\left\lfloor\frac{\textit{connInterval}}{T_{round-trip}}\right\rfloor \tag{1}\]  
Using Equation (1), it is possible to obtain the maximum number of packets for the minimum _connInterval_ of 7.5 ms, which is 11. That means the maximum throughput (\(\delta_{Max}\)) is equal to the maximum number of bits (\(N_{Max}\)) per each _connInterval_ divided by the _connInterval_ itself, and it is equal to:  
\[\delta_{Max}=\frac{N_{Max}}{\textit{connInterval}}=\frac{N_{round-trip}\times 2 0 bytes\times 8 bits}{\textit{connInterval}} \tag{2}\]  
In the case of errors during the transmission, the throughput (\(\delta\)) will be reduced by a factor called the Bit Error Rate (BER), as shown in Equation (3). The BER corresponds to zero when there are no errors in the communication; otherwise, when all the packets are lost, it is equal to one. In the BLE protocol, if a packet has not be sent correctly, this leads to the retransmission of it. \[\delta=\delta_{Max}\times(1-BER) \tag{3}\]  
According to these considerations, [PERSON] et al. [65] estimated the maximum theoretical throughput of a Bluetooth Low Energy link obtained at different _connInterval_ (ranging between 7.5 ms and 4000 ms) and for different levels of BER (ranged from zero to \(10^{-3}\)). The payload used is 20 bytes, which corresponds to the maximum acceptable by the BLE protocol, as described in Section 2.3. These results are shown in Figure 13. In absence of bit errors, the maximum BLE throughput estimated (\(\delta_{Max}\)) is 236.7 kbit/s, computed with Equation (2). Figure 13: Maximum throughput of a Bluetooth Low Energy link for various _connInterval_ (ranging between 7.5 ms and 4000 ms) and BER values (ranged from zero to \(10^{-3}\)): simulation (symbols) vs. analysis (lines). The simulation has been performed using 1,000,000 _connEvents_ per each parameter set. Adapted from [65]. Nevertheless, the effective bitrate in common applications appears to be hardly lower than the estimated one, due to HW and firmware (FW) limitations. Indeed, especially in smartphones and tablets, the BLE chip is usually in the same Integrated Circuit (IC) of Wi-Fi and BR/EDR, and this implies a loss of performances if the three technologies are used simultaneously. Moreover, how the different vendors implement the BLE stack protocol in the FW influences the maximum number of packet per _connInterval_ and also the minimum value that the _connInterval_ can assume. For example, most Android devices supports \(\sim\)4 packets per _connInterval_, while most iOS devices supports up to six packets and a minimum _connInterval_ of 20 ms [66], both depending on the specific device and operating system. Moreover, several producers of BLE controllers put a limitation on the maximum data packets sent per _connInterval_. For example, the BLE radio nRF51822 [67], developed by Nordic Semiconductor, can transmit up to six data packets per _connInterval_, making the maximum data rate limited to \(\sim\)125 kbit/s [52]. In the SW simulator by STMicroelectronics [68], it is estimated how many data packets a BLE link, composed of BlueNRG-MS boards [69], can send per _connInterval_. This IC can send nine packets in a _connInterval_ of 7.5 ms, which means it can reach a throughput of \(\sim\)192 kbit/s; still, this value can be assumed as the upper bound of the bitrate, while the actual throughput is probably lower, due to other operations that the processor does in parallel.