工具/软件:
嗨、
我们的目标是确定在 SDK 代码中设置点云值 (x、y、z、velocity) 的位置、以便我们可以在处理流水线中正确地添加和使用 rangeIdx 和 dopplerIdx。
我们将使用 AWR2944PEVM 电路板、以及从 SDK mmwave_mcuplus_sdk_04_07_01_04 加载的 awr2x44P_mmw_demoTDMenet.appimage 演示的修改版本。 我们修改的代码是 DPIF_PointCloudCartesian 结构、用于包含 rangeIdx 和 dopplerIdx 信息:
typedef 结构 DPIF_PointCloudCartesian_t
{
悬空 x;
浮动 y;
浮动 z;
浮 速;
int16_t rangeIdx; /*新*/
int16_t dobplerIdx;/*新*/
}DPIF_PointCloudCartesian;
添加这一内容的原因是、稍后在处理流水线中、我们希望收集每个检测点附近的多普勒数据并通过以太网发送。 我的问题是:代码中的 x、y、z 和速度值设置在哪里? 我找到了一些可能的位置并放置了虚拟值、例如 aoaprochwa.c 中的第 1903 行:
objOut[objOutIdx].x = x;
objOut[objOutIdx].y = y;
objOut[objOutIdx].z = z;
objOut[objOutIdx].velocity = params->dopplerStep *(float) dopplerIdx;
objOut[objOutIdx].rangeIdx = 10;/*此处设置虚拟值*/
objOut[objOutIdx].dopplerIdx = 10;/*此处设置虚拟值*/
objOutSideInfo[objOutIdx].noise = objIn[objInIdx].noise;
objOutSideInfo[objOutIdx].SNR = objIn[objInIdx].SNR;
RES->detObj2dAzimIdx[objOutIdx]=(uint8_t) maxIdx;
在 aoaprochwa.c 中的第 2870 行:
对于 (idx=0;idx < numObjsIn;idx++)
{
range =(float) res->cfarRngDopSnrList[idx].rangeIdx * DPParams->rangeStep;
RES->detObjOut[idx].y =范围;
RES->detObjOut[idx].x = 0.0F;
RES->detObjOut[idx].z = 0.0F;
temp = AOA_Dopply_IDX_to_signed (res->cfarRngDopSnrList[idx].dopplerIdx、DPParams->numDopplerBins);
RES->detObjOut[idx].rangeIdx = 20;/*此处设置的虚拟值*/
RES->detObjOut[idx].dopplerIdx = 20;/*此处为虚拟值*/
Res->detObjOut[idx].velocity = DPParams->dopplerStep *(float) temp;
Res->detObjOutSideInfo[idx].SNR = res->cfarRngDopSnrList[idx].SNR;
Res->detObjOutSideInfo[idx].noise = res->cfarRngDopSnrList[idx].noise;
}
但是、在使用 CCS 20.2.0 进行调试时、我会获得以下输出:
Cortex_R5_0:点:[0.053103、–0.066911、0.000000]- 0.406067 m/s
Cortex_R5_0:CFAR:RangeIdx:1698、DopplerIdx:16125
Cortex_R5_0:点:[0.418488、0.000000、1.457062] 1.930595m/s
Cortex_R5_0:CFAR:RangeIdx:22879、DopplerIdx:–16531.
Cortex_R5_0:点:[0.000000、0.000000、0.000000] 0.000000 m/s
Cortex_R5_0:CFAR:RangeIdx:0、DopplerIdx:0
这看起来像是来自未初始化变量的随机/垃圾值。 由于这些垃圾值,我怀疑 x、y、z 和 velocity 的值被设置在代码中的其他位置,而不是在我定位的位置。 如果有人能帮助我解决这个问题或指出 x、y、z 和速度的设置位置、我将非常感激。
我使用的配置如下:
%****************************************************************************
为 SDK 版本创建的百分比:04.07
使用可视化工具版本:4.7.0.0 创建的百分比
%频率:77
%平台:AWR2X44P
%场景分类器:best_range_res
%方位角分辨率(度):15 +仰角
%距离分辨率 (m):0.04
%最大不模糊距离 (m):9.02
%最大径向速度 (m/s):1
%径向速度分辨率 (m/s):0.13
帧持续时间百分比(毫秒):100
% RF 校准数据:无
范围检测阈值百分比 (dB):15
%多普勒检测阈值 (dB):15
%范围峰值分组:已启用
%多普勒峰分组:已启用
%静态干扰消除:已禁用
%到达角 FOV:全 FOV
%范围 FOV:全 FOV
%多普勒 FOV:全 FOV
%****************************************************************************
sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 11 0 0 0
adcCfg 2 0
adcbufCfg –1 1 1 1
低功率 0 0
profileCfg 0 77 267 2.5 57.14 0 0 70 1 272 5070 0 30
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 1 0 0 0 0 2
chirpCfg 2 2 0 0 0 0 0 8
frameCfg 0 2 16 0 272 100 1 0
低功率 0 0
guiMonitor –1 1 0 0 0 1
antGeometryCfg 1 0 1 2 1 7 1 9 1 3 1 5 1 10 1 12 1 6 1 8 1 13 1 15 0 9 0 11 0 16 0 18 0.5
cfarCfg –1 0 2 8 4 3 0 15 1
cfarCfg –1 1 0 4 2 3 1 15 1
MultiObjBeamForming –1 1 0.5
calibDcRangeSig –1 0 –5 8 256
离合器拆卸–1 0
cfarFovCfg –1 0 0 30
CfarFovCfg –1 1 - 1.00
compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
extendedMaxVelocity –1 0
MeasureRangeBiasAndRxChanPhase 0 1.5 0.2
aoFovCfg –1 –90 90 –90 90
calibData 0 0 0
enetStreamCfg 1 192 168 1 10.
sensorStart



