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.

AOA IQ数据相关问题

Other Parts Discussed in Thread: CC2640R2F

我们在采集IQ数据,然后在服务器上计算角度值,在做算法的移植和优化,有下述问题需要确认:

1、 IQ数据输出格式

在程序中,开启了2组天线A11 A12 A13 A21 A22 A23

在函数RTLSCtrl_postProcessAoa内,case AOA_MODE_RAW:中             RTLSHost_sendMsg,串口输出IQ数据

测试参数:cteScanOvs=4,gAoaNumSamplesPerBlock=16,因此,每一天线输出16个IQ数据

Do循环内,每次输出32个IQ数据,将数据按照16个IQ进行整理(按照接收顺序依次排列),数据含义如下表所示:

请问,上述理解是否有误?

1、 AOA_AngleComplexProductComp计算相位差,计算结果的角度范围是-90至90,还是-180至180

2、 使用AOA_iatan2sc进行arctan计算

AOA_getPairAngles内,能否直接改为三角函数计算,然后在RTLSCtrl_estimateAngle中采用arcsin来计算?

4、RTLSCtrl_estimateAngle内,

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

是只计算了[0],[1],即天线1-2,2-3的角度均值,未计算1-3的角度均值吗,为什么?

5、在实际测试中,开启了2组天线A11 A12 A13 A21 A22 A23

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

计算时,numAnt是3还是6?

 

  • 问题比较多,我查下资料后回复你
  • 如何呀?谢谢!

  • 你使用的是CC2640r2f ?
    首先声明一下,TI已决定终止CC2640R2上基于TI私有协议AoA的进一步开发和支持。建议从CC2640R2过渡到基于Bluetooth 5.1规范的新RTLS示例,该示例可CC26x2R器件一起使用,该器件通过蓝牙5.1认证,并支持BLE5.1的AOA.

    IQ数据输出格式参考:dev.ti.com/.../node
    1- AOA_AngleComplexProductComp()返回-90到90度之间的角度
    2-函数RTLSCtrl_estimateAngle负责对结果进行平均,并处理两个天线阵列之间测得的角度差异。无需为此使用arcsin。
    根据相位信息(以IQ数据的形式)的实际角度计算是在函数AOA_AngleComplexProductComp()中进行的。该计算使用第一个复角(因此,arcsin函数没有明确出现),然后使用函数AOA_iatan2sc()转换为实角
    关于AOA_iatan2sc():e2e.ti.com/.../844603
    3.是只计算了天线1-2,2-3的角度均值,在BOOSTXL-AOA上,A1.1和A1.3之间的间隔超过了信号波长的一半
    4-如果未进行任何修改,则仅使用3个天线对每个CTE进行采样。numAnt是函数AOA_getPairAngles的参数,此参数设置为radio用于采样当前正在处理的CTE的天线数。因此,如果未进行任何修改,应将numAnt设置为3。
  • 1、AOA_getPairAngles计算时,   gAoaReport.antResult->pairAngle[pair] = (int)((p->sign * antenna_versus_avg[p->a][p->b] + p->offset) * p->gain);

    p->sign * antenna_versus_avg[p->a][p->b]为计算的相位均值,加上配置的偏移值,再乘以配置的增益

    问题:目前我们采用IQ数据,再后台计算角度,优化思路是直接采用atan2函数,计算相关相位差,然后利用arcsin计算角度,用以提升精度,这种情况下,是否应该加上p->offset?这个偏移,是为了补偿AOA_iatan2sc计算误差,还是补偿硬件本身的误差?

    2、目前IQ采样频率是多少?目前观察IQ输出波形,cteScanOvs=4时,IQ采样16个点,基本上是正弦波的一个周期,这个是否正确?

    3、实际测试中,发现针对天线不同角度,Pab_rel值会改变,按理说这个是本天线在两次采样的过程中产生的相位差,应该是固定值,出现这个的原因是什么?

    4、 采用AOA_MODE_PAIR_ANGLES方式进行数据采集,发现背对天线面的一侧,计算结果跳动很大,这个有没有办法克服?

    Time=15:36:59 RSSI=-56 AntA=1 Cha=30 Angle=22,3,1,

    Time=15:36:59 RSSI=-78 AntA=2 Cha=2 Angle=-99,-12,-41,

    Time=15:36:59 RSSI=-57 AntA=1 Cha=11 Angle=-1,5,-10,

    Time=15:36:59 RSSI=-67 AntA=2 Cha=20 Angle=130,34,-78,

    Time=15:36:59 RSSI=-56 AntA=1 Cha=29 Angle=24,1,2,

    Time=15:37:00 RSSI=-83 AntA=2 Cha=1 Angle=-74,-30,-42,

    Time=15:37:00 RSSI=-57 AntA=1 Cha=10 Angle=-8,4,-13,

    Time=15:37:00 RSSI=-71 AntA=2 Cha=19 Angle=-159,21,-64,

    Time=15:37:00 RSSI=-56 AntA=1 Cha=28 Angle=20,9,3,

    Time=15:37:00 RSSI=-89 AntA=2 Cha=0 Angle=-1,-109,-49,

  • 问题5:实际计算中, Pab_rel + ((Paa_rel * abs(a-b)) / numAnt); 比如天线对1,2的相位差,有很多结果是大于90度的,按照天线设计,相位差应该是小于90度的,这个有什么方法能克服或修正?
  • 如何呀,能否回复一下

  • 1.TI只提供原始采集数据部分,算法优化不提供支持
    偏移是对天线组和频率的补偿
    2.采样频率:1 Mhz,2 Mhz,3 Mhz或4 Mhz,IQ输出波形可在下面链接中查看
    3和5:天线之间的切换会导致测量错误,因此在计算角度时会丢弃从0到7的I / Q样本,计算8-15之间的相位差,利用取平均值减小误差
    4.实际环境中有各种反射干扰,背对干扰更多一些,在微波暗室中的测试数据www.ti.com.cn/.../tida029.pdf

    关于AOA可查看文档dev.ti.com/.../node
    说明很详细,基本都可以在其中找到相应答案