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

Coded vs 1Mbps PHY performance evaluation. Feedback requested

Hello,

I've been looking into the performance of the coded PHY (S8) to see if it fits the needs for a product we intend to make. All research and documentation I found about the long range feature of BT5 did not focus on relevant aspects for our situation. I would like to get some feedback on the results of the tests I have done with coded and 1Mbps PHY in a connected and non-connected scenario.

Let me first elaborate a bit about the details of this product so it's clear what the requirements are with regards to the Bluetooth communication.

The idea is to make an energy meter which send its captured data to some other device. This other device can then use the captured energy data for control purposes. For installation convenience the communication between both devices needs to be wireless. As being used in houses/buildings/vehicles the wireless communication should be as robust as possible, though this is difficult to quantify.

The energy data consist of Power, Voltage and Current (each 12 bytes payload) and is time critical. The maximum latency should not exceed 300ms (but preferred is below 100ms). The Power data should be received at a minium of 4Hz and the Voltage/Current should be received at a minimum of 1Hz. As there is no constraint on power usage of both devices, data may be transmitted at a higher rate than 4 Hz (to increase robustness).

As said, I've been testing the connected scenario and the non-connected scenario by using the nRF52840 PCA10056 both for sending and receiving. The connected scenario uses a 7.5 ms connection interval and data packets are sent 10 times/sec. In the non-connected scenario advertisement packets (BLE_PACKET_TYPE_ADV_NONCONN_IND) are transmitted every 20msec (thus 50 times/sec which as I understand is allowed for BT5).

In my test setup I store the number of received packets per second. This gives the following graph for the connected scenario (1Mpbs & S8 Coded):

For both coded and 1Mbps the same route in and around the house was taken. The Coded PHY was behaving better in terms of packetrate and disconnections. Still, from everything being said and promised about the long range feature I found the improvement in reallife a bit disappointing. The locations where 1Mbps disconnections happened were on the edge of the range, not way beyond the range. I expected that on those "on edge" locations, the coded PHY would not disconnect and would also not have a decrease in packet rate.

Then I cranked up the packets/sec to 90 and did some latency tests with coded PHY:

As expected, when the link budget decreases the retransmissions start to kick in and introduce latency. Although the latency in this graph is acceptable, it does show that when using the connected mode some kind of latency detection is required to filter out packets with a latency >300ms. 

The advantage of using non-connectable advertisement packets to convey the energy data, is that latency is automatically handled: either a packet is received (with no latency) or a packet is not received (and no retransmission). However the lack of retransmission also makes the system more prone to data loss I think:

1 Mbps PHY non-connectable test; TX 8dBm

Coded PHY non-connectable test; TX 8dBm

To be honest, I'm not impressed at all with the performance of the coded PHY when using non-connectable advertisements. Possibly there's a small performance gain, but the effect is minimal in the testing I've done.

To come to a conclusion, I would like to get some feedback from Nordic on the above results:

-What is Nordics experience when using coded PHY for non-connectable advertisment packets? Should it show the same improvements as seen in the connected scenario?

-In general, do you consider non-connectable advertisements less robust than a connection for conveying data with a low bitrate (but with latency requirements)?

-Does the lack of retransmissions (and possibly also due to only using the 3 advertisement channels instead of all channels) indeed negatively influence the range when using non-connectable advertisements

-Do you have quantifyable data you can share regarding 1Mbps vs S8 in and around buildings? So a more reallife scenario and not an optimized scenario without obstacles etc. Also, what to expect from the effective data bitrate and latency under such conditions?

-Any hints or feedback in general to improve the range under the given circumstances/requirements?

