Channel sounding and more antenna paths

Hi,

I have a question about Channel Sounding:
I want to run the CS procedure with 4antenna paths. Both the reflector and the initiator have 2 antennas. I started with the examples for ras_initiator and reflector from NCS 3_1. I changed these lines in prj.conf:

CONFIG_BT_RAS_MAX_ANTENNA_PATHS=4  
CONFIG_BT_CTLR_SDC_CS_MAX_ANTENNA_PATHS=4  
CONFIG_BT_CTLR_SDC_CS_NUM_ANTENNAS=2  

In the overlay, I set the correct pins for the antenna switch:

ant-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>,
            <&gpio0 2 GPIO_ACTIVE_HIGH>;

In the initiator, I also changed:

.tone_antenna_config_selection = BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A2_B2,
.preferred_peer_antenna = BT_LE_CS_PROCEDURE_PREFERRED_PEER_ANTENNA_1 | BT_LE_CS_PROCEDURE_PREFERRED_PEER_ANTENNA_2,

Yes, I get measured distance results - but each second result is invalid: get  LOG -> Dropped subevent results. Waiting for ranging data from peer.
If I move the reflector more than 1 meter away, this message appears even more often, and at 2 meters I cannot get any measured distance.

To check if the problem is HW or SW, I tried CS with only one antenna path - I manually tested all combinations of antennas and RF paths, and all worked about the same. In a room, I have no problem getting data at 5-6 meters with a 250 ms period. So, single RF paths look OK.
It seems the problem is in the software.

My main question:
Is your example tested with 4 antenna paths? Are the results as reliable as with 1 or 4 paths? The result period is the same for 1 - 4 antenna paths?
Or is it necessary to change anything else to use 4 paths?

Thank you very much for any advice. I really don't know where to look for the problem anymore.

I can share the CS settings - but as I said: It is from your example of ncs 3_1. 

Maybe I should also mention that I only added another semaphore in the ranging_data_cb callback - when I get new data, I release the semaphore, and the main loop prints the new distances immediately when they are available.
So, I do not wait for a delay like in the original example.

Thank you very very much.

Parents
  • Update: 

    It may be that the issue you are seeing is related to an issue that is patched in this pull request.

    It will likely be merged soon, but you can try to build with NCS v3.1.1, and either cherry pick this pull request, or copy the changes in the commit over to your SDK, and see if that helps:

    https://github.com/nrfconnect/sdk-nrf/pull/24778

    All users who are attempting to use multiple antenna paths should include this PR.

    Best regards,

    Edvin

  • Hi,


    Please, can I manually switch to the main branch in the ncs repository? The mentioned commit is already merged in the main. However, when I do that, I can't compile it with the 3.1.1 toolchain - am I doing something wrong?

    I switched to commit 560d4f7b09e2b58630a4e8c867f5be068173072e 

    Then I created new project from sample - RAS initiator.. but build can not be done without errors.. Missed I anything?

    The build fails with multiple Kconfig symbol definition errors in the Nordic SDK's Bluetooth controller configuration:

    1. BT_CTLR_EXTENDED_FEAT_SET (Kconfig:538) - Symbol defined without specifying data type
    2. BT_CTLR_SDC_EXTENDED_FEAT_MAX_REMOTE_PAGE 
    3. ....



  • I am not sure. I usually don't work on the main branch. What build error do you see? Please include the full build log.  

    I would recommend to use a stable release, such as v3.1.1. The reason is that when you use main, some samples may or may not build, depending on when you fetched the main branch. 

    So please try to use v3.1.1 (release closest to main that is stable), and then include the the changes in the pull request, or the pull request itself. 

    Best regards,

    Edvin

Reply
  • I am not sure. I usually don't work on the main branch. What build error do you see? Please include the full build log.  

    I would recommend to use a stable release, such as v3.1.1. The reason is that when you use main, some samples may or may not build, depending on when you fetched the main branch. 

    So please try to use v3.1.1 (release closest to main that is stable), and then include the the changes in the pull request, or the pull request itself. 

    Best regards,

    Edvin

Children
Related