您好,我有一个关于AOA功能天线组切换的问题想咨询下。
目前我在做AOA功能的测试
SDK版本是3.40,我使用rtls_aoa_iq_with_rtls_util_export_into_csv_save.py获取IQ数据,
"aoa_cc26x2": {
"aoa_slot_durations": 1,
"aoa_sample_rate": 1,
"aoa_sample_size": 1,
"aoa_sampling_control": int('0x10', 16),
## bit 0 – 0x00 – default filtering, 0x01 – RAW_RF no filtering,
## bit 4,5 – default: 0x10 – ONLY_ANT_1, optional: 0x20 – ONLY_ANT_2
"aoa_sampling_enable": 1,
"aoa_pattern_len": 3,
"aoa_ant_pattern": [0, 1, 2]
}
"aoa_sampling_control": int('0x10', 16),使用的是天线组1,功能正常
现在我想使能天线组2,aoa_sampling_control 设置为:"aoa_sampling_control": int('0x20', 16),
但是我收到的IQ数据好像还是天线组1的,因为计算出来的角度没有变
请问我启用天线组2的方法正确吗,如果我想同时启用两组天线可以实现吗,如何设置?
Viki Shi:
无法同时使用两个阵列天线,只能进行切换。方法是修改修改python脚本中的"aoa_sampling_control"
_sampling_control的有效值只有: 0x10, 0x20, 0x11 and 0x21.
Bit 0 selects the filtering type => 0x00 for default filtering, 0x01 for RAW_RF / no filtering.
Bit 4 and 5 selects the antenna array to use => 0x10 for ONLY_ANT_1, 0x20 for ONLY_ANT_2
user5325357:
回复 Viki Shi:
感谢你的及时回复, 我知道是通过aoa_sampling_control设置切换阵列天线,我现在碰到的问题是:切换了阵列天线感觉没有切换成功,因为我切换两组天线阵列 获取的IQ计算的相位差,AOA角度没有明显变化,
我在SDK代码中有看到这样一段代码:
void AOA_init(uint8_t startAntenna)
{
#ifdef RTLS_PASSIVEuint8_t antArray[BOOSTXL_AOA_NUM_ANT + 1] = {ANT2, ANT1, ANT3, ANT_ARRAY};
// Init only onceif (gPinHandle == NULL){AOA_initAntArray(antArray, BOOSTXL_AOA_NUM_ANT + 1);}
// Initialize ant array switch pinif (startAntenna == 2){// Start with A2 (ANT_ARRAY pin high is A1, low is A2)PINCC26XX_setOutputValue(ANT_ARRAY, 0);}else{// Start with A1 (ANT_ARRAY pin high is A1, low is A2)PINCC26XX_setOutputValue(ANT_ARRAY, 1);}
#endif
}好像只有PASSIVE的模式才会去设置ANT_ARRAY引脚去切换阵列天线,我现在是MASTER+SLAVE的方式测试,不知道MASTER+SLAVE的方式是否也支持切换阵列天线
Viki Shi:
回复 user5325357:
切换天线除了修改上述代码以外,还需要注意引脚及相应的代码实现,具体请看这边的讨论:
e2e.ti.com/…/879770其中提到的truth table链接是这个:dev.ti.com/…/node