Hello,
I'm checking the I/Q samples of my LaunchPad + AoA Boosterpack, since I'm getting inconsistent angle measurements. I'm aware of the fact that reflections and interference cause measurement errors, but I tested my setup in an environment without other RF sources, and the behavior is the same.
So, I used the rtls_aoa_iq_with_rtls_util_export_into_csv.py file, changing some parameters, and the Python script provided by SimpleLink Academy -> RTLS Toolbox -> Angle of Arrival (AoA) to plot the I/Q data from the CSV file. The result is below for antenna 1, where the red arrows indicate where the antennas seem to be switched:
This test was performed with a Master device, with only one slave device connected. The SDK version is 4.40, and the firmware was untouched. The Python section that configures the AoA feature follows below:
if aoa:
if rtlsUtil.is_aoa_supported(all_nodes):
aoa_params = {
"aoa_run_mode": "AOA_MODE_RAW", ## AOA_MODE_ANGLE, AOA_MODE_PAIR_ANGLES, AOA_MODE_RAW
"aoa_cc2640r2": {
"aoa_cte_scan_ovs": 4,
"aoa_cte_offset": 4,
"aoa_cte_length": 20,
"aoa_sampling_control": int('0x00', 16),
## bit 0 - 0x00 - default filtering, 0x01 - RAW_RF no filtering - not supported,
## bit 4,5 - 0x00 - default both antennas, 0x10 - ONLY_ANT_1, 0x20 - ONLY_ANT_2
},
"aoa_cc26x2": {
"aoa_slot_durations": 2,##RB 1
"aoa_sample_rate": 4, ##RB 1
"aoa_sample_size": 2, ##RB 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": 2,
"aoa_ant_pattern": [0,1]
}
}
rtlsUtil.aoa_set_params(aoa_params)
print("AOA Paramas Set")
## Setup thread to pull out received data from devices on screen
th_aoa_results_parsing = threading.Thread(target=results_parsing, args=(rtlsUtil.aoa_results_queue,))
th_aoa_results_parsing.setDaemon(True)
th_aoa_results_parsing.start()
print("AOA Callback Set")
rtlsUtil.aoa_start(cte_length=20, cte_interval=1)
print("AOA Started")
When comparing my plot to that one shown in https://dev.ti.com/tirex/content/simplelink_cc13x2_26x2_sdk_3_40_00_02/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/localization-index-cc13x2_26x2.html#valid-i-q-samples-for-angle-calculation, it seems that the antenna switching period is much shorter. In the TI's user's guide's picture, the antenna is switched every 16 sample periods, but in my plot the antenna is switched every 3 sample periods.
Is it really wrong? If so, what could be the cause?
Thanks,
Reginaldo.

