Bluetooth Direct Test Mode

Good afternoon,

The product we are developing contains some radios among which an nRF54L15 chip. At the certification company this chip is undergoing different tests. One of the testcases is that the nRF54L15 is put into Bluetooth RX mode, and then communicates with another BLE device (an nRF54L15 devkit) which is put into Bluetooth TX mode, and that data is continuously transmitted from TX to RX device. The test engineer wants to check the Packet Error Rate (PER).

I found the "Bluetooth Direct Test Mode" on the Nordic docs which seems promising, since it specifically mentions that it can be used to measure PER:

I followed this guide and setup two nRF54L15 devkits (purely for testing purposes, I'm going to use our actual product when this works). I put one devkit into TX mode and the other into RX mode. Then with the Nordic DTM app I could see the amount of packets coming in. But I can't directly check the Packet Error Rate it seems.

My assumption is that to calculate PER I need both:

  • The amount of transmitted packets in a given time frame (which I can't view yet).
  • The number of received packets (which I can view in Nordic DTM app).

With those two values I could calculate PER. Am I understanding this correctly, or is there another way to obtain PER directly through the DTM setup?

Parents
  • Hi

    In the DTM measurement the transmitter is put in a mode where he periodically sends the configured test pattern (usually PRBS9) in a fix interval. The transmit interval depends on the packet length and the used phy. 

    The formula for the interval is defined as follows:
    I(L) = ceil((L + 249) / 625) * 625 µs

    L in the formula is length of the packet in us. It's calculation depends on the used phy and uses the number of payload bytes (=> b):
    1Mbit: L = 80 + (b * 8)
    2MBit: L = (88 + (b * 8)) / 2
    Coded S2: L = 462 + ((b * 8) * 2)
    Coded S8: L = 720 + ((b * 8) * 8)

    Afterwards the number of expected packets Pexp for the test duration can be calculated. For this the duration of the reception in us is required (=> t).
    Pexp = t / I(L)

    For PER caluclation the missing number of packets is divided by the expected packet number. Lets say the number of receive packets is c.
    PER = Pexp - c / Pexp


    Example with typical values:
    Phy: 1MBit
    Length: 37 Bytes
    Reception Duration: 1s
    Received Packet Count: 1570

    L = 80 + (37 * 8) = 376
    I(L) = ceil((376 + 249) / 625) * 625us = 625us
    Expected Packet Count: Pexp = 1000000 / 625 = 1600
    PER = (1600 - 1570) / 1600 = 0.01875 = 1.875%

    We have written our own DTM tool that can be used with devices compatible to the bluetooth specification and our own Bluetooth Tester product. There we calculate the PER for any measurement. I think that I've seen other DTM tools that do that the same way.

    Regards
    Adrian

Reply
  • Hi

    In the DTM measurement the transmitter is put in a mode where he periodically sends the configured test pattern (usually PRBS9) in a fix interval. The transmit interval depends on the packet length and the used phy. 

    The formula for the interval is defined as follows:
    I(L) = ceil((L + 249) / 625) * 625 µs

    L in the formula is length of the packet in us. It's calculation depends on the used phy and uses the number of payload bytes (=> b):
    1Mbit: L = 80 + (b * 8)
    2MBit: L = (88 + (b * 8)) / 2
    Coded S2: L = 462 + ((b * 8) * 2)
    Coded S8: L = 720 + ((b * 8) * 8)

    Afterwards the number of expected packets Pexp for the test duration can be calculated. For this the duration of the reception in us is required (=> t).
    Pexp = t / I(L)

    For PER caluclation the missing number of packets is divided by the expected packet number. Lets say the number of receive packets is c.
    PER = Pexp - c / Pexp


    Example with typical values:
    Phy: 1MBit
    Length: 37 Bytes
    Reception Duration: 1s
    Received Packet Count: 1570

    L = 80 + (37 * 8) = 376
    I(L) = ceil((376 + 249) / 625) * 625us = 625us
    Expected Packet Count: Pexp = 1000000 / 625 = 1600
    PER = (1600 - 1570) / 1600 = 0.01875 = 1.875%

    We have written our own DTM tool that can be used with devices compatible to the bluetooth specification and our own Bluetooth Tester product. There we calculate the PER for any measurement. I think that I've seen other DTM tools that do that the same way.

    Regards
    Adrian

Children
No Data
Related