Exercise: Sensing a channel

The preamble of the transmitted frame is used by the receiver to find the frequency the sender is using. This implies checking the RSSI before the packet can be received. The problem by measuring the RSSI is to determine, if the signal level is caused by the sender or if it only represents the noise level of the channel. In this excessive this distinction has to be made. And of course, do not forget to disable preamble recognition at the receiver (the a look at CC1200 Users Guide).

Requirements

This task requires

  • a ready BeagleBone Black equipped with the CC1200.
  • 4C attached to a second BeagleBone Black equipped with the CC1200.

Tasks

  • the programming is done by extending the source files from the previous lesson Exercise: Changing the frequency.
  • Extend your program by a function that measures the RSSI prior to packet reception. A packet should only be received, if a valid RSSI from the sende is detected. What means a valid RSSI ?
  • Don't forger to disable preamble recognition at the receiver.
  • For testing, start your program.
  • Use SmartRF Studio to transmit packets at the RF frequency (do not forget to change the symbol rate and preamble count in SmartRF Studio).
  • Your program should recognize a valid RSSI and start receiving packets.
  • Now, change RF to a frequency the receiver is not using. Stopping and restarting the transmitter ist not necessary.
  • At the receiver, the BeagleBone Black, you should now measure no valid RSSI and therefore no packet will be received.
  • Now, change the frequency of SmartRF Studio back to your selected frequency.
  • Now, you should be able to receive the packets again.

Hints

  • To determine a valid RSSI caused by the sender. Measure the RSSI of the noise level in a training phase at the beginning of your program. Make sure, that the sender is not transmit anything.
network_protocol_programming_lab/channel_sensing.txt · Last modified: 2021/04/19 12:41 by rathke
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0