TI中文支持网
TI专业的中文技术问题搜集分享网站

DCA1000EVM: AWR1642+DCA1000采集adc数据的帧率问题

Part Number:DCA1000EVMOther Parts Discussed in Thread:AWR1642, , IWR6843

您好!

我现在需要使用毫米波雷达与摄像机同步采集数据,因此需要确定雷达回传数据的帧率。

在我做的实验里,AWR的idle time是 7 us,ramp end time是 57.14 us,那么chirp sampling time是 64.14 us,一共128个chirp,需要 0.008 s 。但是从DCA中采集到的数据,显然远没有这么高的帧率,请问是另有设置吗?还是因为数据传输速度有限的原因呢?

Shine:

帧与帧之间还有帧间隔,请参考下面文档Figure 2. Typical Frame Structurehttps://www.ti.com/lit/an/swra553a/swra553a.pdf

,

Chenming He:

您好,

我没有在这个文档里找到设置inter frame time的方法。经过再次测试,我录制了20s的数据,但解析之后发现只有10帧,这个帧率无论如何都太低了。

我使用的cfg文件和json文件如下:

sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 3 0
adcCfg 2 1
adcbufCfg -1 0 1 1 1
profileCfg 0 77 429 7 57.14 0 0 70 1 256 5209 0 0 30
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 2
frameCfg 0 1 16 0 250 1 0
lowPower 0 1
guiMonitor -1 1 1 0 1 1 1
cfarCfg -1 0 2 8 4 3 0 15 1
cfarCfg -1 1 0 4 2 3 1 15 1
multiObjBeamForming -1 1 0.5
clutterRemoval -1 0
calibDcRangeSig -1 0 -5 8 256
extendedMaxVelocity -1 0
bpmCfg -1 0 0 1
lvdsStreamCfg -1 0 1 0
compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
measureRangeBiasAndRxChanPhase 0 1.5 0.2
CQRxSatMonitor 0 3 5 121 0
CQSigImgMonitor 0 127 4
analogMonitor 0 0
aoaFovCfg -1 -90 90 -90 90
cfarFovCfg -1 0 0 8.92
cfarFovCfg -1 1 -1 1.00
calibData 0 0 0
sensorStart

{"DCA1000Config": {"dataLoggingMode": "raw","dataTransferMode": "LVDSCapture","dataCaptureMode": "ethernetStream","lvdsMode": 2,"dataFormatMode": 3,"packetDelay_us": 25,"ethernetConfig": {"DCA1000IPAddress": "192.168.33.180","DCA1000ConfigPort": 4096,"DCA1000DataPort": 4098},"ethernetConfigUpdate": {"systemIPAddress": "192.168.33.30","DCA1000IPAddress": "192.168.33.180","DCA1000MACAddress": "12.34.56.78.90.12","DCA1000ConfigPort": 4096,"DCA1000DataPort": 4098},"captureConfig": {"fileBasePath": "C:\\Users\\13197\\Desktop\\mmw\\DCA_Record\\data","filePrefix": "adc_data_","maxRecFileSize_MB": 1024,"sequenceNumberEnable": 1,"captureStopMode": "infinite","bytesToCapture": 4000,"durationToCapture_ms": 4000,"framesToCapture": 40},"dataFormatConfig": {"MSBToggle": 0,"laneFmtMap": 0,"reorderEnable": 0,"dataPortConfig": [{"portIdx": 0,"dataType": "real"},{"portIdx": 1,"dataType": "complex"},{"portIdx": 2,"dataType": "real"},{"portIdx": 3,"dataType": "real"},{"portIdx": 4,"dataType": "complex"}]}}
}

请问这是为什么呢?如何提高DCA采集的数据的帧率?

,

Shine:

请问mmwave studio里的Radar post processing界面显示的数据正确吗?

,

Chenming He:

之前用过mmwave studio,postproc里显示的热图都是正确的。

我这次采集数据用的是DCA1000_CLI_Control,是mmwave studio里编译好的可执行文件,我用自己的程序解析了采集的数据,数据没有问题,但是帧率很低。

,

Chris Meng:

你好,

frameCfg 0 1 16 0 250 1 0

你设定的一帧时间是250ms,也就是每秒只有4帧。

,

Chris Meng:

Chenming He 说:AWR的idle time是 7 us,ramp end time是 57.14 us,那么chirp sampling time是 64.14 us

