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.

CC2640R2F: About AOA IQ data

Part Number: CC2640R2F

Hi Team,

A customer is developing AOA-related applications and he has the following questions:

1. AOA_AngleComplexProductComp is used to calculate the phase difference, so the angle range is -90 to 90 or -180 to 180?

2. Using AOA_iatan2sc for arctangent calculation

Is it possible to use arcsin to calculate in RTLSCtrl_estimateAngle?

3. Inside RTLSCtrl_estimateAngle:

const int16_t AoA_A1 = ((((antA1Result-> pairAngle [0] + antA1Result-> pairAngle [1]) / 2) + 45 + antA1Result-> channelOffset [antA1Result-> ch];

Is it only calculated [0] and [1] (the average angle of antennas 1-2 and 2-3)? and  the average angle of 1-3 is not calculated ? why?

4. In the actual test, all antennas A11 A12 A13 A21 A22 A23 have been turned on.

antenna_versus_avg[a][b] += Pab_rel + ((Paa_rel * abs(a-b)) / numAnt);

So what is the value of numAnt, 3 or 6?

Could you help to check it?

Regards,

Kevin

  • Hi Kevin,

    First of all let me remind you that TI has made the decision to discontinue further development and support of the TI-proprietary Angle of Arrival (AoA) on the CC2640R2. We recommend and welcome our customers using AoA on CC2640R2 to transition from the CC2640R2 to the new RTLS examples based on the Bluetooth 5.1 specification which can be used with the CC13x2R and CC26x2R devices. These software examples can be found in the SimpleLink™ CC13x2 and CC26x2 software development kit 3.40 or later which features a Bluetooth 5.1 qualified stack with support of Bluetooth 5.1 Angle of Arrival. To make this transition, here is a list of available resources you can reference: Simple Link Academy, AoA stack users guide, LaunchPad Tool Order Page

    1- AOA_AngleComplexProductComp() returns an angle between -90 and 90 degrees.

    2- The function RTLSCtrl_estimateAngle is responsible to average the result and handle the differences in the angles measured between the two antennas-arrays. There is no need to use arcsin for this.
    The actual angle calculation from the phase information (on the form of IQ data) is made in the function AOA_AngleComplexProductComp(). This calculation uses first complex angle (hence the fact the arcsin function does not explicitly appears) then convert to real angles using the function AOA_iatan2sc() - here are some details about AOA_iatan2sc() function.

    3- I guess this is because on the BOOSTXL-AOA, the spacing between A1.1 and A1.3 is over half the wave length of the signal.

    4- If no modification has been made, only 3 antennas are used to sample each CTE. numAnt is a parameter of the function AOA_getPairAngles. This parameter is set to the number of antennas used by the radio to sample the CTE currently being handled. So, once again assuming nothing has been modified, numAnt should be set to 3.

    I hope this will help,

    Best regards,