Part Number:LAUNCHXL-CC26X2R1
您好!我正在尝试使用两块LAUNCHXL-CC26X2R1进行蓝牙测向开发,使用的SDK版本为5.40。经过排查,我最终获得了IQ样本。在认真阅读配置天线阵列的文档后,我成功配置了天线阵列并取得了IQ。我配置了三根天线,天线模式为:"aoa_ant_pattern": [0, 1, 2]”,天线板对应的DIO已正确配置。但在阅读IQ数据时,我对IQ和天线模式的对应关系产生了疑问。因此我调查了目前存在的解答和文档,但我仍未完全厘清IQ和天线模式的对应关系。我的疑问如下:
1. 蓝牙CTE包采样在2us模式下,最长采样时间为160us,其中参考周期包含8个IQ样本,剩余时间可采样37个IQ样本,共计45个IQ样本(对应于自动生成的csv文件的sample_idx的0到44)。这45个IQ样本对应于天线0、天线1、天线2的对应关系是怎样的?是否为这个45个样本依次由天线0、天线1、天线2接收?
{ smaple_idx[0]: aoa_ant_pattern[0], smaple_idx[1]: aoa_ant_pattern[1], smaple_idx[2]: aoa_ant_pattern[2], smaple_idx[3]: aoa_ant_pattern[0], smaple_idx[4]: aoa_ant_pattern[1], … , smaple_idx[44]: aoa_ant_pattern[2] }
2. 在蓝牙协议 Bluetooth Core v5.2, 6/A/5.1中有如下描述:
"The first antenna in the pattern shall be used during the reference period […]. The second antenna in the pattern shall be used during the first sample slot, the third antenna during the second sample slot, and so on. The same antenna ID may appear more than once in the pattern. […] If the pattern specified by the Host is exhausted before the last sample slot, it shall be restarted from the beginning…"
换句话说,协议规定了参考周期的8个IQ样本应当由第一根天线(即天线0)接收,第二根天线(即天线1)来接收sample slot的第一个IQ样本(即45个IQ样本中的第9个样本),第三根天线接收sample slot的第二个IQ样本,然后开始循环。如果单独由一根天线接收CTE数据包之前的数据包,则天线与IQ的对应关系如下图所示:
上图中,从编号为3、4、5的天线开始循环,1、2天线并未参与循环(这里天线编号是从1开始的)。我很想知道,在TI的实现中,天线对应于IQ的循环关系是怎样的?
在我的实现中,我使用了天线0、天线1、天线2,如疑问①,循环是从天线0开始的吗?我是否不需要考虑蓝牙协议的规定?如果按照蓝牙协议的规定,天线0接收参考周期的8个IQ样本,那么只有天线1和天线2参与了循环。
3. 其他的小疑问。自动生成的csv文件中,ant_array值为6,但我只配置了3根天线,它们之间有什么关系吗?另外,在自动生成的log中,” 'type': 'Event', 'command': 'RTLS_CMD_AOA_RESULT_RAW' “所在的行中的
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!
,
Cherry Zhou:
? ? 说:这45个IQ样本对应于天线0、天线1、天线2的对应关系是怎样的?是否为这个45个样本依次由天线0、天线1、天线2接收?
您好,是的,IQ 样本依次使用天线 0 、 1 、 2 进行提取。
? ? 说:
上图中,从编号为3、4、5的天线开始循环,1、2天线并未参与循环(这里天线编号是从1开始的)。我很想知道,在TI的实现中,天线对应于IQ的循环关系是怎样的?
在我的实现中,我使用了天线0、天线1、天线2,如疑问①,循环是从天线0开始的吗?我是否不需要考虑蓝牙协议的规定?如果按照蓝牙协议的规定,天线0接收参考周期的8个IQ样本,那么只有天线1和天线2参与了循环。
您给出的示例图片应该不是来自官方图片吧?它不符合蓝牙标准。TI 的堆栈是符合蓝牙标准的并且也符合您所引用的那段话。
? ? 说:但“antenna”一直为0,这是否表明未发生天线切换?
可以忽略这个值。
,
? ?:
非常感谢您的回复!这个答案对我非常有帮助!
? ? 说:如果单独由一根天线接收CTE数据包之前的数据包
这个示例图片确实不是蓝牙协议规范文件中的图片,因为协议没有规定使用哪根天线接收CTE之前的数据包(即switch pattern #1的部分)。如果aoa_ant_pattern等于switch pattern #2 – switch pattern #5,则大体上与上面引用蓝牙协议的段落相称。
之所以引用这个图片,是因为蓝牙协议中的描述有两个段落令人疑惑。
①. “The first antenna in the pattern shall be used during the reference period […]. The second antenna in the pattern shall be used during the first sample slot”
②. “it shall be restarted from the beginning…”
关于①:
一方面,前8个IQ样本是否全部由单独的天线接收令人困惑。
如果考虑①,则第9/45个IQ样本应对应于第2/3个天线。
如果不考虑①,则第9/45个IQ样本应对应于第3/3个天线。关于②:
“the beginning”是指“The first antenna in the pattern”,还是指“first sample slot”。这将会影响实际参与循环的天线数目。
,
? ?:
考虑到另一个帖子,我对于参考周期的8个样本是否参与循环采样产生了一些疑问。因此,我仔细考察了开发板的引脚控制信号。
在我先前的DIO引脚设置中,DIO 0 表示低位,DIO 1表示高位。01B表示切换至第一根天线(antenna 0),10B表示切换至第二根天线(antenna 1),11B表示切换至第三根天线(antenna 2)。
在上图中,通道1表示DIO 0的引脚信号,通道2表示DIO 1的引脚信号。仅当DIO 0的比特位为0时,切换至第二根天线(antenna 1)。但通道1的信号低谷仅有12个,并不是15个,说明参考周期的8个样本并未参与循环。同理,仅当DIO 0和DIO 1的比特位同为1时,切换至第三根天线(antenna 2),但这样的模式也仅有12个。37个IQ样本中,首先进入循环的天线,在经历了12轮循环后,还能多接收1个IQ样本,但antenna 1和antenna 2的模式均为12次,说明antenna 0的模式为13次。即第9个IQ样本为antenna 0采样。
综上,45个IQ样本对应于antenna 0、1、2的关系如下:
[ 0 0 0 0 0 0 0 0 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 ]
考虑到这个帖子,依据引脚信号推断得出,前8个IQ样本为aoa_ant_pattern[0]接收,此后的所有样本由aoa_ant_pattern中的模式循环接收(从aoa_ant_pattern[0]开始)。
? ? 说:如果考虑①,则第9/45个IQ样本应对应于第2/3个天线。
如果不考虑①,则第9/45个IQ样本应对应于第3/3个天线。
因而,在TI的实现中,第9/45个IQ样本应对应于第1/3个天线。
,
? ?:
最后,再次感谢您的回复!