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

Packet reception at Receiver - How to tell if a retransmission, multipath or something else?

I am doing some experiments where I send use 2 nrf52840 DKs in a closed setup. Packets are advertised over channel 37, 38, 39 and I am looking at the RSSI values and some other stuff. 

Now my question: I would expect to receive the packets mostly in the same order: 37, 38, 39. However, sometimes it can happen that I get the values of one channel two or more times. (e.g. 37 (rssi..), 38 (rssi..), 39 (rssi..), 37, 38, 38, 39... So two times a packet from channel 38. Is it possible to tell if it was a retransmission or just simply a multipath signal?

My setup is a harsh environment, where there are a lot of reflections, and the distance is rather small (within 1.5 m). So I definitely would expect that some of the received packets are such multipath reflections. 

Parents
  • Hi

    What kind of device are you using on the receiving end? Another nRF52840DK?

    Most scanner devices (like the nRF52) are only able to scan on one channel at the time, and will cycle through the three channels based on the scan interval setting. Say you have a scan interval of 100ms and a scan window of 10ms the scanner will first scan for 10ms on channel 37, then wait for 90ms, scan for 10ms on channel 38, wait again, and so on. 

    In other words, of the three packets sent by the advertiser the scanner will only receive the one that matches the channel it is currently on. 

    If multiple advertisers are able to advertise while the scanner is active on one channel you will get multiple advertising reports on that channel, before the scanner switches to another channel. 

    Regarding multipath reflections, keep in mind that radio waves travel at the speed of light, and any reflected signal will arrive at the receiving end almost at the same time as the direct signal (we are talking a difference only in the tens of nanoseconds at these distances).  

    The carrier frequency of the multipath signal could have a different phase than the direct signal because of this delay, which can lead to a weaker input in the receiver (worst case the multipath signal will cancel out the direct signal if its 180 degrees out of phase, leading to a lost packet), but it will never be received twice. 

    Best regards
    Torbjørn

  • Yes, i am using one nrf52840 DK as advertiser, the other one as receiver. So only those two devices are in my setup. 

    Thanks for the other input. I already realized that multipath regarding message reception is not really an issure here. However, I still cannot explain why I get a message twice and sometimes even three times on the same channel at the receiver.

    (Sample output: CH 37 (RSSI), CH 38 (RSSI), CH 38 (RSSI), CH 39 (RSSI) where I would expect CH 37, 38, 39. The RSSI for the channel is ofc the same)

    Do you maybe know what the reason for this is? Is it a retransmission, or why are there two packets on the same channel, if it should advertise only one. 

  • Hi 

    Can you let me know which advertising and scanning settings you are using? 

    Such as the advertise interval, scan interval and scan window?

    Best regards
    Torbjørn

  • I am using the ble_app_uart_c / ble_app_uart as my base program. I didnt change the intervals and scan windows there. 

Reply Children
  • Hi 

    In that case you should be using an advertising interval of 40ms, and a scan interval and window of 100ms and 50ms respectively. 

    In this case it makes sense that you would occasionally receive two packets on the same channel, since the scan window is longer than the advertise period. 

    Try to make the advertise interval shorter and this should be even more apparent, then you will receive multiple advertise packets on the same channel each time the scanner is scanning. 

    This picture illustrates this quite well. Note how the scanner is always scanning on a single channel at the time, while the advertiser sends the same packet quickly on all three advertising channels:

    image description

    In the example above the scan window is also longer than the advertising interval, leading to the first two advertising packets being received (marked by the orange squares) both being received on channel 37. 

    Best regards
    Torbjørn

  • Ok great, thanks for clarifying! I was already suspecting this, but I initally did not check the scanning times and intervals, since this behavior does not physically affect my experiments.

  • I'm happy to help. I will consider the case closed then, unless you have more questions Slight smile

Related