关于AWR1443 CFAR时HWA的参数设置

Other Parts Discussed in Thread: AWR1443

AWR1443使用HWA实现CFAR时,参数设置里:

hwaParamCfg.dest.dstAcnt = detObjectListSize - 1;      //为甚么设置这么大,以Demo为例,距离单元256个,速度单元16个,每个速度通道做一次CFAR,

                                                                                        //检测出的点最多不会超过256,这里设置2048,为什么?

 hwaParamCfg.dest.dstBIdx = 4096;     //这个参数也不明白出于什么目的为何设置这么大?我理解的是每个速度通道做一次CFAR,也就是说16个速度通道

                                                               //算16次iteration,为什么每个iteration之间的检测结果在存放时要间隔这么远?

//而且,ACCEL_MEM最大才16k,每个iteration之间间隔4096=4k,16个iteration跑到下一个ACCEL_MEM都不止

//最奇怪的是,我Debug时查看ACCEL_MEM中存放的检测结果,各速度单元的检测结果之间并没有彼此隔开,

//都是挨在一起的。是我理解有误吗?那这里设置的4096到底是什么意思?

 


 

  • 你好,

    从下面的论坛讨论可以看出,dstAcnt 会限制总共输出的peak值的数据。

    下面的信息可以从HWA user guide里找到:

    In detected peaks list mode, only the detected peaks are output to the destination memory. In this case,

    the read-only register FFTPEAKCNT indicates how many peaks have been totally detected, so that the

    main processor can read that many locations from the destination memory.

    代码里的设置:

        hwaParamCfg.source.srcAcnt = numRangeBins-1;
        hwaParamCfg.source.srcBcnt = numDopplerBins-1;

    对于每一行rangebin,输出的peak数据量是不一定的,所以我认为这个dstBidx应该是没有什么实际的用处的。

  • 你好,非常感谢您的回复。还有几点不明白:
    1、为什么“dstAcnt 会限制总共输出的peak值的数据”?
    user's guid手册里描述DSTACNT是“specifies how many samples must be written per iteration”,对此我理解的是Demo中16个chirp就是16个iteration,每个iteration下会有DSTACNT个输出结果。由CFAR实际能检测出多少目标不确定,因此我以为这里的DSTACNT是每个iteration下能检测出的目标数量上限,对于每个iteration来说,256个点做CFAR检测,最多检出256个目标,为什么会设置dstAcnt = 2048?如果您说的“dstAcnt 会限制总共输出的peak值的数据”指的是全部iteration的检测结果总数,有没有相关文档提到这个?
    2、关于“这个dstBidx应该是没有什么实际的用处的”
    我能理解您的意思,但是我想知道有没有相关文档、手册明确说明?DSTBINDX是不是只在CFAR引擎下不起作用,还有没有其他情况不起作用?