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.

The AOA result about calc

hi:

  i use the demo about the sdk_3_10_00__15.There are some question about result.

  The CONSTANT TONE EXTEND is 160us. The AOA_ANT_SWITCH_START_TIME(0.75us) and AOA_SIGNAL_DELAY_TIME(8us) parameters used by the project  is the delay time before it starting to get  the iq value.

  The question one is that whether the rf  gets the iq value after it delayed 12us?

int16_t Paa_rel = AOA_AngleComplexProductComp(gAoaReport.samples[32 + r*numt*gAoaNumSamplesPerBlock + a*gAoaNumSamplesPerBlock + i].i,
gAoaReport.samples[32 + r*numAnt*gAoaNumSamplesPerBlock + a*gAoaNumSamplesPerBlock + i].q,
gAoaReport.samples[32 + (r-1)*numAnt*gAoaNumSamplesPerBlock + a*gAoaNumSamplesPerBlock + i].i,
gAoaReport.samples[32 + (r-1)*numAnt*gAoaNumSamplesPerBlock + a*gAoaNumSamplesPerBlock + i].q);

The question two is why the index uses 32 in the samples to calculater the angel?

In the  rtls_raw_iq_samples.csv file,the max sample_idx is 510,whe is it 510. the geting of time is 148us(160-4-8).and it gets 16 pairs of the iq each 4us. so that is 16 *(148/4)=592.

The question three is that why is it 510 not 592?

  

  • Hi Lenli,
    Good question. Assigning this to one of the experts to look into the details.
  • Hi Lenli,

    Regarding your first question, I'm afraid I don't fully understand what you are asking. Please have a look here under Listing 81 code snippet (where the HW configuration is presented) you might find what you are looking for.

    Regarding your second question, the reason for the 32 second offset (as quoted from the BLE Stack User's Guide) is:

    "...

    The reason for having a 32 offset for the sample array is that because the we use 8us as guard time(controlled by AOA_ANT_SWITCH_START_TIME). 8 us guard time ith 4 MHz sampling rate gives us 32 samples, therefore we take the I/Q samples after the guard time.

    ..."

    Best Regards,
    Yuval

  • hi:

       thanks u for ur reply.

       

      As above,this is picture about core 5.1 spec.Right now,i see that the meaning of all kinds of parameter is defined by ti.

     But the out-file showed as below is wired in some place.

    i only use the two antennas of one array.why the sample index is 510 not 511? 

    l,ll also try to see the py in details and find the reason.

  • Hi Lenli,

    I'm afraid I don't fully understand what you are asking.
    Could please clarify your question?

    Thanks,
    Yuval
  • hi,
    thank your reply.
    According the situation right now ,RF core works 128 ms . And i configure the parameter that is the two antennas of only array to use.
    So That s should be 512 pairs of I and Q value all together.But it,s 511 pairs of I and Q value right now in rtls_raw_iq_samples.csv file as above.
    So this is my misunderstanding or a error ?
  • Hi Lenli,

    Did you change any part of the script? Of the C code?
    Have you tried to debug the python script and see if this is a python script issue?

    Best Regards,
    Yuval