This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Direction finding with channels questions.

Hi, nordic Engineer!

Merry Christmas! I am using the DF to develop my project and considering simulation with the Bluetooth signal with antennas to build a customized antenna board. In the direction_finding_connetionless_tx demo, the variable const static struct bt_le_adv_param param has a option set to be BT_LE_ADV_OPT_EXT_ADV. From my understanding, since the signal is transmitted in the 2M PHY, the packets will be transmitted in the secondary channel indexed from 0~36 (37 38 39 is excluded) 

Is my understanding right? If so, how can I confirm which channel the signal is transmitted? Because I need the corresponding frequency to do the wave simulation with Bluetooth signal. And my project also uses multiple beacons transmitting BLE signal with CTE simultaneously, is it necessary for me to modify the different beacons with different channels to avoid disturbing? 

Best regards,

Marcous

Parents
  • Hey again Marcous!

    From my understanding, since the signal is transmitted in the 2M PHY, the packets will be transmitted in the secondary channel indexed from 0~36 (37 38 39 is excluded) 

    Acctually all 37 data channels are used for the periodic advertising unless you limit the channels.

    f so, how can I confirm which channel the signal is transmitted?

    All channels will be used following the Channel Selection Algorithm 2. Unless they are mapped out in the channel map. I believe our code returns the channel as a part of the report. You can check that in the UART data coming out.

    is it necessary for me to modify the different beacons with different channels to avoid disturbing? 

    No I don't think that is necessary.

    Best regards,

    Elfving

Reply
  • Hey again Marcous!

    From my understanding, since the signal is transmitted in the 2M PHY, the packets will be transmitted in the secondary channel indexed from 0~36 (37 38 39 is excluded) 

    Acctually all 37 data channels are used for the periodic advertising unless you limit the channels.

    f so, how can I confirm which channel the signal is transmitted?

    All channels will be used following the Channel Selection Algorithm 2. Unless they are mapped out in the channel map. I believe our code returns the channel as a part of the report. You can check that in the UART data coming out.

    is it necessary for me to modify the different beacons with different channels to avoid disturbing? 

    No I don't think that is necessary.

    Best regards,

    Elfving

Children
  • Thanks for your detailed answers, Elfving!

    But I don't have any idea that which parameter in the UART data coming out indicates the channel in which the signal was transmitted?  Here I copy slides of the UART information from the link https://devzone.nordicsemi.com/f/nordic-q-a/76558/direction_finding_connectionless_rx I believe the original UART information should be similar to this. 

    Starting Connectionless Locator Demo
    Bluetooth initialization...success
    Scan callbacks register...success.
    Periodic Advertising callbacks register...success.
    Start scanning...success
    Waiting for periodic advertising...
    [DEVICE]: 24:D4:13:1A:76:61 (random), AD evt type 5, Tx Pwr: 127, RSSI -43 DF Connectionless Beacon App C:0 S:0 D:0 SR:0 E:1 Prim: LE 1M, Secn: LE 2M, Interval: 0x0780 (2400 ms), SID: 0
    success. Found periodic advertising.
    Creating Periodic Advertising Sync...success.
    Waiting for periodic sync...
    [DEVICE]: 7F:D0:DA:D4:CB:A1 (random), AD evt type 0, Tx Pwr: 127, RSSI -68  C:1 S:1 D:0 SR:0 E:0 Prim: LE 1M, Secn: No packets, Interval: 0x0000 (0 ms), SID: 255
    [DEVICE]: 7F:D0:DA:D4:CB:A1 (random), AD evt type 4, Tx Pwr: 127, RSSI -68  C:1 S:1 D:0 SR:1 E:0 Prim: LE 1M, Secn: No packets, Interval: 0x0000 (0 ms), SID: 255
    PER_ADV_SYNC[0]: [DEVICE]: 24:D4:13:1A:76:61 (random) synced, Interval 0x0780 (2400 ms), PHY LE 2M
    success. Periodic sync established.
    Enable receiving of CTE...
    success. CTE receive enabled.
    Scan disable...Success.
    Waiting for periodic sync lost...
    PER_ADV_SYNC[0]: [DEVICE]: 24:D4:13:1A:76:61 (random), tx_power 127, RSSI -40, CTE AOA, data length 0, data: 
    CTE[0]: samples count 45, cte type AOA, slot durations: 2 [us], packet status CRC OK, RSSI -400
    PER_ADV_SYNC[0]: [DEVICE]: 24:D4:13:1A:76:61 (random), tx_power 127, RSSI -41, CTE AOA, data length 0, data: 
    CTE[0]: samples count 45, cte type AOA, slot durations: 2 [us], packet status CRC OK, RSSI -410
    PER_ADV_SYNC[0]: [DEVICE]: 24:D4:13:1A:76:61 (random), tx_power 127, RSSI -41, CTE AOA, data length 0, data: 
    CTE[0]: samples count 45, cte type AOA, slot durations: 2 [us], packet status CRC OK, RSSI -410
    PER_ADV_SYNC[0]: [DEVICE]: 24:D4:13:1A:76:61 (random), tx_power 127, RSSI -43, CTE AOA, data length 0, data: 
    CTE[0]: samples count 45, cte type AOA, slot durations: 2 [us], packet status CRC OK, RSSI -430
    PER_ADV_SYNC[0]: [DEVICE]: 24:D4:13:1A:76:61 (random), tx_power 127, RSSI -42, CTE AOA, data length 0, data: 
    CTE[0]: samples count 45, cte type AOA, slot durations: 2 [us], packet status CRC OK, RSSI -420

  • Hello!

    Ah right, that should be in the entire report along with the I/Q data itself. There is no data for calculating the angles in the report from the default sample. It has to be pulled out by the user.

    Best regards,

    Elfving

  • Thanks! Elfving, I found them in the code where I always ignored. Actually a silly problem lol, Thanks!

    Best regards,

    Marcous

Related