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.

[参考译文] DCA1000EVM:+ IWR6843ISK + MMWAVEICBOOST 使用 SDK 与 mmWave Studio 的二进制数据差异

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1033496/dca1000evm-iwr6843isk-mmwaveicboost-difference-in-binary-data-using-sdk-vs-mmwave-studio

器件型号:DCA1000EVM
主题中讨论的其他器件: MMWAVEICBOOST

您好!

我在硬件触发模式下使用 DCA1000EVM + IWR1643ISK + MMWAVEICBOOST。

使用 OOB SDK 演示与 mmWave Studio 时、我会得到不同的二进制数据文件大小。

在这两种情况下、我都使用以下配置

线性调频脉冲0:启用 Tx0

线性调频脉冲1:启用 TX2

帧配置:

启动线性调频脉冲 TX:0

结束线性调频脉冲 TX:1.

帧数:0

触发选择:硬件触发

线性调频脉冲循环次数:4.

周期(ms):1.

mmWave Studio 和 SDK 中的设置是相同的。  

我将使用微控制器生成256个硬件脉冲。

使用 mmWave Studio、我接收大小为2 097 152字节的 bin 文件。

使用 SDK OOB 演示、我接收大小为2 096 640字节的 bin 文件。

-查看日志 CSV 文件、我在使用 mmWave Studio 时收到1441个数据包、在使用 SDK 时仅收到1440个数据包。  

我在使用 SDK OOB 演示二进制文件时使用 DCA1000EVM CLI 实用程序、而对于 mmWave Studio 和使用 SDK 时、cf.json 文件是相同的。

