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

DCA1000EVM: DCA1000捕获的具体数据格式是什么?

Part Number:DCA1000EVMOther Parts Discussed in Thread:AWR1642

我使用DCA1000和AWR1642录制了一些数据,模式是raw mode,得到的数据文件是.bin,其大小等于tx num * rx num * frame num * sample num * chirp num * 32 bit

mmwave studio生成的r-v热图如下:

我的理解是,其中的数据是按照real1, imag1, real2, imag2, ……分布的,每一个real和imag都是uint16

因此我这样处理了数据:

ret[0::1] = raw_frame[0::2] + 1j * raw_frame[1::2]

但是我接着做了2d fft,最后得到的range-doppler热图并不正确:

我还在网上找到了另一份开源代码,也是用于处理DCA捕获的数据的,这份代码是这样处理原始数据的:

# Separate IQ data
ret[0::2] = raw_frame[0::4] + 1j * raw_frame[2::4]
ret[1::2] = raw_frame[1::4] + 1j * raw_frame[3::4]

但是结果也不对:

这两张热图的横、纵坐标分别是doppler id和range id,相当于第一张图的上下反转,只是窄了一些。

请问这是不是数据格式的问题造成的?或者可能是哪里出了错误呢?

Shine:

请问是否有参考过下面文档里的9 Interpreting Binary File in MATLAB?https://www.ti.com/lit/an/swra581b/swra581b.pdf

,

Chenming He:

谢谢,我确认了一下,录制数据时,我是按照这个教程操作的:DCA1000EVM使用指南 – 嵌入式处理 – 技术文章 – E2ETm 设计支持 (ti.com)

因此,得到的数据是双通道,我找到的开源代码处理方法是正确的:

# Separate IQ data
ret[0::2] = raw_frame[0::4] + 1j * raw_frame[2::4]
ret[1::2] = raw_frame[1::4] + 1j * raw_frame[3::4]

但是最后得到的r-d热图还是不正确,结果对比图就在问题描述里

,

Chenming He:

再请问一下,文件里只提到real和imag是16bit为一个数据的,那么解析它们时应该使用有符号整型还是无符号整型呢?

,

Shine:

请看一下下面的帖子是否有帮助。.bin文件先是LSB再是MSB。https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/914997/awr1642boost-time-domain-plot-in-matlab-postproc-is-different-to-what-i-generate-externally-in-python

,

Chenming He:

谢谢,先低位后高位我倒是没有弄错,但我之前用了无符号整型来读取,这导致了错误

,

Shine:

感谢分享!

赞(0)
未经允许不得转载:TI中文支持网 » DCA1000EVM: DCA1000捕获的具体数据格式是什么?
分享到: 更多 (0)

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