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.

[参考译文] AWR1843BOOST:启用 Z 的 MRR 演示

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1624387/awr1843boost-mrr-demo-with-z-enabled

器件型号: AWR1843BOOST

您好的团队、

目前、我们正在进行 MRR 演示。 在函数的 dss_main.c 文件中、

void MmwDemo_populateMRR(MmwDemo_DSS_DataPathObj* obj, uint16_t subframeIndx)
{
obj->numVirtualAntElev = 0; /* No elevation on the 1642 EVM */
}

由于使用 1642 雷达、因此仰角 TX 设置为 0、z 值设置为零、因为未计算该值。

void MmwDemo_XYcalc (MmwDemo_DSS_DataPathObj *obj,
                     uint32_t objIndex,
                     uint16_t azimIdx,
                     float * azimuthMagSqr)
{
    int32_t sMaxIdx;
    float temp;
    float Wx, offset, sMaxIdxFlt;
    float range;
    float x, y;
    uint32_t xyzOutputQFormat = obj->xyzOutputQFormat;
    uint32_t oneQFormat = (1 << xyzOutputQFormat);
    float invOneQFormat = obj->invOneQFormat;
    uint32_t sinAzimOneQFormat = (1 << obj->sinAzimQFormat);
    
    uint32_t numAngleBins = obj->numAngleBins;
    
    /* Calculate X and Y coordiantes in meters in Q8 format */
    range = ((float) obj->detObj2D[objIndex].range) * invOneQFormat;

    if (azimIdx > ((numAngleBins >> 1) - 1))
    {
        sMaxIdx = azimIdx - numAngleBins;
    }
    else
    {
        sMaxIdx = azimIdx;
    }
    
    /* Add in the offset from the quadratic interpolation. */
    offset =  quadraticInterpFltPeakLoc(azimuthMagSqr, numAngleBins, azimIdx);
    sMaxIdxFlt = ((float)sMaxIdx) + offset;

    Wx = 2 * sMaxIdxFlt *obj->invNumAngleBins;
    x = range * Wx;

    /* y = sqrt(range^2 - x^2) */
    temp = range*range - x*x;
    if (temp > 0)
    {
        y = sqrtsp(temp);
    }
    else
    {
        y = 0;
    }

    /* Convert to Q8 format */
    obj->detObj2D[objIndex].x = (int16_t)ROUNDF(x * oneQFormat);
    obj->detObj2D[objIndex].y = (int16_t)ROUNDF(y * oneQFormat);
    obj->detObj2D[objIndex].z = 0;
    obj->detObj2D[objIndex].sinAzim = (int16_t)ROUNDF(Wx * sinAzimOneQFormat);
    obj->detObj2D[objIndex].sinAzimSNRLin = computeSinAzimSNR(azimuthMagSqr, azimIdx, obj->numVirtualAntAzim, obj->numAngleBins, obj->xyzOutputQFormat);
}

但使用 1843 雷达时也同样适用。

您能否建议如何启用 z 值计算?

谢谢。此致、

Poorneka T

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

    您好、

    Z 值估算位于 MRR 演示中、您可以在以下位置找到 :C:\ti\radar_toolbox_4_00_00_05\source\ti\examples\Automotive_ADAS_and_Parking\medium_range_radar\dss\dss_data_path.c src

    查找函数 MmwDemo_XYZthimation()。

    您能建议如何启用 z 值计算吗

    根据您的处理情况、决定是否计算 Z

    if (obj->processingPath == point_cloud_processing)
        {
          MmwDemo_XYZthimation (obj、detIdx2);
        }
        暴露
        {
          MmwDemo_XYdetimation (obj、detIdx2);
        }
    谢谢您、
    恶劣
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的答复。 我一直在使用汽车工具箱导入 MRR 源、这就是我无法找到“MmwDemo_XYZthimation"的“的原因。

     USRR 演示中使用“obj->processingPath =point_cloud_processing“、MRR 演示中使用“obj->processingPath =MAX_VEL_ENH_processing“。

    我们能否 在 MRR 中进行“obj->processingPath =point_cloud_processing“?

    它不会影响其他处理链吗?

    您能解释一下“MAX_VEL_ENH_Processing"的“的功能是什么吗?

    我的最终目标是为 MRR 演示启用 Z 估算。

    谢谢、

    Poorneka T.

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

    您好、

    MAX_VEL_ENH_processing - “最大速度增强“处理路径、用于 MRR80 副车架(80m 中等距离)。 该路径采用特殊技术、将最大可检测速度扩展到超出单个线性调频脉冲设计所允许的速度(通过组合“快速线性调频脉冲“和“慢速线性调频脉冲“结果)。

    在 MAX_VEL_ENH_processing 中、未启用高度估算(MRR 子帧)。

    您是否可以使用雷达工具箱源文件?

    我相信、MRR(USRR 子帧)中默认启用了高度估算。


    谢谢您、
    恶劣

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

    您好!

    感谢您的更新。

    是否可以像在 USRR 子帧中那样启用 MRR 子帧的高度估算?

    谢谢、

    Poorneka T

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

    您好、

    不能直接实现、因为它不使用仰角天线。 (在  MAX_VEL_ENH_processing 处理中)。

    谢谢、
    恶劣