Part Number:IWR1843BOOST
各位专家好,
使用mmwave_automotive_toolbox_3_6_0\labs\lab0007_medium_range_radar工程,使用推荐的3.2.0.4SDK。对于Steering angle角度计算部分, lab0011_mrr_beamsteering\src\common\cfg.c内计算Tx1、Tx2、Tx3相位偏置角度使用以下函数
void Get_PhaseTxShifterCodeValue(int8_t steering_angle , uint8_t *tx1PhShCode, uint8_t *tx2PhShCode, uint8_t *tx3PhShCode)
{
uint8_t index;
uint8_t calib_params[3] = {0, 0, 19 };
int8_t l_tx1phCode, l_tx2phCode, l_tx3phCode;
for(index = 0; index < sizeof(tx_phaseShift_CodeLUT);index++)
{ if(steering_angle == tx_phaseShift_CodeLUT[index].steering_angle)
{
l_tx1phCode = -(tx_phaseShift_CodeLUT[index].tx1_phsh_deg);
l_tx2phCode = -(tx_phaseShift_CodeLUT[index].tx2_phsh_deg);
l_tx3phCode = -(tx_phaseShift_CodeLUT[index].tx3_phsh_deg);
if(l_tx1phCode < 0)
l_tx1phCode = l_tx1phCode + 64 ;
if(l_tx2phCode < 0)
l_tx2phCode = l_tx2phCode + 64 ;
if(l_tx3phCode < 0)
l_tx3phCode = l_tx3phCode + 64 ;
/*Use the calibration parameters to do the compensation*/
l_tx1phCode = (l_tx1phCode + calib_params[0])%64;
l_tx2phCode = (l_tx2phCode + calib_params[1])%64;
l_tx3phCode = (l_tx3phCode + calib_params[2])%64;
*tx1PhShCode = (uint8_t)l_tx1phCode;
*tx2PhShCode = (uint8_t)l_tx2phCode;
*tx3PhShCode = (uint8_t)l_tx3phCode;
break;
}
}
return;
}
现已经理解tx_phaseShift_CodeLUT表格的计算过程,为理论的偏置相位配合 5.625度步进后的计算值,问题如下
1、tx_phaseShift_CodeLUT已经是理论计算值,为何上面Get_PhaseTxShifterCodeValue对Tx3相位配置值有一个index 19的偏置,相当于人工对TX3天线有一个106.875度偏置,该实现的理论依据是什么?
注意到dss_main函数内已经执行了GainPhaseParam_Init(MmwDemo_DSS_DataPathObj* obj),该函数理论上已经可以完成不同发射接收天线通道间的相位不一致。期待答复
Chris Meng:
你好,
请参考下面的论坛讨论:
(+) AWR1843BOOST: Transmitter Beamsteering Using AWR1843(Rev B) – Sensors forum – Sensors – TI E2E support forums