Part Number:AWR1642BOOSTOther Parts Discussed in Thread:AWR1642, DCA1000EVM
您好
我正在使用本地的程序复现AWR1642内置的检测流程,用来处理DCA1000EVM捕获的数据
在CFAR检测部分,它是通过对参考窗内采样数据取平均来估计背景功率,再加上一个人为设定的阈值作为最终的threshold,和原始的功率进行比较。而在阈值设置部分,我找到了user-guide里的描述
截图来自MMWAVE SDK User Guide
我想请问这里converted from dB to Q8是什么意思呢?比如这个参数设置为15,是给noise+15作为最后的threshold吗?
Chris Meng:
Chenming He 说:Q8是什么意思呢
Q格式:小数点位于第n 位元之右侧,称为Qn 格式
Chenming He 说:比如这个参数设置为15,是给noise+15作为最后的threshold吗?
建议查看源码了解更详细的信息。
,
Chenming He:
您好
我在mss_main.c里找到了这样一段代码:
/***@b Description*@n*Utility function to convert the CFAR threshold*from a CLI encoded dB value to a linear value*as expected by the CFAR DPU**@param[in] codedCfarVal CFAR threshold in dB as encoded in the CLI*@param[in] numVirtualAntennas Number of virtual antennas**@retval*CFAR threshold in linear format*/ static uint16_t MmwDemo_convertCfarToLinear(uint16_t codedCfarVal, uint8_t numVirtualAntennas) {uint16_t linearVal;floatdbVal, linVal;/* dbVal is a float value from 0-100dB. It needs tobe 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); }这里的dbVal就是配置文件中设置的阈值,请问linear_value是什么意思呢?这里的计算公式我没有理解
另外,CFAR的过程在DPC中进行:
这部分代码我在mmw-SDK-3-5\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr16xx\mmw里没有找到,请问是在哪里呢?
,
Chris Meng:
你好,
建议你安装一个可以搜索代码的软件来看代码,用CCS也是可以的。
DPC_ObjectDetection_execute函数可以在下面的代码里找到。
C:\ti\mmwave_sdk_03_05_00_04\packages\ti\datapath\dpc\objectdetection\objdetdsp\src\objectdetection.c
,
Chris Meng:
Chenming He 说:请问linear_value是什么意思呢?
线性值,db使用log计算的,出来的曲线是非线性的。