我最初是在2020年1月发布的。 在这段时间内,在新冠疫情和其他事项之间,我没有从事这项工作。 我现在又来了。
我们希望使用 IWR1443来测量线性距离。 高精度实验室为我们提供了我们所需的大部分资源、但它仅测量最大的峰值。 在某些情况下、我们需要选择高于特定振幅的最接近峰值。 使用 CFAR 功能似乎是从峰列表中选择峰的一种方法。 但是、目前我还没有找到有关如何配置 CFAR 以在此模式下工作的文档或指导。 我希望 现在可能有一些新的文档或可以帮助指导我的人。
我正在尝试将 CFAR 选项添加到高精度实验室。 其目的是将其置于第一个 FFT 之后以选择特定的峰值,该峰值可能不同于使用 MmwDemo_peakSearch()函数时发现的最高峰值。 选择特定峰值后,该索引将复制到 rangeProcStats 结构的 maxIndex 元素,然后 调用 MmwDemo_processInterpolation()函数来执行缩放 FFT。 实际上, lab0003-4K-FFT 项目中的 MmwDemo_processCfar ()函 数版本将替换高精度实验室固件中的 MmwDemo_peakSearch()函数。
首先,我只添加 了 lab0003-4K-FFT 项目中的 MmwDemo_CLICfarCfg()和 MmwDemo_CLIPeakGroupingCfg()函数。 我根据我在各种实验中找到的值为各种参数硬编码值。 我发现、如果我将 peakGroupingCfg.inDopplerDirectionEn 变量设置为0或1、则固件会运行、但不会执行线性调频脉冲。 在 SDK 和工具套件文件中搜索 infopplerDirectionEn 不会导致查找使用该变量的位置、该位置应影响固件的功能。 但很显然、会产生一些效果。
如何确定为什么将 enable 变量设置为有效值会导致固件无法正常运行?
在4K_FFT 实验的 HWAutil_configCFAR ()函数中、有
hwaParamCfg.source.srcRealComplex = HWA 样片_format_Real;
源似乎来自 M0缓冲器。 但是,在用于配置该实验第1个 FFT 的 HWAUtil_configRangeFFT()函数中,有
hwaParamCfg[paramsetIdx].source.srcRealComplex = HWA 样片_format_complex;//复杂数据
该源似乎也是 M0缓冲器。 似乎没有任何东西可以改变对第一个 FFT 和 CFAR 的调用之间的 M0缓冲区、那么一个函数显示 M0包含真实数据、另一个函数显示具有复杂数据的情况如何?
高精度实验室和4K_FFT 具有不同的编码风格、这一点并不重要。 这使得尝试确保 CFAR 所需的所有必要函数和语句已从一个实验室复制到另一个实验室变得复杂。
我在另一篇文章中询问了有关固件的文档。 我对这个例子有同样的问题。 《雷达硬件加速器用户指南》介绍了有关 CFAR 的详细信息、但未明确说明如何通过 HWA 链接各种路径。 4K-FFT 实验室使用与高精度实验室不同的第一个 FFT 设置集。 因此,MmwDemo_configCFAR_HWA ()函数中 CFAR 的设置需要不同于4K-FFT 实验中的设置。 如何确定这些设置需要是什么? 哪些文档对其进行了说明?