您好!
为什么要将 numChirpsPerFrame 设置为2、前提是该进程是一帧执行一次? 在这种情况下 、帧中有一个线性调频脉冲是无用的?
配置配置文件如下所示:
帧配置0 2 0 50 1 0
即 啁啾 EndIdx=0、 啁啾 StartIdx=0、 numLoops=2
而 numChirpsPerFrame =(chirpEndIdx-chirpStartIdx+1)* numLoops = 2。
感谢您的回复!
此致、
恒阳芳
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.
您好!
为什么要将 numChirpsPerFrame 设置为2、前提是该进程是一帧执行一次? 在这种情况下 、帧中有一个线性调频脉冲是无用的?
配置配置文件如下所示:
帧配置0 2 0 50 1 0
即 啁啾 EndIdx=0、 啁啾 StartIdx=0、 numLoops=2
而 numChirpsPerFrame =(chirpEndIdx-chirpStartIdx+1)* numLoops = 2。
感谢您的回复!
此致、
恒阳芳
您好、Nitin、
另一个问题是、SDK 用户指南中帧周期的 LSB 为1ms、而在源代码中变为5ns、哪一个是正确的?
如果它等于5ns、则会混淆基于峰值数量的频谱估算、因为 obj->peakDistanceHeart_min 太大。
numPeaksHeart = find_Peaks (obj->tempCircularBuff、float_type、pPeakLocsHeart、obj->pPeakValues、0、Circular Buffer_Size_Heart - 1);
if (numPeaksHeart!= 0)
{
numPeaksHeart = filterPeaksWfm (pPeakLocsLoct、pPeaksHearid、numPeaksHeart、obj->peakDistanceHeart_min、obj->peakDistanceHeart_Max);
}
obj->peakDistanceHeart_min =(uint16_t) obj->samplingFreq_Hz/(obj->Heart _endFreq_Hz);
此致、
恒阳芳
您好、亨阳、
frameCfg 命令采用以毫秒为单位的帧周期、但不会直接发送到毫米波长(用于与传感器前端通信的低级 API)。 frameCfg CLI 处理程序(
C:\ti\mmwave_sdk_01_00_02\packages/ti\utils\cli\src\cl_mmwave.c)解析 frameCfg 命令并调用较低级的 mmwavelink 函数 rlSetFrameCfg。
根据 mmwavelink doxygen 文档中的定义、帧周期的每个 LSB 等于5ns (文件://C:/ti/mmwave_sdk_01_01_00_02/packages/ti/control/mmwavelink/docs/doxygen/html/group___sensor.html:#gaf1e5cbc25891714db321da3bfa0d2014)
基本上、CLI 上的 frameCfg 命令采用以 ms 为单位的值、该值转换为上述 CLI 处理程序函数内所需的硬件值。 以下是 mmwave_cli.c 中的 frameCfg CLI 处理程序、用于快速参考。
/**
*@b 说明
*@n
* 这是帧配置命令
*
*@param[in] argc
*的 CLI 处理程序 参数数
*@param[in] argv
* 参数
*
*\ingroup cli_UTIL_internal_function
*
*@retval
* 成功- 0
*@retval
* 错误-<0
*/
static Int32_t cli_MMWaveFrameCfg (int32_t argc、char* argv[])
{
rlFrameCfg_t frameCfg;
/*完整性检查:最小参数检查*/
if (argc!= 8)
{
cli_write ("Error: invalid usage of the CLI command\n");
返回-1;
}
/*完整性检查:帧配置仅对帧或有效
高级帧模式:*
if (gCLIMMWaveControlCfg.dfeDataOutputMode!= mmWave_DFEDataOutputMode_frame)
{
CLI_WRITE ("错误:仅当 DFE 输出模式为线性调频脉冲时、配置才有效");
返回-1;
}
/*初始化帧配置:*/
memset ((void *)&frameCfg、0、sizeof (rlFrameCfg_t));
/*填充帧配置:*/
frameCfg.chirpStartIdx = atoi (argv[1]);
frameCfg.chirpEndIdx = atoi (argv[2]);
frameCfg.numLoops = atoi (argv[3]);
frameCfg.numFrames = atoi (argv[4]);
frameCfg.framePeriodicity =(uint32_t)((float) atof (argv[5])* 1000000 / 5);
frameCfg.triggerSelect = atoi (argv[6]);
frameCfg.frameTriggerDelay =(uint32_t)((float) atof (argv[7])* 1000000 / 5);
/*保存配置以稍后使用*/
memcpy ((void *)&gCLIMMWaveControlCfg.u.frameCfg.frameCfg、(void *)&frameCfg、sizeof (rlFrameCfg_t));
返回0;
}
此致
尼廷