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.

BOOSTXL-AOA: AOA calculations

Part Number: BOOSTXL-AOA

Hi 

i'm here asking regarding on the calculation of AOA I/Q Raw Data. I did get my I/Q Raw Data, however, i had encounter some problems that trying to calculate I/Q to angle on my own. 

By using the formulas mentioned in TI-AOA resources explorer "convert the phase difference into angle of arrival" 

every I/Q data after calculating had a huge difference, am i missing anything ? 

here is how i do it.

1. phi(1)= atan ( Q (1) / I (1) ) 

2. delta phi (phase difference) = phi(m+1)-phi(m)

3. Apply formulas below

    

d=35mm
lambda= 3*10^8/2440*10^6 = 0.122951m~ 122.95mm

  • Hi,

    I would recommend to review the implementation we have done of this calculation in the rtls_master example o in other tools.

    In addition, to validate your calculation, you may want to take some known values in order to validate your formulae.

    I hope this will help,

    Regards,

  • HI Clément,

    alright, but can you kindly explain the function of

    1. rtls_master aoa.c AOA_getPairAngles function, what exactly did it do there?

    2. how I/Q do to form an angle? i read it from TI article , it says arc sine is the last formulas. but i don't see it in the sample code of rtls_master. 

    hope you can help me with the questions ! thank you!

  • Hi,

    I have already written a few messages on this forum dealing with angle calculation. You will find some of them here and here.

    1. The AOA_getPairAngles function "Extract results and estimates an angle between two antennas". Please review the source code documentation for additional information.

    2- The sinus function is not explicitly used because we are using the complex representation of the angles (IQ data directly gives the complex representation of the angle). I have discussed this here. You may also be interested by this discussion about the tangent function.

    Regards,

  • Hi Clément,

    can you kindly explain in detail what exactly did AOA_getPairAngles do. I understand from the code was that it estimate an angle between two antenna. 

    however, i place my slave about 45 degrees to the master. but the result showed in antResult->pairAngle[pair] are [ -1, 230, -9...... ]


    can you kindly guild me through this? what function represent the right output angle value, which had shown in rtls_ui.exe

  • Hi,

    The table antResult->pairAngle[] contains the angle computed for each antenna pair defined in the table pair_A1[] defined in ant_array2_config_boostxl_rev1v1.c

    Are you sure the rtls_master receiv the same settings while you observe the results through the RTLS_UI and while you look into the code?

    Regards,

  • Hi Clément,

    thank you for your quick reply. 

    i'm just confusing by the IQ data that shown in  `rtls_aoa_iq_with_rtls_util_export_into_csv.py`  , i add in an angle data into the csv file, so that i can do my calculation and compare with TI's angle. 

    However, when i apply some basic calculation of getting the Phase-difference and trigonometry, the angle is really different from what TI shows. can you kindly show some of the solution that you think it's 
    appropriate?

    thank you Clément. please help me with the answer thank you!

  • Hi,

    Do you want to share the formula you are using to extract an angle from the IQ data? That way I could comment on it.

    Regards,

  • Hi

    1. i took IQ and did  Zre = Xre*Yre + Xim*Yim;       and use the result atan(zim/zre) *(180/pi) and it seems that i miss out the most important part.
                                    Zim = Xim*Yre - Xre*Yim;

    2. can i ask what it mean by Calculate the phase drift across one antenna repetition?  from what i know is it the movement of the angle difference from the same antenna?

    3. can you explain for me inside Paa_rel (samplerate ,a, i,r) ? what it mean by these numbers?

  • Hi,

    1- Are you taking IQ data from the same antenna or from different antennas?

    2- As you may know, the signal phase sampled on a single antenna will vary across the time. This is why you need to take into account this variation when you do the calculation.

    3-  Considering the line

    pIQExt[AOA_OFFSET_FIRST_VALID_SAMPLE*sampleRate + r*numAnt*sampleRate + a*sampleRate + i]

    Here you try to get the proper sample in pIQExt. The sample to consider. Based on the sampling frequency, the antenna you are considering (a), the slot inside the sample slot (i) and the index of the slot you are considering (r) you will get a different index in the pIQExt table.

    Please refer to the documentation for more details.

    Best regards,

  • Hi Clément,

    thank you for your patient replying. i figure out what Paa_rel do yesterday. thank you! 

    but there is another question on the rtls_aoa_iq_with_rtls_util_export_into_csv.py , how to identify which IQ data corresponding to the right antenna? 




  • Hi Clément

    i only opened up ant_array_1, so i think v12 v23 v13 shoud all be functioning right? what is the sequence of IQ data from the ant_array? 

  • Hi,

    This question is answered in our documentation.

    Regards,

  • Hi,

    i want to ask something is the number on the antenna A1.1 A1.2 A1.3 the number at the back 1,2,3 is equivalent to the AoA_AntennaPair_t pair_A1[]{....//v12 //v23 //v13}? 

  • Hi,

    Not totally. AoA_AntennaPair_t pair_A1 contains the pairs of antennas you are forming with the antennas you have on your board. In other words, if you have three antennas, you can have up to 4 pairs (1-2, 1-3, 2-3). With 4 antennas, you can have 6 pairs (1-2, 1-3, 1-4, 2-3, 2-4, 3-4).

    I hope this will help,

    Regards,

  • Hi,

    where exactly is the fourth pair that you mentioned earlier msg? "if you have three antennas, you can have up to 4 pairs (1-2, 1-3, 2-3)." i only see 3 pair.

  • Hi Eric,

    As I said, you can define "up to 4 pairs". Here, as the distance between antenna 1 and antenna 3 is larger than the wave length (lambda) divided by 2, we cannot use the pair 1-3.

    So in the out-of-the-box example only 3 antenna-pairs are used.

    Regards,

  • HI Clément

    m
    ay i know what is the time needed for getting a new CTE package, just a estimate will do . thank you

  • Hi Eric,

    This question is not related to the original topic.

    Please open a new thread.

    Best regards,