为什么缺少单个数据包且二进制文件不完整?  

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

    您好、这里:

    您能否通过配置文件和 cf.json 文件发送?  您能否确认两种方法的保存数据是否正确? 可能会更短?

    最棒的

    Zigang

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

    您好、Zigang、

    感谢您与我一起处理这个问题。 我无法确认这两种方法的数据是否正确、因为 SDK 方法无法正确加载、因为它缺少一些数据。 我将尝试对数据进行零填充、看看数据是否通过、但问题仍然存在。

    这是 json 文件。 我们将对这两种方法使用相同的 json 文件。  


    "DCA1000Config":{
    "dataLoggingMode":"rain"、
    "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:\\data\\scan0"、
    "filePrefix ":"scan0_4"、
    "maxRecFileSize_MB":1024、
    "序号使能":0、
    "CaptureStopMode":"无限"、
    "bytesToCapture":4000、
    "durationToCapture_ms":4000、
    "framesToCapture":40.
    }、
    "dataFormatConfig":{
    "MSBToggle ":0、
    "laneFmtMap":0、
    "可重新订购":0、
    "dataPortConfig":[

    "portIdx":0、
    "数据类型":"真实"
    }、

    "portIdx":1、
    "数据类型":"复杂"
    }、

    "portIdx":2、
    "数据类型":"真实"
    }、

    "portIdx":3、
    "数据类型":"真实"
    }、

    "portIdx":4、
    "数据类型":"复杂"

    ]


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

    您好!   

     是否可以将 SequenceNumberEnable 更改为1?   

    "CaptureConfig":{
    "fileBasePath":"C:\\myCliSavedData"、
    "filePrefix ":"ADC_DATA"、
    "maxRecFileSize_MB":1024、
    "序号使能":1、
    "CaptureStopMode":"无限"、

    请解析数据并绘制距离 FFT 输出图、以查看数据是否合理(使用角反射器)。   数据文件的结束通常由 DCA1000 CLI 模式下的 DCA1000 STOP_RECORD 命令控制。  它可能只是结尾不完全相同。  

    最棒的

    Zigang

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

    顺便说一下、由 RADAR Studio 和 OOB 演示捕获的数据格式可能略有不同、即 OOB 演示仅支持 I 采样前的 Q 样本。  默认情况下、RADAR Studio 设置在 Q 样本之前进行 I 采样。   您可以在 RADAR Studio 中更改设置、使 Q 样本优先与 OOB 格式匹配。

    最棒的

    Zigang

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

    谢谢 Zigang、

    我会处理这个问题、然后返回给您。  

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

    Zigang、

    感谢您深入了解 OOB 演示和 mmWave Studio 之间的数据差异。 此设置是否仅由 cf.json 决定? 对于 OOB 演示、是否有任何方法可以更改此值、或者是否需要在我进行采样之前使用 Q 样本?

    谢谢、

    约西亚·史密斯

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

    您好、Zigang、

    我已经处理过这个问题、提出了一些解决方案和更多问题。

    文件现在大小相等、但我在读取数据时遇到困难。

    我可以通过使用 sequenceNumberEnable: 1来纠正大小错误,并且在每个脉冲序列后不调用 record_stop,因为它会自动停止。

    您说过、OOB 演示仅支持在我对原始数据进行采样之前的 Q 样本。 使用 ADC 原始数据采集文档 https://www.ti.com/lit/an/swra581b/swra581b.pdf?ts=1631204401743&ref_url=https%253A%252F%252Fcn.bing.com%252F 中提供的函数 、这意味着我们需要更改以下内容、以便将 adcData (ii)和 adcData (ii + 1)乘以1J。 您可以确认这一点吗?

    即使我这么做、即使是简单的带有角反射器的单个线性调频脉冲情况、我也会得到意外结果。 是否也需要对 cf.json 文件进行必要的更改?  (LVDS 通道? 数据类型?)

    请提供建议。

    谢谢

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

    您好!  

    是的、您需要先更改这些行以支持 Q 样本。   OOB 演示仅支持 Q 样本。   您可以在 SDK 用户指南中找到此信息。  搜索 adcbufCfg。  对于 RADAR Studio 配置、您可以选择设置 Q sample first 或 I sample first、它是 AR1.ChanNAdcConfig 的一部分、您可以看到下图。  这不是 cf.json 设置的一部分。

    最棒的

    Zigang

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

    谢谢 Zigang、

    以下是根据 DCA1000EVM CLI 公用程序用户指南更新的 cf.json 文件。

    "dataFormatConfig":{
    "MSBToggle ":0、
    "laneFmtMap":0、
    "可重新订购":1、
    "dataPortConfig":[

    "portIdx":0、
    "数据类型":"复杂"
    }、

    "portIdx":1、
    "数据类型":"复杂"
    }、

    "portIdx":2、
    "数据类型":"复杂"
    }、

    "portIdx":3、
    "数据类型":"复杂"
    }、

    "portIdx":4、
    "数据类型":"复杂"

    ]

    至于我的 profile.cfg、我将使用以下代码:

    adcbufCfg -1 0 1 1 1

    lvdsStreamCfg -1 0 1 0

    我在下面显示的 SDK 用户指南中看到了您所提到的内容。 因为我使用的是 作为唯一受支持的选项1、这将导致 I 优先、Q  

    正如您 在这里所指出的,这里和 这里,如果 reorderEnable = 1,则二进制文件的格式为 :Q1 I1 Q2 I2 Q3 I3 Q4 I4...

    您能否确认这是否正确?  

    通过查阅本文档 http://www.ti.com/.../swra581b.pdf 以及 "parser_lvds demo_capted_file.py"解析脚本(在 C:\ti\mmwave_sdk_03_05_00_04\packages/ti\demo\parser_scripts"中)、我尝试使用以下代码将数据读入 MATLAB、但未成功。

    回想一下我的线性调频脉冲设置:256帧、每帧2个线性调频脉冲、启用线性调频脉冲0 - Tx0、启用线性调频脉冲1 - TX2、64个 ADC 样本。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    nRx = 4
    nTx = 2
    numChirps = 2
    numFrames = 256
    numADC = 64
    data = zeros(nRx,nTx,numChirps,numFrames,numADC);
    fid = fopen(filePath);
    adcDataSize = 2*numADC;
    for indFrame = 1:numX
    for indChirp = 1:numChirps
    for indTx = 1:nTx
    for indRx = 1:nRx
    % Read the data
    dataChunk = fread(fid,adcDataSize,'uint16');
    dataChunk = dataChunk - (dataChunk >= 2^15)*2^16;
    adcOut = dataChunk(2:2:end) + 1j*dataChunk(1:2:end);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    但是、我无法读取二进制文件。 我正在使用角反射器来测试场景并获得非常奇怪的结果。 请提供建议。  

    谢谢、

    约西亚·史密斯

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

    正确,如果 reorderEnable = 1,则二进制文件的格式为 :Q1 I1 Q2 I2 Q3 I3 Q4 I4...

    代码对我来说是正确的。  您可以针对不同的线性调频脉冲/帧绘制每个天线对的 ADC 数据、并查看它们是否彼此相邻。   

    最棒的

    Zigang