工具/软件:
我更RANGE_BIN_END改为 20、因此该器件可以在大约 100cm 的距离内捕获特征、但刷写固件后、无法从数据 COM 端口读取任何数据。

我使用 JTAG 进行调试、但我遇到了一个问题。 我可能忽略了哪些方面、如何解决?

This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
我更RANGE_BIN_END改为 20、因此该器件可以在大约 100cm 的距离内捕获特征、但刷写固件后、无法从数据 COM 端口读取任何数据。

我使用 JTAG 进行调试、但我遇到了一个问题。 我可能忽略了哪些方面、如何解决?

您好、Santosh、
抱歉—我认为上一条消息中的图像上传存在问题。
我已再次上传图片、并想澄清我的问题。
我尝试将 RANGE_BIN_END 更改为 20、以便器件能够检测大约 100cm 远的手势特征、如图所示。

但是、我遇到了错误。 以下是我在使用 JTAG 进行调试期间看到的消息。

我怀疑问题可能是 range_bin 间隔太大、器件无法处理。
我还尝试了缩小 range_bin_start 和 range_bin_end 之间的间隔、但仍然出现了相同的问题。

如有任何建议、将不胜感激。
此致、
Haoyu
嗨、Josh、
我设置了一些断点,并注意到当 range_bin 在 15 和 20 之间,事情在DPC_ObjectDetection_execute结束后立即中断,我们回到main.c运行DPM_execute. 因为我无法窥视内部DPM_execute、所以我不知道到底出了什么问题。 最重要的是、每次我调试时、崩溃都发生在不同的位置、所以很难确定准确的罪魁祸首——我只是知道它在某个位置MmwDemo_DPC_ObjectDetection_dpmTask。

此外、我使用的工具箱版本为 3.10.00.05。
此致、
Haoyu
您好、Haoyu、
谢谢你。 根据您描述的行为、它似乎在完成处理之前已经用完了帧时间。
查看手势识别代码后、我认为问题可能是由于特征提取部分 (gentation.c) 中的一些低效率/错误造成的。 例如、在中 Computefeatures_DOABasse() 、有一个通过 rangeBin =0 搜索到 range_bin_end 的 for 循环、但我认为它只需要从 range_bin_start 到 range_bin_end 、这将导致额外的处理时间、即使为图元提取指定的范围区间的实际间隔小于默认值。 您是否可以尝试更改此设置、以便循环从 RANGE_BIN_START 开始?
同样、 Computefeatures_prestart() 对于所有距离区间、将接近零多普勒的多普勒频段清零、但同样、这可能只需要对目标距离区间执行此操作。
此致、
Josh
您好、Josh、
感谢您的答复。
我认为由于我刚才的解释、可能有一些误解、所以让我澄清一下我的问题。
我正在使用示例项目代码、并尝试让设备检测 1 cm 到 100 cm 范围内的手势。为此、我修改了RANGE_BIN设置、并使用增强的 COM 端口收集手势功能以用于培训目的。
但是、当我将设置RANGE_BIN在 15 到 20 之间时、我注意到当我在 100 厘米左右执行手势时、通过 COM 端口接收的特征不包含任何可检测的手势数据。 这让我感到困惑、因为根据我的雷达配置、器件应该能够检测到长达 200cm 左右的距离。
但当我在 100 厘米挥动我的手时,的值numPoints大部分是零。 这是否意味着器件在该距离没有接收手势数据? 如果是、建议采用什么方法来解决此问题?
【雷达配置】

【距离区间设置】

[在 60 cm 到 100 cm 之间执行手势的功能视图]

如有任何建议、将不胜感激。
此致、
Haoyu
你好 Josh、
很抱歉、延迟的回复。 我们做了一些调整THRESH_NUM_POINTS参数的实验。 具体而言、当我站在 75cm 到 100cm 的距离并在开放区域执行手挥手势时、我们观察到手势功能的变化、特别是numPoints、evaluationMean和AzimuthMean。 更改的值THRESH_NUM_POINTS无法有效检测指定距离处的手势。
测试结果如下、我们将THRESH_NUM_POINTS值分别修改为 1,350,1300 和 1200、并在指定距离执行手挥手势。 功能数据显示、与没有任何手势的场景相比、差异非常小。
[ISTHRESH_NUM_POINTS 1350]的 gestrue 功能

[ THRESH_NUM_POINTS IS 1300 的地理特征]

[IS THRESH_NUM_POINTS 1350]的 gestrue 功能

您有任何调整建议吗?
此致、
Haoyu
嗨、Haoyu、
当您降低阈值时、积分数量功能似乎会略微增加。 如果您继续降低它、当没有执行手势时、numPoints 是否保持为 0? 例如、您是否可以尝试将值设为 1000、 THRESH_NUM_POINTS? 也可以尝试略微调整 Dopula_bins_to_suppress。 这些参数是 根据我们测试范围适用的参数凭经验选择的、因此可能需要更改它们、以在不同范围内获得良好的特性数据。
此外、在执行手势时、请确保手/手臂位于感兴趣区域内。 您是否尝试过不同的站立位置?
此致、
Josh
你好、Josh、
我想澄清一下、上周、当我尝试 THRESH_NUM_Points 设置时、我发现降低其值确实会增加 numPoints 计数。 然而、在 60 cm 到 100 cm 之间、波形手势和无手势之间的特征数据没有明显的差异。 我认为这使得神经网络很难正确识别手势(如果我弄错了,请告诉我)。
测试结果表明手势特征仅在 30 cm 内发生显著变化、而无手势特征数据和 70 cm 处的特征数据显示差异很小(如下图所示)。
[无手势、30 厘米左右摇摆和 70 厘米左右摇摆的特征数据比较]
THRESH_NUM_Points:1000
RANGE_BIN:15 ~ 20

此外,今天我尝试调整多普勒 Bins_to_suppress。 我逐步将其从默认值 5 增加到 30、并观察到生成的特征数据。 我发现多普勒_bins_to_suppress 值越大、所需的波形幅值就越宽(如果我错了,请更正我)。 但是、我不理解更改 Pullup_bins_to_suppress 与使器件能够在更远距离检测手势的关系。
[将多普勒_bins_to_suppress 设置为 5 时 30cm 处的大运动手势和小运动手势的特征数据比较]

[ 将多普勒_bins_to_suppress 设置为 30 cm 时的大运动手势和小运动手势的特征数据比较]

如有任何建议、将不胜感激。
此致、
Haoyu

您好、Haoyu、
我认为这使得神经网络很难正确识别手势
您是对的。 至少在 numPoints 和称重多普勒特征中应能看到清晰的峰值。 如果您在没有执行手势的情况下获得了 20-40 numPoints、那么 1000 看起来确实太低了。
我应该已经澄清了关于 dopulate_bins_to_suppress 的内容、我想您可以尝试将其降低到 4 或 3。 增大该值只会减少特征计算中使用的多普勒频段数量。
您是否尝试过改变您所站的距离、看看您是否获得了更好的结果? 我不知道距离箱的数量是否太小、还有一些手势动作被漏掉了。 您也可以尝试增加所使用的范围箱的数量、以便考虑将较大的区域用于特征提取。
此致、
Josh
你好 Josh、
很抱歉晚才回复。 我尝试RANGE_BIN_START在ComputeFeatures_RDIBased和中的检测矩阵中添加初始位置ComputeFeatures_DOABased(如下所示)、发现使用原始THRESH_NUM_POINTS设置时、我现在可以观察到 70cm 至 100cm 范围内的手势特征。使用此配置时、是否有任何注意事项或潜在问题?


如有任何建议、将不胜感激。
此致、
Haoyu