This page provides setup and calibration instructions for the presence calibration requirements for devices running Android 13 and higher.
Background
To ensure that users' smart devices work well together, it's critical that all devices in the Android ecosystem can determine the relative proximity between devices. Android 13 introduces presence calibration requirements that outline the acceptable performance of available radio technologies such as UWB, Wi-Fi, and BLE that are used to determine proximity. This page describes the calibration standards that devices must follow to ensure interoperability between devices in the ecosystem.
Reference device
To calibrate your device to meet the presence requirements, use one of the following reference devices for all calibrations.
- (Recommended) A calibration device such as LitePoint
- A mobile device (if using this option, the Pixel 6 is recommended.)
Form factors
The presence calibration requirements apply to Android devices of all form factors. For form factors other than mobile phones, to determine the appropriate calibration setup for the device, consider how a user holding a mobile phone (reference device) would be positioned when interacting with the device under test (DUT). For example, when calibrating a TV, place the TV and the mobile phone at an appropriate distance from each other and orient the mobile device so it's facing the front center of the TV screen.
UWB requirements
This section describes how to calibrate your device to meet these UWB requirements in the CDD:
If device implementations include UWB hardware, then they:
- [C-1-1] MUST ensure the distance measurements are within +/-15 cm for 95% of the measurements in the line of sight environment at 1m distance.
- [C-1-2] MUST ensure that the median of the distance measurements at 1m from the reference device is within [0.75m, 1.25m], where ground truth distance is measured from the top edge of the DUT held face up and tilted 45 degrees.
Requirement [C-1-1]
To verify requirement [C-1-1]:
- Take 1000 measurements with the device under test (DUT) at 1 m distance from the reference device in a non-reflective chamber in a line of sight environment.
- Sort the 1000 measurements in ascending order.
- Compute the range as [range = 975th measurement - 25th measurement].
- Report the range in the CTS Verifier. To pass, the range must be less than 30 cm.
- Report the reference device used.
Requirement [C-1-2]
Verification
To verify requirement [C-1-2]:
- Keep the DUT at a 45 degree tilt (an approximation of how a user holds device in their hands). If using another mobile device as a reference device (instead of a calibration device), position the reference device upright (portrait) and ensure that both DUT and reference device are facing the same direction.
- Take 1000 measurements with the DUT at 1 m distance from the reference device in a non-reflective chamber in a line of sight environment.
- Sort the values in ascending order.
- Report the median value (500th) in the CTS Verifier. To pass, the value must be within [0.75 m, 1.25 m].
- Report the reference device used.
Wi-Fi Neighbor Awareness Networking requirements
This section describes how to calibrate your device to meet these Wi-Fi Neighbor Awareness Networking (NAN) requirements in the CDD:
If devices support WiFi Neighbor Awareness Networking (NAN) protocol by declaring
PackageManager.FEATURE_WIFI_AWARE
and Wi-Fi Location (Wi-Fi Round Trip Time — RTT) by declaringPackageManager.FEATURE_WIFI_RTT
, then they:
[7.4.2.5/H-1-1] MUST report the range accurately to within +/-1 meter at 160 MHz bandwidth at the 68th percentile (as calculated with the Cumulative Distribution Function), +/-2 meters at 80 MHz bandwidth at the 68th percentile, +/-4 meters at 40 MHz bandwidth at the 68th percentile, and +/-8 meters at 20 MHz bandwidth at the 68th percentile at distances of 10 cm, 1 m, 3 m, and 5 m, as observed via the WifiRttManager#startRanging Android API.
[7.4.2.5/H-SR] Are STRONGLY RECOMMENDED to report the range accurately to within +/-1 meter at 160 MHz bandwidth at the 90th percentile (as calculated with the Cumulative Distribution Function), +/-2 meters at 80 MHz bandwidth at the 90th percentile, +/-4 meters at > 40 MHz bandwidth at the 90th percentile, and +/-8 meters at 20 MHz bandwidth at the 90th percentile at distances of 10 cm, as observed via the WifiRttManager#startRanging Android API.
Requirement [7.4.2.5/H-1-1]
To verify requirement [7.4.2.5/H-1-1]:
For the 160 mhz band, take 1000 ranging measurements at each of the ground truth points of 10cm, 1 m, 3 m, and 5 m.
For each point:
- Calculate the error by subtracting the ground truth (point) from the measurement value.
- Sort the the errors in ascending order.
- Report the median error (500th measurement) in the CTS Verifier.
- Take the absolute value of the errors, and sort again.
- Compute the 68th percentile as 680th value.
- Report it in the CTS Verifier. To pass, the range must be less than 2 m.
Report the reference device used.
Repeat steps 1 to 3 for other bands as specified in the CDD requirements.
BLE RSSI requirements
This section describes how to calibrate your device to meet these BLE RSSI requirements in the CDD:
If device implementations declare
FEATURE_BLUETOOTH_LE
, they:
- [C-10-1] MUST have RSSI measurements be within +/-9dBm for 95% of the measurements at 1m distance from a reference device transmitting at
ADVERTISE_TX_POWER_HIGH
in line of sight environment.- [C-10-2] MUST include Rx/Tx corrections to reduce per-channel deviations so that the measurements on each of the 3 channels, on each of the antennas (if multiple are used), are within +/-3dBm of one another for 95% of the measurements.
- [C-SR] Are STRONGLY RECOMMENDED to measure and compensate for Rx offset to ensure the median BLE RSSI is -60dBm +/-10 dBm at 1m distance from a reference device transmitting at
ADVERTISE_TX_POWER_HIGH
, where devices are oriented such that they are on 'parallel planes' with screens facing the same direction.- [C-SR] Are STRONGLY RECOMMENDED to measure and compensate for Tx offset to ensure the median BLE RSSI is -60dBm +/-10 dBm when scanning from a reference device positioned at 1m distance and transmitting at
ADVERTISE_TX_POWER_HIGH
, where devices are oriented such that they are on 'parallel planes' with screens facing the same direction.
Calibration setup
Use the following setup to calibrate your device to meet the BLE RSSI requirements.
General setup requirements
- The calibration SHOULD be performed in an anechoic chamber. Alternatively, the two tripods holding the reference device and the DUT device can be set up 1.5 meters from the ground.
- The tripods MUST be nonmetallic.
- The device holders MUST be nonmetallic.
- There MUST be no metal objects within 1 m from the DUT and the reference device.
- The reference device and all DUTs MUST be at least 50% charged.
- The reference device and the current DUT MUST be unplugged during testing.
- The reference device and the DUTs MUST NOT have cases, attached wires, or anything else attached that might affect radio frequency (RF) performance.
Orientation requirements
- The reference device must be oriented in portrait mode.
- If another mobile device is used as a reference device (as opposed to using a calibration device), the DUT and the reference device MUST be oriented so that they're facing the same direction.
Figure 1. Reference setup for BLE calibration
Requirement [C-10-1]
To verify requirement [C-10-1]:
- Take 1000 scan measurements with the DUT.
- Sort the values in ascending order.
- Compute the range as [range = 975th measurement - 25th measurement].
- Report the range in the CTS Verifier. To pass, the range must be less or equal to 18 dBm.
- Report the reference device used.
Requirement [C-10-2]
To verify requirement [C-10-2], work with your chip vendor. The chip vendor can measure the channel flatness and identify the differences between cores and channels. The following are tips on how to identify issues with uncalibrated cores and uncalibrated channels, which are two possible causes of large RSSI spread.
Uncalibrated cores
If the device (BT antenna) has multiple cores, the cores might have different calibrations. Take some measurements (at least 1 minute worth) and check the scan data. If you see a pattern similar to the one shown in Figure 2, which has regular peaks (as indicated by the circles) due to scanning on multiple cores, there is likely to be an issue with uncalibrated cores and further investigation is required.
Figure 2. Example scan data for device with uncalibrated cores
Uncalibrated channels
Transmissions on the classic BLE happen on three channels. Each channel might have differences associated with it. The channels are rotated at fixed intervals. Take some measurements (at least 1 minute worth) and check the scan data. If you see a pattern similar to the one shown in Figure 3, there is likely to be an issue with miscalibration on different channels and further investigation is required.
Figure 3. Example of scan data for device with uncalibrated channels
[C-SR] Requirements
Even when the BLE radio chip is perfectly calibrated, the RSSI that a particular device observes depends on the antenna quality and the antenna placement on that particular product (device model). This presents a problem for interoperability between devices.
For example, consider a car unlock usecase. A developer might want to unlock the car when the device is within 1 meter from the car. The developer chooses a threshold of -60 dBm based on their observations with the phone. But due to differences in antenna quality and antenna placement, this might not work well with another Android device even if both devices use the same chip.
For interoperability between all devices in the ecosystem, it's strongly
recommended to measure the Rx offset for each device and adjust the RSSI
reported on the device to ensure that the BLE RSSI meets the standard of
1 m at ADVERTISE_TX_POWER_HIGH
.
To verify the Rx requirement:
- Take 1000 scan measurements with the DUT.
- Sort the values in ascending order.
- Report the median (500th value) in the CTS Verifier. To pass, the median value must be in the [-50, -70] dBm range.
- Report the reference device used.
Even when the BLE radio chips are perfectly calibrated, the ideal receiver reads different RSSI depending on the antenna quality and antenna placement on the advertising product. The Rx requirement ensures that all devices are able to advertise with the same resulting strength, all else being equal.
To verify the Tx requirement:
- Start BLE advertisement on DUT and take 1000 scan measurements with the reference device.
- Sort the values in ascending order.
- Report the median (500th value) in the CTS Verifier. To pass, the median value must be in the [-50, -70] dBm range.
- Report the reference device used.