This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Adaptive Frequency Hopping in Bluetooth Module

Other Parts Discussed in Thread: CC2567

Hello ,Please help me in finding answers to below queries.
  • How  BT module implement AFH?
  • When does the Bluetooth device scan (“sniff”) the frequency space to determine which channels to omit from the hopping sequence?
  • Is this done only at the time the devices are paired? Or is it done periodically every "x "seconds?
  • What criteria is used to determine whether a Bluetooth channel is to be removed from the hopping sequence?
  • Once a channel is removed from the hopping sequence, how long does it stay removed from the hopping sequence?
  • Does it stay removed until the devices are re-booted or re-paired? Or does it stay removed until a sub sequence “sniff” of that channel determines the channel is now clear for use? If so, what is the criteria used for denoting a channel as “clear for use”? Or is the channel added back into the hopping sequence automatically after x seconds?
  • Hi Jency,

    We are looking into this issue and will get back to you soon.

    Regards,

    ZH

  • Jency,

           Please find some comments below.

    Jency MS said:
      How  BT module implement AFH?

    Miguel said:
    The full AFH mechanism is followed per the BT specifications with a special "sauce" from TI. Please note that the slave(s) recommend(s) the mapping  but the master decides ultimately. The TI propietary solution provides a very fast AFH algorithm with minimum adoption time.

    Jency MS said:
      When does the Bluetooth device scan (“sniff”) the frequency space to determine which channels to omit from the hopping sequence?

    Miguel said:
    It occurs dynamically during a connection.

    Jency MS said:
      Is this done only at the time the devices are paired? Or is it done periodically every "x "seconds?

    Miguel said:
    Yes, it is done continuously while the connection is alive.

    Jency MS said:
      What criteria is used to determine whether a Bluetooth channel is to be removed from the hopping sequence?

    Miguel said:
    As mentioned early, it follows the BT specification from a system level where the slave recommends and master decides. In the case of TI devices, it accounts for different parameters in order to reduce adoption time, false interferers and other key features.

    Jency MS said:
      Once a channel is removed from the hopping sequence, how long does it stay removed from the hopping sequence?

    Miguel said:
     It depends on the scenario and environment conditions but it would usually be in the seconds range 

    Jency MS said:
      Does it stay removed until the devices are re-booted or re-paired? Or does it stay removed until a sub sequence “sniff” of that channel determines the channel is now clear for use? If so, what is the criteria used for denoting a channel as “clear for use”? Or is the channel added back into the hopping sequence automatically after x seconds?

    Miguel said:
    No, the AFH map is updated continuously during a connection. It depends on the scenario and environment conditions to decide when to remove or add a bad channel from the list .

    Regards,

    Miguel

  • Hi Miguel ,

    Thanks for the reply.

    I need little bit more clarification on this.

    We are planning to implement Bluetooth with Wi-Fi module, so eager to know how the performance of Bluetooth module degrade the performance of Wifi module.

    • Is any significantly degrade in Wi-Fi throughput when 30 Bluetooth devices are nearby transmitting data, It there any way to rectify it?

    Regarding the hopping sequence in Bluetooth module can you please comment on the below queries also.

    • Does the channel selection criteria is based on the received signal strength of the other RF devices (i.e. Wi-Fi and other interferers) on that channel frequency? If so, at what dB level does this “interference” need to be at for the Bluetooth device to omit that channel from its hopping sequence?
    • Or does AFH use bad packet reporting from the slave device on the piconet to determine which channels to remove from the hopping sequence? In other words, the master Bluetooth device will only remove a channel from the hopping sequence if it receives X number of “bad packet” replies from the slave Bluetooth device

    Thanks & Regards

    Jency

  • Jency,

    Please find comments below:

    Jency MS said:
    Is any significantly degrade in Wi-Fi throughput when 30 Bluetooth devices are nearby transmitting data, It there any way to rectify it

    Miguel said:
    Since the WiFi is the affected device, I would recommend checking that with your WiFi vendor. If you want to have a complete WiFi-BT solution with coexistence integrated, I would recommend using our WiFi-BT radio, WL127x. http://processors.wiki.ti.com/index.php/ARM_Processor_Wireless_Connectivity_WL1271_device 

    Jency MS said:
    Does the channel selection criteria is based on the received signal strength of the other RF devices (i.e. Wi-Fi and other interferers) on that channel frequency? If so, at what dB level does this “interference” need to be at for the Bluetooth device to omit that channel from its hopping sequence.  Or does AFH use bad packet reporting from the slave device on the piconet to determine which channels to remove from the hopping sequence? In other words, the master Bluetooth device will only remove a channel from the hopping sequence if it receives X number of “bad packet” replies from the slave Bluetooth device

    Miguel said:
    It does use RSSI and PER reports but also it takes into consideration other parameters to avoid false alarms.e.g. It won't remove channels from other BT activities. 

    Regards,
    Miguel
  • Miguel,

    We are testing AFH on the CC2567 BT chipset co-located in our device with a WLAN radio (1273).   Two separate radios.  When sending data on WLAN channel 6, we see the AFH channel map almost randomly select channels to block (using the Frontline sniffing tool to capture the BT data and monitor the AFH channel map).   The mid-channels that should correspond to channel 6 on WLAN are sometimes blocked and then opened, and the low and mid channels are blocked and opened in an almost random pattern.   We are in an RF shielded screen room so there is no additional interference.   In previous testing with other BT radios, we see the mid channels blocked and remain blocked during the entire test.   

    With this "random" AFH algorithm, the WLAN throughput drops due to BT transmitting on WLAN channel.  Is there a white paper or documentation available that explains the AFH settings?   Any suggestions on settings we could change to improve this behavior?   Thank  you.

    Carol  

     

  • Hello Carol,

         The CC2567 AFH mechanism is meant to protect and maintain a good BT connection. In your case, it seems that the WLAN device is the one having issues. You may want to use the standard "HCI_Set_AFH_Host_Channel_Classification" command if you want to block specific BT channels during this mode; however, this may cause some degradation in the BT performance if the host does not classify the channels correctly.

    Regards,

    Miguel

  • Thanks Miguel,

    We are experimenting with the Classification setting and hope to implement.  But just to confirm, the WLAN device is dropping in throughput due to the BT hopping/transmitting on channels shared with the WLAN.  (where this is constant traffic on the WLAN channel).  We also see the Bluetooth throughput drop during this AFH test.   I am confused on why BT transmitting or hopping on a ~100% consumed WLAN channel would help the Bluetooth?   From an RF perspective--isn't it just as likely to be corrupted by WLAN (especially since WLAN is at a higher RF power). 

    Thank you again.   Carol