Nordic Semiconductor

How to measure Bit/Packet Error Rate (BER/PER) on the nRF24L01?


There is no test mode/direct mode that allows you to measure the BER (bit error rate) directly, but there are some ways to get a good indication of the sensitivity limit and PER (packet error rate).

First here is some general information on how BER behaves:

-The sensitivity limit is defined as the received signal strength gives a BER of 0.1%.
- To measure the BER, the amplitude of the received signal is adjusted so that the bit error rate is 1:1000 (0.1 %). Since we do not have direct accesss to the nRF24L01 demodulated bitstream, the easiest way is to measure the packet error rate (PER), and calculate the bit error rate (from the packet length). The formula for the packet error rate (PER) is 1-(0.999^N), where N is the number of bits in the data packet.

Here is the easy way to get an indication of the sensitivity limit:

- You use two evaluation boards and a variable attenuator between the RX and TX board (with SMA connector). Increase the attenuation until you start to loose packets (% depending on the payload size). It is recommended to put either the transmitter board or the receiver board in a shielded box. The total attenuation from the attenuator + cable should now be close to the sensitivity limit, since the output power is 0dBm. Measure the packet error rate by finding the ratio between transmitted and received packets (for instance, transmit 10000 packets, and see how many are received). The sensitivity test should be performed in standard ShockBurst mode (not using ACK/retransmission enabled).

The other option is a bit more difficult, but give a more accurate BER:

-Setup a RF generator to transmit packages continuously to a RX. The RF generator (and RX) is setup in standard ShockBurst mode, with preamble (10bit), short address (3byte), max payload size (32byte) and no CRC. The MCU on the RX reads all packages received and compare to the original payload. The number of bits wrong give pretty accurate BER. It should be done over at least 10000 bits (256bits in each packet, means >40packets) to get a good indication of the BER.

eZ Publish™ copyright © 1999-2018 eZ Systems AS