Part Number:IWR6843
您好!
mmwave_industrial_toolbox_4_8_0\labs\out_of_box_demo\68xx_mmwave_sdk_dsp例程中mss_main.c里面的MmwDemo_convertCfarToLinear函数中1962行的计算公式:
linVal = dbVal * (256.0 / 6.0) * ((float)numVirtualAntennas / (float)(1 << mathUtils_ceilLog2(numVirtualAntennas)));
dbVal * (256.0 / 6.0) 主要目的是把20log10(abs(x))转化成log2(abs(x))*256
现在的疑问是:公式后面的((float)numVirtualAntennas / (float)(1 << mathUtils_ceilLog2(numVirtualAntennas)));的作用是什么?
如果numVirtualAntennas为1,4,8,后面就是等于1,如果为12,则为0.75.
函数定义如下:
/* Convert CFAR threshold value */
subFrameCfg->objDetDynCfg.dspDynCfg.cfarCfgRange.thresholdScale = MmwDemo_convertCfarToLinear(subFrameCfg->objDetDynCfg.dspDynCfg.cfarCfgRange.thresholdScale, staticCfg->numVirtualAntennas);
static uint16_t MmwDemo_convertCfarToLinear(uint16_t codedCfarVal, uint8_t numVirtualAntennas)
{
uint16_t linearVal;
float dbVal, linVal;
/* dbVal is a float value from 0-100dB. It needs to
be converted to linear scale..
First, recover float dbVal that was encoded in CLI. */
dbVal = (float)(codedCfarVal / MMWDEMO_CFAR_THRESHOLD_ENCODING_FACTOR);
/* Now convert it to linear value according to the following:
linear_value = dB_value * (256 / 6) * (numVirtualAntennas / (2^ ceil(log2(numVirtualAntennas)))) .
*/
linVal = dbVal * (256.0 / 6.0) * ((float)numVirtualAntennas / (float)(1 << mathUtils_ceilLog2(numVirtualAntennas)));
linearVal = (uint16_t) linVal;
return (linearVal);
}
Cherry Zhou:
您好我们已经收到您的问题并反馈,预计将于48小时内给您答复。谢谢!
,
Cherry Zhou:
您可以参考以下帖子以解决您的问题:
https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/623550/awr1642-cfar-threshold-setting-in-mmw-demo
希望以上回答对您有所帮助,如有其他问题请随时联系我们。
,
user6408303:
你好!
推荐的贴子里面讲的是公式前面的意义,这个我能理解的,我问的是公式后面的意义:
公式后面的((float)numVirtualAntennas / (float)(1 << mathUtils_ceilLog2(numVirtualAntennas)));的作用是什么?
如果numVirtualAntennas为1,4,8,后面就是等于1,如果为12,则为0.75.
,
Cherry Zhou:
您好,我会将您的问题反馈到英文论坛。因国庆节假期来临,预计答复时间为下一个工作日。感谢理解!
,
Cherry Zhou:
这是一个 CFAR 算法实现问题。 在您所提的问题中,这是 CA-CFAR 或单元平均 CFAR。
您可以参考以下资源,该资源用于说明我们在设备上如何实现此计算:
SDK 模块文档: CFAR<MMWAVE_SDK_INSTALL_PATH>\docs\mmwave_sdk_module_documentation.html
希望以上回答对您有所帮助,如有其他问题请随时联系我们。
,
user6408303:
您好!
看了该文档了,但是还没有解决自己的疑惑,能否解答的更详细一点?谢谢!
,
Cherry Zhou:
好的,我再帮您询问下工程师,如有答复将尽快回复您。同时我们建议您可以查询论坛相关帖子来查看是否能得到帮助。谢谢!
,
Cherry Zhou:
您好,我们建议您了解 CA-CFAR 算法以及其他实现方法了来帮助您理解。 这些知识有助于您理解我们上文为您提供的相关文档并提供相应的背景资料。
很抱歉该论坛的支持范围并不适用于各个代码行级别。
希望以上回答对你有所帮助,如有其他问题请随时联系我们。
,
user6408303:
你好!谢谢回复,后面的公式已经想通了,因为无论多少虚拟天线,计算都是1.这样就容易理解了。