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.

[参考译文] IWR1443:如何计算以 dBFS (或 dBm)为单位的距离系统配置

Guru**** 2538950 points
Other Parts Discussed in Thread: IWR1443, IWR1642

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/849044/iwr1443-how-to-calculate-range-profile-in-dbfs-or-dbm

器件型号:IWR1443
主题中讨论的其他器件: IWR1642

您好!

我的客户正在开发自己的可视化工具、在其目标模块上运行 IWR1443/IWR1642 OOB 演示。
他们已经确认工作正常、即通过 OOB 演示可视化工具在距离配置文件中看到相同的结果。

如您所知、OOB 演示可视化工具上的范围配置文件指示检测到的对象的相对功率。 现在、他们希望更改检测到的功率、以 dBFS 或 dBm 为单位、但不了解具体方法。  

供参考、这里是区域占用演示 MATLAB 代码(MMWAVE_INDUSIAL_toolbox_)的一个片段 \labs\lab0016_zone_occ_14xx\gui\MMW_DEMOD_ZARE_LOAD.m)要获得相对功率(rp):

RP = rp*log2ToLog10*log2Qformat + Params.dspFftScaleCompAll_log; 
其中 ,- rp:返回的标签值;0x00000002 TLV 数据包 - log2ToLog10:20*log10(2) - dspFftScaleCompAll_log:1D 和2D FFT 相关的比例值 - log2Qformat:在平台上进行删除。 如果 platformType = HEX2DEC ('a1642')、请参见以下内容 log2Qformat = 1/(256*Params.dataPath.numRxAnt * Params.dataPath.numTxAnt); elseif platformType = HEX2DEC ('a1443')|| platformType = HEX2DEC ('a1111') (如果 Params.dataPath.numTxAnt = 3) log2Qformat =(4/3)*1/512; 否则 log2Qformat = 1/512; 否则结束 fprintf ('Unknown platform\n'); 返回 结束

这在 OOB Demo Visualizer 中应该是相同的,对吧? 他们只是想知道如何计算此 rp 的 dBFS (或 dBm)。  请给出建议吗?

