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

BLE Coded PHY Preamble and Range

I'm interested in BLE coded phy and am wondering how the improved range is realized given that the preamble is not coded.  In other words, how does the receiver have improved sensitivity when the preamble itself is not actually coded?  Related -- is the RSSI value provided by the softdevice calculated based on the preamble or a packet?  Put differently: should the RSSI value of a coded vs non-coded packet be similar at fixed range holding all other variables constant?

  • Hi

    Please check out this blog post for a thorough walkthrough of Long range BLE in the Coded PHY. Basically, the raw data is still transmitted at the rate of 1Mbps, but the data includes redundancy in the user data which brings down the rate to either 500 or 125 kbps, depending on the configuration used (the nRF52 series only support 125 kbps, or S=8). Redundancy allows the receiver to recover the original data from the errors that occur in the transmission using FEC (Forward Error Correction) algorithms rather than increasing transmit power, and the higher the redundancy, the higher the probability of recovering data.

    Best regards,

    Simon

  • Thanks -- I am familiar with this blog post and redundancy/FEC.  I think my questions still remains. The blog post states:

    "The Preamble is never coded, which allows the packet to be detected in any mode (Coded PHY, 1M PHY, or 2M PHY) before determining which mode was used for the remaining packet’s data."

    My question is given that the preamble is not coded, how does the receiver detect this preamble at increased range/lower sensitivity?  Additionally, is the RSSI value calculated based on the preamble of a packet, the entire packet, something else?

  • Hi

    The BLE Coded PHY preamble is 80 symbols in length (as stated in the blog post 80us in the preamble field), and contains 10 repetitions of the symbol pattern "00111100". So the preamble uses redundancy as well in order to make sure that the preamble is received even at longer ranges.

    Best regards,

    Simon

  • Ah ok that makes sense.

    How about the RSSI?  How is that calculated by the softdevice?  I notice (empirically) that the RSSI of coded/non-coded PHY is quite similar when using the example/DK provided by Nordic.

  • Hi

    The Coded PHY uses the 1MBPS PHYs symbol rate, but represents each bit with more than one symbol, in addition to adding the FEC to the packet. The output power never changes based on what PHY you have selected. and therefore the RSSI shouldn't change either. The RSSI is measured by the receiver and not transmitted by the advertising device, so if should not be different for PHYs at longer ranges either. With Coded PHY however, you have a -103 dBm sensitivity, while the 1MBPS PHY has sensitivity at -95dBm.

    The factors that are relevant for the RSSI value are transmit power, the antenna used to transmit, the environment that the signal "travels through" and the antenna used to receive the signal.

    Best regards,

    Simon

Related