channel data is zero in PCT IQ data extraction, distance estimation,

0 28 28.000000 23.000000 26.000000 -8.000000
0 29 22.500000 16.500000 14.000000 -15.500000
0 30 0.000000 0.000000 0.000000 0.000000
0 31 0.000000 0.000000 0.000000 0.000000
0 32 -10.000000 23.000000 -12.000000 16.000000
0 33 -27.000000 14.000000 6.000000 23.000000
0 34 -28.000000 21.000000 8.000000 27.000000

  1. Zero IQ Values: Why are the I/Q values reported as zero for both the Initiator and Reflector (e.g., channels 30 and 31)? What steps can I take to troubleshoot and resolve this issue?
  2. I have tried increasing the procedure length and the subevent length without success. What other Channel Sounding parameters should I adjust to ensure non-zero I/Q data is reliably collected? Even  certain I/Q values are zeros in the above screenshot. 
    Due to zero IQ values, ifft diatance estimated is recorded as 0.0000. How to resolve this issue?
  3. Procedure Count = 0 Behaviour: When the Procedure Count is set to zero (which typically implies an internal/default count):
    1.  On what basis does the system determine that 6, 7, or 8 subsets of 72 channel data will be collected?
    2. Can we modify this behaviour (while keeping the Procedure Count at 0) to collect a specific, user-defined number of 72-channel subsets?
  1. Distance Estimation with Procedure Count = 0: Given the random collection of 6, 7, or 8 subsets of 72 channels when Procedure Count = 0:
    1. Averaging Method: Is the distance estimated from each individual I/Q subset and then those distance estimates are averaged?
    2. . I/Q Averaging: Or are the I/Q values themselves averaged across all collected subsets, and then the final distance is calculated from the single resulting average I/Q set?
  1. What is the minimum number of 72-channel I/Q data sets typically required to achieve a specified level of accuracy for the estimated distance?
  2. Antenna Switching Data Acquisition: In a multiple antenna setup using antenna switching (e.g., an antenna array):
    1. Please describe the data collection sequence in terms of steps and sub-events.
    2. Specifically, is the full 72-channel I/Q data set collected for Antenna Path 1 before switching to Antenna Path 2, or is the I/Q data collected for different antenna paths simultaneously or interleaved during the sub-events?
Parents
  • Hi, 

    What NCS version are you using?

    What do you modify in the samples, only the parameters of procedure_params and config_params?

    Are you able to get the expected results of the unmodified samples?

    Regards,
    Amanda H.

  • Hi Amanda, I am using  ncs - v3.1.0, toolchain also 3.1.0 for multiple antenna setup and 3.0.0 for single antenna setup, 

    for 1 antennas at transmitter and 1 antenna at the reflector, i used the unmodified samples.



    I had perfromed experiment with 1 meter cable and I observed the data missing as shown below

    I performed the same experiment with external antenna with 1m distance between initiator and rerflector. I observed some missed samples in PCT data.



    In every case of external antenna use, I used to get zero PCT values.

    I tried with in built PCB antennas, I observed the same behavior. You can see channel 6 data is completely zero. The same set of unmodified samples and the configuration which is provided in the SDK samples. I used NCS version 3.0.0



    1. For a multiple antenna  setup by using unmodified samples I was uanbel toestablish the connection. I used to get the errors like.

    submodes mismatch and consecutive series of all zeros etc. Hence I tried play with the parameters to draw the PCT values with estimated distance.


Reply
  • Hi Amanda, I am using  ncs - v3.1.0, toolchain also 3.1.0 for multiple antenna setup and 3.0.0 for single antenna setup, 

    for 1 antennas at transmitter and 1 antenna at the reflector, i used the unmodified samples.



    I had perfromed experiment with 1 meter cable and I observed the data missing as shown below

    I performed the same experiment with external antenna with 1m distance between initiator and rerflector. I observed some missed samples in PCT data.



    In every case of external antenna use, I used to get zero PCT values.

    I tried with in built PCB antennas, I observed the same behavior. You can see channel 6 data is completely zero. The same set of unmodified samples and the configuration which is provided in the SDK samples. I used NCS version 3.0.0



    1. For a multiple antenna  setup by using unmodified samples I was uanbel toestablish the connection. I used to get the errors like.

    submodes mismatch and consecutive series of all zeros etc. Hence I tried play with the parameters to draw the PCT values with estimated distance.