此致、
NK


  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    有关确定满量程或相对功率以确定 dBFS/dBm 的建议方法、请参阅此响应和一般主题:  

    https://e2e.ti.com/support/sensors/f/1023/p/821420/3109469#3109469

    Amanda

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的回答。 我已经阅读了您在提问之前建议的帖子。 不幸的是,它没有回答我们的问题。

    好的、我尝试从不同的角度接近。  我知道 PoUT (dBFS)和 PoUT (dBm)的计算公式如下。  
    在 OOB 演示中、正确系数的第1个和第2个元素是什么? 您认为这可以应用于他们的用例吗?

    此致、
    NK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    那么,您对上述查询的回答是什么?

    此致、
    NK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果您想使用文献资料中描述的方法、您需要收集 ADC 数据-这是使用 DCA1000。 对于 OOB 演示的用例、建议的过程如上一个线程所示。  

    Amanda

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Amanda

    是的、我知道我建议的在原始数据采集环境中工作的方法。 在这种情况下、用户可以自行配置数据位和窗口化系数、因此可以轻松计算第1个和第2个系数。

    我想问在 OOB 演示中该值(第一个和第二个因子)是什么? 我知道1D FFT 已在 HWA 中、因此如果您可以提供有关 HWA FFT 窗口调整规格的信息、我想我们可以将 OOB 演示1D FFT 的返回值转换为 dBFS (或 dBm)。 我的理解是否正确?

    您提到了以下帖子中的答案:

    https://e2e.ti.com/support/sensors/f/1023/p/821420/3109469#3109469

    但不幸的是,我无法理解这一意图。 您能不能确定答案?

    此致、
    NK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅 SDK 中 的\ti\datapath\DPC\objectdetection\common\docs\object_detection_data_scaling.xlsx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Piyush_

    感谢您的回答。

    请让我确认我的理解是否正确。

    您建议 HWA 中应用的缩放如下所示:

    我们将能够在雷达立方体中获取1D FFT 结果、并将其转换为 dB 形式(mag2db)。 如果我们希望以 dBFS 为单位,您是否意味着我们还应该考虑一维 FFT 结果的 HWA 中的蝶形缩放(完全为0.25)(在以 dB 为单位进行转换之前),然后应用上述计算(在本例中“位”表示16)?

    此致、

    NK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1D FFT 的数据格式可从 doxygen 中找到:"距离处理仅支持16位 IMRE 格式的复数数据(DPIF_DATAFORMAT_CAx16_Imre)。" 文件: ///C:/ti/mmwave_sdk_03_03_00_02/packages/ti/datapath/dpu/rangeproc/docs/doxygen/html/index.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Amanda 回答说、BITS 为16。 是的、您必须考虑到蝴蝶比例因子0.25。 关于窗口比例、我想澄清的是、扩展表比例因子是相对于纯(Matlab 类型)实现的、 不是您应该用于公式中的窗口项的公式、例如 Blackman 窗口实际上按系数2.4 (即 Blackman)缩放[w(i)](对于 Blackman)是 sum (w (i)[= N](对于矩形)的1/2.4倍[= N](如果您愿意,可以检查 MATLAB)。 因此、您仍然必须正确使用方程中的窗口项。 因此,基本而言,在计算校正项时,假设您使用的是 OOB 实现的1D FFT 输出,您必须做的就是用20*log10 (N/(4*2.4)替代窗口项[系数4是1/0.25我们在 HWA 配置中编程的蝶形缩放]。

    如果您使用检测矩阵输出[这是2D FFT 输出的虚拟天线的对数幅度]、则必须根据更复杂的计算的扩展表信息进行大量的更多调整。 请注意、我们在 OOB 图中显示为距离剖面的不是1D FFT 输出、 这是第0个多普勒箱处的检测矩阵输出[对应于第0个多普勒时的所有距离箱]、此外、我们进行了调整、以跨不同的 FFT 大小进行标准化[正如我在另一篇文章中解释的原因、Amanda 引用了这篇文章、正如您从可视化工具代码中看到的那样 引用的内容]。 噪声曲线图来自最大多普勒箱处的同一检测矩阵[假设实际场景中没有物体以最大速度移动、这通常在稳定场景中是如此]、从而使您能够可视化器件的接收器噪声。 请注意、距离 FFT 尚未分离多普勒、即在同一距离对应于不同速度的物体的所有能量[在物理世界中、这意味着它们处于不同角度]集中在该距离的一个区间中。 因此、无论您使用距离 FFT 还是多普勒 FFT 输出、无论是选择一个纸槽还是几个纸槽、还是执行 FFT 纸槽的满能量和[本质上与 ADC 时域能量相同]、 这取决于您在高层试图实现的目标。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Piyush_

    非常感谢您的回答。 正如您所建议的、我要做的是将 rangeProfile (检测矩阵输出)从相对功率转换为 dBFS 形式。 因此、我需要在方程中具有进一步的校正因子。

    至于 FFT 窗口化损耗、我似乎应该关心与重新同步相比的比例。 正如您所说的、在 Blackman 案例中、它大约为2.4。 如果我讨论用于多普勒 FFT 的 Hann、它大约为2.0。  

    因此、我认为公式中的 FFT 窗口化损耗(20log10 (sum (w)))对应于以下组件的总和:

    • 范围 FFT 部件: 20*log10 (N /((1/srcScale)*(sum (RectWin)/sum (Blackman))*(1/butflyScale)*(1/dstScale)))   
      --> 20*log10 (N/(1*2.4*4*1)),其中 N=距离 FFT 大小
    • 多普勒 FFT 和 log2输出部分: 20*log10 (N /((1/srcScale)*(sum (RectWin)/sum (Hann))*(1/flyScale)*(1/dstScale)))   
      --> 20*log10 (N/(0.0039*2.0*32*1)),其中 N=多普勒 FFT 大小

    我的理解是否正确?

    我应该如何关注展板中的"天线输出总和- FFT"的正确系数? 我认为这实际上不是 FFT。  
    如果对此进行澄清、我认为公式中的 FFT 窗口化损耗部分已解析。 由于 PoUT (FFT)采用 log2形式(检测矩阵输出)、因此我应将其转换为 log10形式、然后应用所有正确的因子。  

    此致、
    NK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、您对距离和多普勒 FFT 术语的理解是正确的、但请注意、根据 xls、多普勒 srcscale 取决于 FFT 大小(N 多普勒 FFT)本身、请参阅 xls 上的颜色编码以了解用户输入的内容以及不是什么内容。 因此,您将认识到蝴蝶比例因子0.03125本身是1/N,因此多普勒 FFT 因子只是20*log10 (1/(0.0039*2*1))[与距离项不同,没有 N 依赖性]。

    虚拟天线上的 log2总和是单个接收天线的 log2幅度之和、但它是在 HWA 中使用 FFT 和选择第0个二进制(DC)完成的、该二进制数只是输入的总和。 缩放与使用 FFT 以特定的 Q 格式获得总和相关、并注意术语"平均比例"取决于虚拟天线的数量、 由于 FFT 始终是2的幂、因此12个虚拟天线将16个项求和[在12之后填充零]、因此平均值刻度将为此进行调整。 请注意、该块中的标量是相对于同时使用 FFT 进行求和的 Matlab 而言的、因此 FFT 增益系数为 nV (nV =虚拟天线的数量)、因此虽然 Matlab 直型 FFT 将执行12点 FFT、因此其增益将为12倍、 HWA FFT 正在执行16倍的操作、因此需要调整的平均值刻度为12/16。 您将需要考虑与距离和多普勒 FFT 标量类似的情况[尽管名称"平均比例"可能会误导、因为 FFT 输出不是试图求平均值、而是求和、在这种情况下、它会引入 N 增益]。 您必须转换为 log10格式,并注意它不是10*log2(.),它只是 log2(.),因此您也必须了解该细节。

    对于多个虚拟天线[或 ADC 通道]而言、您尝试达到的 dBFS 根本没有意义、但您可以通过虚拟天线总和以某种方式确定一个天线的等效性。 请注意、功率是在 log2转换后添加的、即 e = sum (log2 (|.|))、因此在线性中、功率是乘法(log a + log b = log (AB))、这会使事情变得复杂。 但是、如果您假设虚拟天线上的各个功率彼此非常接近(几乎相同)[如果您进行增益/相位补偿、则更可能满足的假设]、则该项等于 nV * log2 (|r0|)、 这可能允许您对 dBFS 进行必要的调整、但从根本上说、当您集成多个接收通道时、dBFS 意味着什么?

    一旦达到正确的标量、最好检查您是否流式输出 ADC 样本、您在 MATLAB 中计算出的离线值与距离系统配置的调整输出相匹配。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    第一行"多普勒 srcscale"中的校正应为"多普勒蝶形缩放"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Piyush_、

    很抱歉我的回答延迟。

    [引用 user="piyush_"]虚拟 天线上的 log2总和是单个接收天线的 log2幅度之和、但它是在 HWA 中使用 FFT 完成的、并选择第0个二进制(DC)、这只是输入的总和。 缩放与使用 FFT 以特定的 Q 格式获得总和相关、并注意术语"平均比例"取决于虚拟天线的数量、 由于 FFT 始终是2的幂、因此12个虚拟天线将16个项求和[在12之后填充零]、因此平均值刻度将为此进行调整。 请注意、该块中的标量是相对于同时使用 FFT 进行求和的 Matlab 而言的、因此 FFT 增益系数为 nV (nV =虚拟天线的数量)、因此虽然 Matlab 直型 FFT 将执行12点 FFT、因此其增益将为12倍、 HWA FFT 正在执行16倍的操作、因此需要调整的平均值刻度为12/16。 您将需要考虑与距离和多普勒 FFT 标量类似的情况[尽管名称"平均比例"可能会误导、因为 FFT 输出不是试图求平均值、而是求和、在这种情况下、它会引入 N 增益]。 您必须转换为 log10格式,并注意它不是10*log2(.),它只是 log2(.),因此您也必须确定该详细信息。

    那么、您能否像以下距离和多普勒 FFT 相关校正一样、将上述内容汇总为单个公式(请参阅红色文本)? 我认为这将解决所有正确的因素以 dBFS 为单位获取输出、然后通过比较 MATLAB / RawData 环境来验证输出。

    • 范围 FFT 部件: 20*log10 (N /((1/srcScale)*(sum (RectWin)/sum (Blackman))*(1/butflyScale)*(1/dstScale)))   
      --> 20*log10 (N/(1*2.4*4*1)),其中 N=距离 FFT 大小
    • 多普勒 FFT 和 log2输出部分: 20*log10 (1/(0.0039*2*1))
    • 总和天线输出 FFT 部件(log2输出形式):
    • 从 log2到 Log10:的检测矩阵输出转换

    此致、
    NK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我相信我已经为您提供了足够的信息、以便您能够进行计算。