每个chirp的采样时间是采样点数乘以(1/采样率)。64.14us是一个chirp的总时长。

,

Chenming He:

您好,我依然有两个问题

1、这里的frame periodicity在我的理解中,是为了保证AWR1642能有足够的时间通过UART回传热图数据而设置的(我想在录制数据时观察visualizer显示的热图,所以设置了比较低的频率),但不影响雷达天线的收发频率,同时也不影响雷达通过LVDS由DCA1000传输原始I/Q数据。是我的理解有误吗?

2、即便这个参数会影响LVDS传输的频率,也和我实验得到的0.5hz不吻合

,

Chris Meng:

Chenming He 说:1、这里的frame periodicity在我的理解中,是为了保证AWR1642能有足够的时间通过UART回传热图数据而设置的(我想在录制数据时观察visualizer显示的热图,所以设置了比较低的频率),但不影响雷达天线的收发频率,同时也不影响雷达通过LVDS由DCA1000传输原始I/Q数据。是我的理解有误吗?

这里设置的frame periodicity就是一个毫米波帧的帧周期。一个帧周期内的发波时间是你配置的chirp数据量。你接收到的数据和你设定的每个frame里的chirp数和每个chirp的采样点数相关。

,

Chris Meng:

Chenming He 说:2、即便这个参数会影响LVDS传输的频率,也和我实验得到的0.5hz不吻合

你的配置的number of frame是0,也就是一直发射。请问你使用DCA1000_CLI_Control是如何确认采集到的数据就是每帧的开始?是先让DCA1000EVM start record,让后再下载cfg文件让毫米波LVDS输出数据?你说的采集了20s是如何来控制的?

在json脚本里,你可以如下设置来控制采集的时间

"captureStopMode": "duration", "durationToCapture_ms": 20000,

,

Chenming He:

感谢提醒,我并没有注意采集到的数据还需要考虑是否是每帧开头的问题,之前是先发送cfg文件让毫米波启动,再start record接收数据。采集20s是程序运行start record后sleep 20秒再运行stop record完成的

想请教两个问题:

1、当模式为raw时,如何确定采集的数据帧头的位置?并且,我此前没有注意这个问题,解析得到的结果看起来也没有问题

2、帧率为0.5hz的问题依然存在,请问还可能是什么原因呢?

,

Chris Meng:

你好,

1. 正如我之前回复的,先让DCA1000EVM start record,让后再下载cfg文件让毫米波LVDS输出数据,这样可以保证采集到的数据是从第一帧帧头开始的。

2. 能否使用我建议的durantion来采集?采集后的数据文件包有多大?

,

Chenming He:

您好,

我尝试了先start record后发送cfg,并且使用duration采集,时间是20s

最后结果是得到了10332KB大小的数据包,我使用16位整型读取,共有5289648个数据

雷达有2*4个虚拟天线,每帧128chirp,每个chirp有256个sample,每一个sample有real和imag,那么5289648/(128*256*2*4*2)=10.089,帧率依然是0.5hz

,

Chenming He:

补充:

我把frame periodicity改为100ms后,录制20s得到了25644KB的数据包,看来这个参数确实影响了帧率,但不知道什么原因导致帧率的具体数值没有对应上

,

Chris Meng:

Chenming He 说:雷达有2*4个虚拟天线,每帧128chirp,每个chirp有256个sample,每一个sample有real和imag,那么5289648/(128*256*2*4*2)=10.089,帧率依然是0.5hz

channelCfg 15 3 0

adcCfg 2 1

profileCfg 0 77 429 7 57.14 0 0 70 1 256 5209 0 0 30chirpCfg 0 0 0 0 0 0 0 1chirpCfg 1 1 0 0 0 0 0 2frameCfg 0 1 16 0 250 1 0

上面这个配置计算一帧ADC数据量如下:

256(采样点)*(1-0+1)(chirp end index-chirp start index+1)*16(number of loop)*4(4RX)*2(complex 1x)*2 (16-bit ADC) bytes

请问你计算的数量里的128个chirp是如何来的?

,

Chenming He:

感谢解答,128个chirp这个数据来自我使用的一份开源代码,它应该是IWR6843的参数,我没有注意到AWR1642的num of loop是16

帧率没有问题了

赞(0)
未经允许不得转载:TI中文支持网 » DCA1000EVM: AWR1642+DCA1000采集adc数据的帧率问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1