Bluetooth Radio interface
Bluetooth Low Energy technology operates in the same spectrum range (the 2.400–2.4835 GHz ISM band) as classic Bluetooth technology, but uses a different set of channels. Instead of the classic Bluetooth 79 1-MHz channels, Bluetooth Low Energy has 40 2-MHz channels.
Within a channel, data is transmitted using Gaussian frequency shift modulation, similar to classic Bluetooth’s Basic Rate scheme. The bit rate is 1 Mbit/s (with an option of 2 Mbit/s in Bluetooth 5), and the maximum transmit power is 10 mW (100 mW in Bluetooth 5). Further details are given in Volume 6 Part A (Physical Layer Specification) of the Bluetooth Core Specification V4.0.
Bluetooth Low Energy uses frequency hopping to counteract narrowband interference problems. Classic Bluetooth also uses frequency hopping but the details are different; as a result, while both FCC and ETSI classify Bluetooth technology as an FHSS scheme, Bluetooth Low Energy is classified as a system using digital modulation techniques or a direct-sequence spread spectrum.[
Advertising and discovery
BLE devices are detected through a procedure based on broadcasting advertising packets. This is done using 3 separate channels (frequencies), in order to reduce interference. The advertising device sends a packet on at least one of these three channels, with a repetition period called the advertising interval.
For reducing the chance of multiple consecutive collisions, a random delay of up to 10 milliseconds is added to each advertising interval. The scanner listens to the channel for a duration called the scan window, which is periodically repeated every scan interval.
The discovery latency is therefore determined by a probabilistic process and depends on the three parameters (viz., the advertising interval, the scan interval and the scan window).
The discovery scheme of BLE adopts a periodic-interval based technique, for which upper bounds on the discovery latency can be inferred for most parametrizations. While the discovery latencies of BLE can be approximated by models for purely periodic interval-based protocols, the random delay added to each advertising interval and the three-channel discovery can cause deviations from these predictions, or potentially lead to unbounded latencies for certain parametrizations.
All Bluetooth Low Energy devices use the Generic Attribute Profile (GATT). The application programming interface offered by a Bluetooth Low Energy aware operating system will typically be based around GATT concepts. GATT has the following terminology:
A device that initiates GATT commands and requests, and accepts responses, for example, a computer or smartphone.
A device that receives GATT commands and requests, and returns responses, for example, a temperature sensor.
A data value transferred between client and server, for example, the current battery voltage.
A collection of related characteristics, which operate together to perform a particular function. For instance, the Health Thermometer service includes characteristics for a temperature measurement value, and a time interval between measurements.
A descriptor provides additional information about a characteristic. For instance, a temperature value characteristic may have an indication of its units (e.g. Celsius), and the maximum and minimum values which the sensor can measure. Descriptors are optional – each characteristic can have any number of descriptors.
Some service and characteristic values are used for administrative purposes – for instance, the model name and serial number can be read as standard characteristics within the Generic Access service. Services may also include other services as sub-functions; the main functions of the device are so-called primary services, and the auxiliary functions they refer to are secondary services.
Services, characteristics, and descriptors are collectively referred to as attributes, and identified by UUIDs. Any implementer may pick a random or pseudorandom UUID for proprietary uses, but the Bluetooth SIG have reserved a range of UUIDs (of the form xxxxxxxx-0000-1000-8000-00805F9B34FB ) for standard attributes. For efficiency, these identifiers are represented as 16-bit or 32-bit values in the protocol, rather than the 128 bits required for a full UUID. For example, the Device Information service has the short code 0x180A, rather than 0000180A-0000-1000-… . The full list is kept in the Bluetooth Assigned Numbers document online.
The GATT protocol provides a number of commands for the client to discover information about the server. These include:
- Discover UUIDs for all primary services
- Find a service with a given UUID
- Find secondary services for a given primary service
- Discover all characteristics for a given service
- Find characteristics matching a given UUID
- Read all descriptors for a particular characteristic
Commands are also provided to read (data transfer from server to client) and write (from client to server) the values of characteristics:
- A value may be read either by specifying the characteristic’s UUID, or by a handle value (which is returned by the information discovery commands above).
- Write operations always identify the characteristic by handle, but have a choice of whether or not a response from the server is required.
- ‘Long read’ and ‘Long write’ operations can be used when the length of the characteristic’s data exceeds the MTU of the radio link.
Finally, GATT offers notifications and indications. The client may request a notification for a particular characteristic from the server. The server can then send the value to the client whenever it becomes available. For instance, a temperature sensor server may notify its client every time it takes a measurement. This avoids the need for the client to poll the server, which would require the server’s radio circuitry to be constantly operational.
An indication is similar to a notification, except that it requires a response from the client, as confirmation that it has received the message.
Bluetooth Low Energy chipset power consumption profiles with different configuration parameters, as per The Hitchhikers Guide to iBeacon Hardware by Aislelabs.
Bluetooth Low Energy is designed to enable devices to have very low power consumption. Several chipmakers including Cambridge Silicon Radio, Dialog Semiconductor, Nordic Semiconductor, STMicroelectronics, Cypress Semiconductor, Silicon Labs and Texas Instruments had introduced Bluetooth Low Energy optimized chipsets by 2014. Devices with peripheral and central roles have different power requirements.
A study by beacon software company Aislelabs reported that peripherals such as proximity beacons usually function for 1–2 years powered by a 1,000mAh coin cell battery. This is possible because of the power efficiency of Bluetooth Low Energy protocol, which only transmits small packets as compared to Bluetooth Classic which is also suitable for audio and high bandwidth data.
In contrast, a continuous scan for the same beacons in central role can consume 1,000 mAh in a few hours. Android and iOS devices also have very different battery impact depending on type of scans and the number of Bluetooth Low Energy devices in the vicinity. With newer chipsets and advances in software, by 2014 both Android and iOS phones had negligible power consumption in real-life Bluetooth Low Energy use.
Bluetooth 5 has introduced a new transmission mode with a doubled symbol rate. Bluetooth LE has been traditionally transmitting 1 bit per symbol so that theoretically the data rate doubles as well. However, the new mode doubles the bandwidth from about 1 MHz to about 2 MHz which makes for more interferences on the edge regions. The partitioning of the ISM frequency band has not changed being still 40 channels spaced at a distance of 2 MHz. This is an essential differences over Bluetooth 2 EDR which did also double the data rate but it is doing that by employing a π/4-DQPSK or 8-DPSK phase modulation on a 1 MHz channel while Bluetooth 5 continues to use just frequency shift keying.
The traditional transmission of 1 Mbit in the Bluetooth Basic Rate was renamed 1M PHY in Bluetooth 5. The new mode at a doubled symbol speed was introduced as the 2M PHY.
In Bluetooth Low Energy every transmission starts on the 1M PHY leaving it to the application to initiate a switch to the 2M PHY. In that case both sender and receiver will switch to the 2M PHY for transmissions.
This is designed to facilitate firmware updates where the application can switch back to a traditional 1M PHY in case of errors. In reality the target device should be close to the programming station (at a few meters).
Bluetooth 5 has introduced two new modes with lower data rate. The symbol rate of the new “Coded PHY” is the same as the Base Rate 1M PHY but in mode S=2 there are two symbols transmitted per data bit. In mode S=2 only a simple Pattern Mapping P=1 is used which simply produces the same stuffing bit for each input data bit.
In mode S=8 there are eight symbols per data bit with a Pattern Mapping P=4 producing contrasting symbol sequences – a 0 bit is encoded as binary 0011 and a 1 bit is encoded as binary 1100. In mode S=2 using P=1 the range doubles approximately, while in mode S=8 using P=4 it does quadruple.
The “LE Coded” transmissions have not only changed the error correction scheme but it uses a fundamentally new packet format. Each “LE Coded” burst consists of three blocks. The switch block (“extended preamble”) is transmitted on the LE 1M PHY but it only consists of 10 times a binary ‘00111100’ pattern.
These 80 bits are not FEC encoded as usual but they are sent directly to the radio channel. It is followed by a header block (“FEC Block 1”) which is always transmitted in S=8 mode.
The header block only contains the destination address (“Access Address” / 32 bit) and an encoding flag (“Coding Indicator” / 2 Bit).
The Coding Indicator defines the Pattern Mapping used for the following payload block (“FEC Block 2”) where S=2 is possible.
The new packet format of Bluetooth 5 allows transmitting from 2 up to 256 bytes as the payload in a single burst. This is a lot more than the maximum of 31 bytes in Bluetooth 4.
Along with reach measurements this should allow for localisation functions. As a whole the quadrupled range – at the same transmission power – is achieved at the expense of a lower data being at an eighth with 125 kBit.
The old transmission packet format, as it continues to be used in the 1M PHY and 2M PHY modes, has been named “Uncoded” in Bluetooth 5. The intermediate “LE Coded” S=2 mode allows for a 500 kBit data rate in the payload which is both beneficial for shorter latencies as well lower power consumption as the burst time itself is shorter.