Throughput

Background

There are several factors that affect the observed throughput of Xpress Streaming Service data:

Note: The BGX automatically retransmits all corrupted packets without any intervention from the host MCU.

Results

Note: For a given set of test conditions, the throughput results in each direction (Central-to-Peripheral or Peripheral-to-Central) are the same unless Direction is specified as a column in the throughput table.

BGX-to-BGX

Both the Central and Peripheral are BGX13 devices.

The last column in each table displays the throughput numbers for a given Central Write Mode (ce w m) setting.

Table 1.1. BGX-to-BGX: BLE Connection Interval = 7.5 ms (bl c i = 6)

Phyce w m = ack
2 Mbps131 kbit/s
1 Mbps131 kbit/s
Coded (S=2)88 kbit/s
Coded (S=8)33 kbit/s

Table 1.2. BGX-to-BGX: BLE Connection Interval = 30 ms (bl c i = 24)

Phyce w m = noack
2 Mbps1000 kbit/s
1 Mbps600 kbit/s
Coded (S=2)225 bit/s
Coded (S=8)31 kbit/s

Android-to-BGX

The Central is an Android mobile device and the Peripheral is a BGX13.

The last column in each table displays the throughput numbers for a given Write Mode (ack or noack) setting.

Table 2.1. Android-to-BGX: BLE Connection Interval = 11.25 ms (bl c i = 9)

PhyDirectionWrite Mode = ack
2 MbpsBGX-to-Android87 kbit/s
2 MbpsAndroid-to-BGX80 kbit/s
1 MbpsBGX-to-Android87 kbit/s
1 MbpsAndroid-to-BGX80 kbit/s

Table 2.2. Android-to-BGX: BLE Connection Interval = 30 ms (bl c i = 24)

PhyWrite Mode = noack
2 Mbps1000 kbit/s
1 Mbps600 kbit/s

iOS-to-BGX

The Central is an iOS mobile device and the Peripheral is a BGX13.

The last column in each table displays the throughput numbers for a given Write Mode (ack or noack) setting.

Table 3.1. iOS-to-BGX: BLE Connection Interval = 15 ms (bl c i = 12)

PhyDirectionWrite Mode = ackWrite Mode = noack
2 MbpsBGX-to-iOS-575 kbit/s
2 MbpsiOS-to-BGX48 kbit/s575 kbit/s

Version Information

BGX

All throughput testing was performed on BGX13 Firmware Version 1.1.1524.1.

See the Release Notes page for firmware version information.

Android

Android testing was performed with the following devices:

iOS

iOS testing was performed with the following devices:

Methodology

BGX-to-BGX

BGX-to-BGX throughput test is performed as follows:

  1. The Test PC is connected to the serial ports of two BGX devices.
  2. The two BGX devices establish a BLE connection to each other.
  3. The Test PC transmits 64 kBytes of data to the transmitting BGX via the serial port.
  4. The Test PC receives the 64 kBytes of data back from the receiving BGX via the serial port.
  5. The Test PC validates that the received data matches the transmitted data and uses the time elapsed between steps 3 and 4 to calculate the throughput.
  6. Because throughput numbers can vary significantly with RF interference, steps 3 - 5 are performed multiple times for each test case.

The BGX devices are configured with:

The following settings are configured on a test-by-test basis in order to generate a matrix of throughput values:

Android-to-BGX

Android-to-BGX throughput test is performed as follows:

  1. The Test PC device is connected to the serial port of the BGX device.
  2. The Android device (acting as Central) establishes a BLE connection to the BGX (acting as Peripheral).
  3. The Test PC transmits 64 kBytes of data to the BGX via the serial port.
  4. The Android device receives the 64 kBytes of data from the BGX via BLE.
  5. The Test PC measures the elapsed time between transmission of the first and last bytes of data to the BGX via the serial port. The Android device measures the amount of elapsed time between reception of the first and last bytes of data via BLE. These times are used to generate throughput values, and the lower of the two throughput values is recorded.
  6. The Android device transmits 64 kBytes of data to the BGX via BLE.
  7. The Test PC receives the 64 kBytes of data from the BGX via the serial port.
  8. The Android device measures the elapsed time between transmission of the first and last bytes of data to the BGX via BLE. The Test PC measures the amount of elapsed time between reception of the first and last bytes of data. These times are used to generate throughput values, and the lower of the two throughput values is used.
  9. Because throughput numbers can vary significantly with RF interference, steps 3 - 8 are performed multiple times for each test case.

The BGX device is configured with:

The following settings are configured on a test-by-test basis in order to generate a matrix of throughput values:

Note: The minimum allowed BLE Connection Interval (bl c i) on Android is 11.25 ms, so that value was used instead of the BGX's minimum value of 7.5 ms for Acknowledged Write Mode testing.

iOS-to-BGX

iOS-to-BGX throughput test is performed as follows:

  1. The Test PC device is connected to the serial port of the BGX device.
  2. The iOS device (acting as Central) establishes a BLE connection to the BGX (acting as Peripheral).
  3. The Test PC transmits 64 kBytes of data to the BGX via the serial port.
  4. The iOS device receives the 64 kBytes of data from the BGX via BLE.
  5. The Test PC measures the elapsed time between transmission of the first and last bytes of data to the BGX via the serial port. The iOS device measures the amount of elapsed time between reception of the first and last bytes of data via BLE. These times are used to generate throughput values, and the lower of the two throughput values is recorded.
  6. The iOS device transmits 64 kBytes of data to the BGX via BLE.
  7. The Test PC receives the 64 kBytes of data from the BGX via the serial port.
  8. The iOS device measures the elapsed time between transmission of the first and last bytes of data to the BGX via BLE. The Test PC measures the amount of elapsed time between reception of the first and last bytes of data. These times are used to generate throughput values, and the lower of the two throughput values is used.
  9. Because throughput numbers can vary significantly with RF interference, steps 3 - 8 are performed multiple times for each test case.

The BGX device is configured with:

The following settings are configured on a test-by-test basis in order to generate a matrix of throughput values:

Note: The minimum allowed BLE Connection Interval (bl c i) on iOS is 15 ms, so that value was used instead of the BGX's minimum value of 7.5 ms for Acknowledged Write Mode testing.

Note: As of iOS version 12.2 (16E227), the iOS device cannot configure the Xpress Streaming Service's Tx Characteristic for Indications, so the BGX cannot be set to use Acknowledged (ack) writes in the BGX-to-iOS direction.

Note: As of iOS version 12.2 (16E227), iOS applications cannot configure the BLE PHY. iOS always uses the 2M PHY if available, so 1M PHY testing was not performed.