Children
  • If you are looking at the IQ values in the cs_de_report_t, our guess is that you are hitting this condition https://github.com/nrfconnect/sdk-nrf/blob/v3.1.0/subsys/bluetooth/cs_de/cs_de.c#L315-L320 for some channels. This means that the controller believes the measurement on that channel was not of good quality, due to e.g. interference, and the current solution in cs_de.c is to ignore the measurement on that channel, leaving the IQ value at 0. 

    You can remove the above linked condition if you think that would suit your needs better,  at your own risk.  

    parvez said:
    For a multiple antenna  setup by using unmodified samples I was uanbel toestablish the connection. I used to get the errors like.

    Check out this post.

  • Thank you Amanda. CAn I get the answers for the rest of the questions:

    1. Procedure Count = 0 Behaviour: When the Procedure Count is set to zero (which typically implies an internal/default count):
      1.  On what basis does the system determine that 6, 7, or 8 subsets of 72 channel data will be collected?
      2. Can we modify this behaviour (while keeping the Procedure Count at 0) to collect a specific, user-defined number of 72-channel subsets?
    1. Distance Estimation with Procedure Count = 0: Given the random collection of 6, 7, or 8 subsets of 72 channels when Procedure Count = 0:
      1. Averaging Method: Is the distance estimated from each individual I/Q subset and then those distance estimates are averaged?
      2. . I/Q Averaging: Or are the I/Q values themselves averaged across all collected subsets, and then the final distance is calculated from the single resulting average I/Q set?
    1. What is the minimum number of 72-channel I/Q data sets typically required to achieve a specified level of accuracy for the estimated distance?
    2. Antenna Switching Data Acquisition: In a multiple antenna setup using antenna switching (e.g., an antenna array):
      1. Please describe the data collection sequence in terms of steps and sub-events.
      2. Specifically, is the full 72-channel I/Q data set collected for Antenna Path 1 before switching to Antenna Path 2, or is the I/Q data collected for different antenna paths simultaneously or interleaved during the sub-events?
  • 1. procedure_count=0 indicates that CS procedures shall continue to be invoked until terminated.
             a. Not sure what you mean by subset here, the core spec defines CS steps, subevents, events, and procedures. Please check out the section on Time Division here https://www.bluetooth.com/channel-sounding-tech-overview/. The default configuration in the rreq sample is to use 1 event and 1 subevent per procedure (at least on ncs-main), and each procedure will contain 72 main mode (mode 2) steps, and a somewhat random number of sub mode (mode 1 steps). The number of sub mode steps depends on this configuration https://github.com/nrfconnect/sdk-nrf/blob/main/samples/bluetooth/channel_sounding_ras_initiator/sr…

    4. The initiator sample produces one new distance estimate per procedure. Note that a median filter with a moving window of 9 distance estimates is applied before the estimate is logged. If there is more than one IQ measurement on the same channel in the same procedure, the IQs are averaged here https://github.com/nrfconnect/sdk-nrf/blob/main/subsys/bluetooth/cs_de/cs_de.c#L306-L315. But not that this will not happen in the default configuration of the sample since we use channel_map_repetition=1 here https://github.com/nrfconnect/sdk-nrf/blob/main/samples/bluetooth/channel_sounding_ras_initiator/sr…

    5. The initiator sample uses one procedure with IQ measurements (step mode 2 data) from all 72 allowed CS channels to calculate one distance estimate. It is possible that more samples per channel could yield better accuracy per estimate, but it would be at the cost of reduced frequency of new estimates.

    6. Each mode-2 (or mode-3) step would take measurements on all of the enabled antenna paths, in a different random sequence for each step. This random sequence is given by the CS-DRBG. Some information can be found in the tech overview https://www.bluetooth.com/channel-sounding-tech-overview/, section 3.5.3.3 Mode-2. And of course, all the details are in Bluetooth Core Spec >= 6.0.

Related