Parents
  • Hello Torbjørn,

    Thanks for your extensive feedback! Much of it is confirmation of what I thought might be the explanation (which is really good to know). Some of it is new:

    I was aware of the possible 'endless' retransmission issue with audio but I never coupled this to my problems. I had already been looking into the availability of a "flush timeout" on link level or something similar but was not able to find it. Controlling the number of retransmission would actually solve the latency problem in a very neat and simple way while still having the benefits from retransmission in noisy environment.

    Is or will the SDK S140 support BT5.2? I see that the 52840 is already 5.2 qualified but the nordic website only talks about 5.1 for S140. More important even, will the SDK allow the user to control the number of retransmission in a connection?

    I will also take a look at the QoS you mentioned. I was not aware that the channel map is not automatically changed based on the local interference. I thought this is something that was handled automatically by the baseband. It's worth investigating for the connected scenario to see if I can get some improvement using that.

    Yes the PA/LNA is also an option, but I guess that also means extra BT qualifcation effort. Currently we use a pre-qualified module which makes the whole BT qualification process pretty simple. Changing the implementation with respect to antenna and radio signal amplification I like to avoid if possible. If it's the only way to make it work then I will definitely look into it, but it's not a preferred option :-)

    BR

    Martijn

  • Hi Martin

    mkuiken said:
    Is or will the SDK S140 support BT5.2? I see that the 52840 is already 5.2 qualified but the nordic website only talks about 5.1 for S140. More important even, will the SDK allow the user to control the number of retransmission in a connection?

    We are not planning to update the SoftDevices beyond Bluetooth 5 unfortunately. 

    We are slowly migrating to a new software architecture called nRF Connect SDK (NCS), and will not focus on adding new features to the nRF5 SDK. 

    The Bluetooth stack in NCS does not support Bluetooth 5.2 yet, so I can't really comment on specifics.   

    mkuiken said:
    I will also take a look at the QoS you mentioned. I was not aware that the channel map is not automatically changed based on the local interference. I thought this is something that was handled automatically by the baseband. It's worth investigating for the connected scenario to see if I can get some improvement using that.

    The Bluetooth specification only specifies how to do a channel map update, not how often you should do it, or how you should identify which channels should be mapped out, so how this is handled varies greatly depending on the host used. 

    In the SoftDevice case it is up to the application to handle it. 

    mkuiken said:
    Yes the PA/LNA is also an option, but I guess that also means extra BT qualifcation effort. Currently we use a pre-qualified module which makes the whole BT qualification process pretty simple. Changing the implementation with respect to antenna and radio signal amplification I like to avoid if possible. If it's the only way to make it work then I will definitely look into it, but it's not a preferred option :-)

    I totally understand your viewpoint. Adding a PA adds significant complexity to the design, and will also complicate qualification work as you mentioned. 

    Do you have any timeline for when your product should be ready for production?

    Best regards
    Torbjørn

Reply
  • Hi Martin

    mkuiken said:
    Is or will the SDK S140 support BT5.2? I see that the 52840 is already 5.2 qualified but the nordic website only talks about 5.1 for S140. More important even, will the SDK allow the user to control the number of retransmission in a connection?

    We are not planning to update the SoftDevices beyond Bluetooth 5 unfortunately. 

    We are slowly migrating to a new software architecture called nRF Connect SDK (NCS), and will not focus on adding new features to the nRF5 SDK. 

    The Bluetooth stack in NCS does not support Bluetooth 5.2 yet, so I can't really comment on specifics.   

    mkuiken said:
    I will also take a look at the QoS you mentioned. I was not aware that the channel map is not automatically changed based on the local interference. I thought this is something that was handled automatically by the baseband. It's worth investigating for the connected scenario to see if I can get some improvement using that.

    The Bluetooth specification only specifies how to do a channel map update, not how often you should do it, or how you should identify which channels should be mapped out, so how this is handled varies greatly depending on the host used. 

    In the SoftDevice case it is up to the application to handle it. 

    mkuiken said:
    Yes the PA/LNA is also an option, but I guess that also means extra BT qualifcation effort. Currently we use a pre-qualified module which makes the whole BT qualification process pretty simple. Changing the implementation with respect to antenna and radio signal amplification I like to avoid if possible. If it's the only way to make it work then I will definitely look into it, but it's not a preferred option :-)

    I totally understand your viewpoint. Adding a PA adds significant complexity to the design, and will also complicate qualification work as you mentioned. 

    Do you have any timeline for when your product should be ready for production?

    Best regards
    Torbjørn

Children
No Data
Related