This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Data Rate Measurment

Hello all. while trying to calculate the data rate from bluetooth low energy , i have two questions

  1. Is there a possibility to measure the data rate by using nrf sniffer? I tried using sniffer but in wireshark i found only advertisement packets.
  2. Then i tried master control pannel for calculating data rate., From the tests i have done these are the results For connection interval of 100 ms (i did min rate and max rate are same) i get 92 packets in the first trial and 100 packets in the second trail For connection interval of 50 ms (Min rate = Max rate ), i got 30 packets in first trail 25 packets in second trail 12 packets in third trail 31 packets in fourth trail 25 packets in fifth trail

Then i changed Min connection interval to ((X/2) * 1.25 ) and max connection interval to (x/2) * 2 here x is macro value when x=80 ; and writing interval is 10ms(writing interval is time interval where data is written to ble buffers in nordic) data rate is 60 packets , for x=80 and writing interval is 1ms then data rate is 300 packets for x= 40 and writing interval is 10 data rate is 120 packets, and for writing interval is 1 ms data rate is 250 packets.

There is no consistency when ever we are taking the reading. From this i want to know how many buffers are present in nordic ble and is there any way to calculate the data rate because in master control pannel the resolution is 100 ms. Thank you

Parents
  • Hi

    The packet rate depends on at least two factors:

    • connection interval
    • how many packets are sent in each connection interval

    The softdevice has buffer for 7 packets per link, so if you fill up the buffers constantly, you should be seeing the maximum packet rate achievable.

    It is different from central to central device how many packets they can receive in each interval and what minimum connection interval they support, see this thread.

    It also depends on what transfer method you choose, how much packet rate you will get, see this blog.

    In various example codes, connection interval is updated some time after a connection is established, or some time after server notifications are enabled ("Enable Services" on Master Control Panel), see this thread. This might be one of the causes that you do not see consistency in the packet rate.

    There is a data throughput test firmware here, that could be handy to try out.

    Hopefully, this will get you back on track. Otherwise, let me know.

    Update 12.3.2015 I have tested the throughput with the througput test firmware I pointed to earlier and the Master Control Panel. I get 47,060 bps in my test when the Master Control Panel has the default connection interval of 20ms. That is very close to the theoretical maximum when sending 6 packet per connection interval and each packet containing the maximum of 20 bytes

    1/0.02 connInt/second * 6 packets/connInt * 20 bytes/packet * 8 bits/byte = 48,000 bps
    

    If I go to File -> Options in the Master Control Panel and configure the connection interval to the minimum of 7.5ms, then I get 114,633 bps throughput. The theoretical maximum is:

    1/0.0075 connInt/second * 6 packets/connInt * 20 bytes/packet * 8 bits/byte = 128,000 bps
    

    I am not sure why the throughput is ~10% less than the theoretical maximum in my case. For now I suspect two of the following:

    • I have carried out this test with second revision nRF51 harware (see the nRF51 compatibility matrix to identify second revision harware chips), which has limited CPU time when sending 6 packets per connection event and the connection interval is 7.5ms. The CPU is blocked for about 6ms during the radio event when sending 6 packets, so there is only 1.5ms left for the application to process data before each radio event. It might be that the available application CPU time is not sufficient. The latest third revision nRF51 hardware does however not block the radio during the whole radio event, and therefore might have better throughput performance in this case.

    • I am in an environment with a lot of BLE radio activity. Perhaps packet collision is causing some packets to be lost, which requires occasional re-transmission of packets, therefore it is possibly degrading the throughput.

    Update 12.5.2015 I test the maximum througput again now with second revision nRF51 and I get the expected 128.000 kbps, so I suspect that the ~10% degraded throughput that I measured in March was because an extensive BLE/2.4GHz radio activity at that time in my office.

  • I think the master emulator firmware v0.9 had a limitation of 1 packet per connection interval. The master emulator firmware v0.10 can however handle up to 6 packets per connection interval and 7.5ms connection interval.

Reply Children
No Data
Related