Rx sencitivity test for nRF52832 module using radio_test functionalities

Hi Nordic,

I have learned about both the DTM and radio_test example source code. For our prototype tests, I think the latter may be better for us. 

I have tried to wirte the test application software  (run on nrf52832) based on the functionalities which radio_test.c provides. 

For the BER test,  I tested following the below steps:

1. transmitter sends out  1000 pre-defined packets (no crc)

2. receiver tries to receive the packets, and calculate the BER and output the result to the computer.

My questions are:

1.  At my application software, I use (NRF_RADIO->EVENTS_END == 1U) to check if a packet is received, is that right?

2. If the application software didn't get all the 1000 packets, how to calculate the BER?  I mean  should bits of the lost packets be included as the error bits while calculating BER ,  which calculation method is right?

(1). BER = (# of error bits included in the received packets) / (# of bits of received packets)  

(2). BER = ( (# of error bits included in the received packets) + (# of bits of lost packets)) / (# of bits of 1000 packets)

(3). BER =  ( (# of error bits included in the received packets) / (# of bits of 1000 packets)

3. If the bit error happens in the length field, such as the received value of the length is smaller than the actual value, so the number of bytes

of the received packet is smaller than the actual value. On this situation, the lost bits of the packet should be included as the error bits while calculating the BER? 

4. I want to know the reasons that the receiver lost the packets (no crc). My understanding is that if the receiver lost the preamble,

the packet will be lost. Also if the receiver dismatched the address, the packet will be discarded and will not be delivered to the easyDMA.

My understanding is right?

5. How to test the PER? just calculate it from the BER using the formular  per=1-(1-ber)^bits ?

OR transmitter sends out the packets together with CRC and the receiver check if the received crc is right and count the good packets?

Thanks in advance!

Related