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

ESB with different frequency

Hi! I have used NRF52832 on PCA10040. I want use several pair (master and slave) in one room. For this I try to select a different frequency for each pair. But, when I try to make this, I have some problem.

Case: one ESB master and one ESB slave. Master send always packet at channel 2 (2402 MHz). Slave listen each channel 25ms and after make a list of all frequencies with received packets and average RSSI.

  • Channel = 1; Count Packet = 76; RSSI = 31
  • Channel = 2; Count Packet = 79; RSSI = 23
  • Channel = 3; Count Packet = 78; RSSI = 22
  • Channel = 18; Count Packet = 3; RSSI = 80
  • Channel = 50; Count Packet = 7; RSSI = 78
  • Channel = 51; Count Packet = 1; RSSI = 78
  • Channel = 66; Count Packet = 49; RSSI = 75
  • Channel = 67; Count Packet = 20; RSSI = 73
  • Channel = 90; Count Packet = 44; RSSI = 74

How it is possible? And what strategy of selecting channels can I used for normal working of all pairs?

  • I think what butch suggested is correct. You use different channel and different address for each pair. Doesn't matter which pipe you use on each of the pair, it's the address (Base address 0 for example) that's matter. There will be crosstalk between channels. But if you use channels that's far enough from each other, you can reduce crosstalk. The signal on the correct channel on the receive will be stronger than the crosstalk signal from other channel.

    You should also try to reduce the on-air time as much as possible to avoid interference.

    If you use different address for each pair, there shouldn't be any crosstalk (but there still interference causing packet loss)

  • Ok, I try make this. But there are channels, which haven't interference. It is possible find, for example, five independent channels for minimize crosstalk and noise?

  • I'm not entirely sure on how channel crosstalk works but I would suggest to divide the 100 channel into X (=5) equal parts and then uses the channel at the start of each part.

  • I know this is a very old post, but I stumbled over the phenomenon (receiving at channel 0 packets from channel 80, so here is my interpretation:

    The radio listens on a channel and tries to capture an address event. As long as it does not capture an address event from the wrong channel, a packet from the chosen channel will almost always be strong enough to dominate the crosstalk and will be received. But once an expected address is parsed from a crosstalk channel, the receiver clock is running and the radio will not be available for reception from the chosen channel.

    As to the example, an RSSI of -23 in channel 2 and -22 in channel 3 suggests a crystal that may be a bit off, but in any case it means that you have a VERY short distance between the sender and the receiver. At any reasonable distance, your RSSI would have fallen somewhat and with it, the chances of receiving in the other channels. The spec says -56dB attenuation when you are more than 3 MHz away.

    However, this does not explain why you capture crosstalk better on some channels, even far away, than on other channels. The explanation to this is probably in the GFSK modulation and the sampling of the radio, in particular when the sampling and the modulation are in some favourable harmonic relationship. You certainly observe that all distant channels in the list are in multiples of 8MHz distance from the base channel and that the best group (66/67) is in a 64MHz distance. If you sample at 8MHz without anti-aliasing, you see the same phase relations of samples if you are a multiple of 8Mhz off. The antialiasing filter (if there is one) does not reduce these phase relations to the noise level and you can still capture packets. 

    In summary, there is no simple way to chose channels to avoid crosstalk. The best advice was not only to select different channels but also use different addresses in the different channels in a proprietary protocol in order to avoid collisions.

Related