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:使用 DCA1000EVM CLI 软件收集来自 AWR1843的原始 ADC 数据时不正确

Guru**** 2540720 points
Other Parts Discussed in Thread: DCA1000EVM, AWR1843

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1208950/dca1000evm-the-raw-adc-data-from-awr1843-is-incorrect-when-collected-by-using-dca1000evm-cli-software

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

我按照《DCA1000EVM CLI 软件用户指南》、 使用 Windows 中的 AWR 1843BOOST 从 DCA1000收集原始数据。 一切都好、我成功收集了原始数据、但数据只是不正确。 我在下面看到的距离-多普勒图显示、只有一个目标在移动、但距离-多普勒图像中显示了4个目标。  

之后、我使用 mmWave Studio 来重复实验并收集原始数据。 然后、我生成另一张距离多普勒地图、如下所示、您可以看到只有一个按预期显示的目标。

因此、 这两种情况之间有两种差异:  

1)  DCA1000EVM CLI 软件  与   mmWave Studio

2) 2) mmWave_Demo_Visualizer 中的18xx_demo.bin  与    mmWave Studio 中的 xwr18xx_radarss.bin 和 xwr18xx_masterss.bin

有人能帮我看看这有什么问题吗?

此致!

Kevalen

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

    尊敬的 Chevalen:

    • 您是否在这两种情况下都使用相同的参数对前端进行了配置?
    • 在第一种情况下、您能否详细说明已采取的步骤? (配置 DCA 捕获、LVDSStream 配置等)

    此致、

    Kaushik

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

    尊敬的 Kaushik:

    感谢您的帮助!

    1) 1)是的、我在两种情况下都使用相同的参数配置了 AWR1843。 配置的参数显示在 我在上面展示的两张图片中。

    2) 2) 对于第一种情况、我采取的步骤如下:

    我刚刚按照 《DCA1000EVM CLI 软件用户指南》中的说明来配置 DCA1000并开始数据收集:

    1.配置 FPGA
    确保 JSON 配置文件(CLI)和脚本配置文件(RADAR EVM)数据格式模式保持同步

    命令- DCA1000EVM_CLI_Control.exe FPGA configFile.json

    2.配置记录延迟

    命令- DCA1000EVM_CLI_Control.exe 记录 configFile.json

    3.开始记录

    确保 JSON 配置文件(CLI)和脚本配置文件(RADAR EVM)数据记录模式同步

    命令- DCA1000EVM_CLI_Control.exe start_record configFile.json

    4.记录数据后停止记录

    命令- DCA1000EVM_CLI_Control.exe stop_record configFile.json

    从 MMWAVE_Studio 02_01_01_00中复制执行 CLI 所需的文件。

     configFile.json 的内容如下所示:

    {
    "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": "./Radar_raw_data/",
    "filePrefix": "adc_data",
    "maxRecFileSize_MB": 1024,
    "sequenceNumberEnable": 1,
    "captureStopMode": "infinite",
    "bytesToCapture": 4000,
    "durationToCapture_ms": 4000,
    "framesToCapture": 40
    },
    "dataFormatConfig": {
    "MSBToggle": 0,
    "laneFmtMap": 0,
    "reorderEnable": 1,
    "dataPortConfig": [
    {
    "portIdx": 0,
    "dataType": "complex"
    },
    {
    "portIdx": 1,
    "dataType": "complex"
    },
    {
    "portIdx": 2,
    "dataType": "complex"
    },
    {
    "portIdx": 3,
    "dataType": "complex"
    },
    {
    "portIdx": 4,
    "dataType": "complex"
    }
    ]
    }
    }
    }
    
    
    
    

    对于配置 AWR1843、配置文件如下所示:

    % ***************************************************************
    % Created for SDK ver:03.02
    % Created using Visualizer ver:3.5.0.0
    % Frequency:77
    % Platform:xWR18xx
    % Scene Classifier:best_range
    % Azimuth Resolution(deg):15 + Elevation
    % Range Resolution(m):0.244
    % Maximum unambiguous Range(m):25
    % Maximum Radial Velocity(m/s):12.36
    % Radial velocity resolution(m/s):0.2
    % Frame Duration(msec):33.333
    % RF calibration data:None
    % Range Detection Threshold (dB):15
    % Doppler Detection Threshold (dB):15
    % Range Peak Grouping:enabled
    % Doppler Peak Grouping:enabled
    % Static clutter removal:disabled
    % Angle of Arrival FoV: Full FoV
    % Range FoV: Full FoV
    % Doppler FoV: Full FoV
    % ***************************************************************
    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 7 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    profileCfg 0 77 8 7 18.25 0 0 60 1 128 12499 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 4
    chirpCfg 2 2 0 0 0 0 0 2
    frameCfg 0 2 128 0 33.333 1 0
    lowPower 0 0
    guiMonitor -1 1 1 0 1 0 0
    cfarCfg -1 0 2 8 4 3 0 15 1
    cfarCfg -1 1 0 8 4 4 1 15 1
    multiObjBeamForming -1 1 0.5
    clutterRemoval -1 0
    calibDcRangeSig -1 0 -5 8 256
    extendedMaxVelocity -1 0
    lvdsStreamCfg -1 0 1 0
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 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 4 31 0
    CQSigImgMonitor 0 63 4
    analogMonitor 0 0
    aoaFovCfg -1 -90 90 -90 90
    cfarFovCfg -1 0 0 24.99
    cfarFovCfg -1 1 -12.36 12.36
    sensorStart
    

    3) 3)我还想与您分享使用 mmWave Studio 收集原始数据时使用的已配置参数。

    DCA.setup.json

    {
      "createdByVersion": "2.1.0",
      "createdOn": "2023-03-22T16:41:23.4877952-07:00",
      "configUsed": "C:\\ti\\mmwave_studio_02_01_01_00\\mmWaveStudio\\JSONSampleFiles\\18xx\\0322.mmwave.json",
      "captureHardware": "DCA1000",
      "DCA1000Config": {
        "dataLoggingMode": "raw",
        "dataTransferMode": "LVDSCapture",
        "dataCaptureMode": "ethernetStream",
        "packetSequenceEnable": 1,
        "packetDelay_us": 25
      },
      "mmWaveDevice": "awr1843",
      "operatingFreq": 77,
      "mmWaveDeviceConfig": {
        "RS232COMPort": "COM3",
        "RS232BaudRate": "115200",
        "radarSSFirmware": "C:\\ti\\mmwave_studio_02_01_01_00\\rf_eval_firmware\\radarss\\xwr18xx_radarss.bin",
        "masterSSFirmware": "C:\\ti\\mmwave_studio_02_01_01_00\\rf_eval_firmware\\masterss\\xwr18xx_masterss.bin"
      },
      "capturedFiles": {
        "numFilesCollected": 1,
        "fileBasePath": "C:\\ti\\mmwave_studio_02_01_01_00\\mmWaveStudio\\PostProc",
        "files": [
          {
            "rawFileName": "adc_data_Raw_0.bin",
            "processedFileName": "adc_data.bin",
            "processedFileSummary": {
              "numZeroFillBytes": 0
            }
          }
        ]
      }
    }

    awr1843.mmwave.json

    {
      "configGenerator": {
        "createdBy": "mmWaveStudio",
        "createdOn": "2023-03-22T16:07:19.4151361-07:00",
        "isConfigIntermediate": 1
      },
      "currentVersion": {
        "jsonCfgVersion": {
          "major": 0,
          "minor": 4,
          "patch": 0
        },
        "DFPVersion": {
          "major": 1,
          "minor": 2,
          "patch": 0
        },
        "SDKVersion": {
          "major": 3,
          "minor": 0,
          "patch": 0
        },
        "mmwavelinkVersion": {
          "major": 1,
          "minor": 2,
          "patch": 0
        }
      },
      "lastBackwardCompatibleVersion": {
        "DFPVersion": {
          "major": 1,
          "minor": 1,
          "patch": 0
        },
        "SDKVersion": {
          "major": 2,
          "minor": 0,
          "patch": 0
        },
        "mmwavelinkVersion": {
          "major": 1,
          "minor": 1,
          "patch": 0
        }
      },
      "regulatoryRestrictions": {
        "frequencyRangeBegin_GHz": 77,
        "frequencyRangeEnd_GHz": 81,
        "maxBandwidthAllowed_MHz": 4000,
        "maxTransmitPowerAllowed_dBm": 12
      },
      "systemConfig": {
        "summary": "This is a comments field not passed to device",
        "sceneParameters": {
          "ambientTemperature_degC": 20,
          "maxDetectableRange_m": 10,
          "rangeResolution_cm": 5,
          "maxVelocity_kmph": 26,
          "velocityResolution_kmph": 2,
          "measurementRate": 10,
          "typicalDetectedObjectRCS": 1
        }
      },
      "mmWaveDevices": [
        {
          "mmWaveDeviceId": 0,
          "rfConfig": {
            "waveformType": "legacyFrameChirp",
            "MIMOScheme": "TDM",
            "rlCalibrationDataFile": "",
            "rlChanCfg_t": {
              "rxChannelEn": "0xF",
              "txChannelEn": "0x7",
              "cascading": 0,
              "cascadingPinoutCfg": "0x0"
            },
            "rlAdcOutCfg_t": {
              "fmt": {
                "b2AdcBits": 2,
                "b8FullScaleReducFctr": 0,
                "b2AdcOutFmt": 1
              }
            },
            "rlLowPowerModeCfg_t": {
              "lpAdcMode": 0
            },
            "rlProfiles": [
              {
                "rlProfileCfg_t": {
                  "profileId": 0,
                  "pfVcoSelect": "0x0",
                  "pfCalLutUpdate": "0x0",
                  "startFreqConst_GHz": 77.0,
                  "idleTimeConst_usec": 8.0,
                  "adcStartTimeConst_usec": 7.0,
                  "rampEndTime_usec": 18.25,
                  "txOutPowerBackoffCode": "0x0",
                  "txPhaseShifter": "0x0",
                  "freqSlopeConst_MHz_usec": 60.012001037597656,
                  "txStartTime_usec": 1.0,
                  "numAdcSamples": 128,
                  "digOutSampleRate": 12499,
                  "hpfCornerFreq1": 0,
                  "hpfCornerFreq2": 0,
                  "rxGain_dB": "0x1E"
                }
              }
            ],
            "rlChirps": [
              {
                "rlChirpCfg_t": {
                  "chirpStartIdx": 0,
                  "chirpEndIdx": 0,
                  "profileId": 0,
                  "startFreqVar_MHz": 0.0,
                  "freqSlopeVar_KHz_usec": 0.0,
                  "idleTimeVar_usec": 0.0,
                  "adcStartTimeVar_usec": 0.0,
                  "txEnable": "0x1"
                }
              },
              {
                "rlChirpCfg_t": {
                  "chirpStartIdx": 1,
                  "chirpEndIdx": 1,
                  "profileId": 0,
                  "startFreqVar_MHz": 0.0,
                  "freqSlopeVar_KHz_usec": 0.0,
                  "idleTimeVar_usec": 0.0,
                  "adcStartTimeVar_usec": 0.0,
                  "txEnable": "0x2"
                }
              },
              {
                "rlChirpCfg_t": {
                  "chirpStartIdx": 2,
                  "chirpEndIdx": 2,
                  "profileId": 0,
                  "startFreqVar_MHz": 0.0,
                  "freqSlopeVar_KHz_usec": 0.0,
                  "idleTimeVar_usec": 0.0,
                  "adcStartTimeVar_usec": 0.0,
                  "txEnable": "0x4"
                }
              }
            ],
            "rlFrameCfg_t": {
              "chirpEndIdx": 2,
              "chirpStartIdx": 0,
              "numLoops": 128,
              "numFrames": 0,
              "framePeriodicity_msec": 33.333,
              "triggerSelect": 1,
              "numDummyChirpsAtEnd": 0,
              "frameTriggerDelay": 0.0
            },
            "rlBpmChirps": [],
            "rlRfPhaseShiftCfgs": [],
            "rlRfProgFiltConfs": [],
            "rlLoopbackBursts": [],
            "rlDynChirpCfgs": [],
            "rlDynPerChirpPhShftCfgs": []
          },
          "rawDataCaptureConfig": {
            "rlDevDataFmtCfg_t": {
              "iqSwapSel": 0,
              "chInterleave": 1
            },
            "rlDevDataPathCfg_t": {
              "intfSel": 1,
              "transferFmtPkt0": "0x1",
              "transferFmtPkt1": "0x0",
              "cqConfig": 2,
              "cq0TransSize": 132,
              "cq1TransSize": 132,
              "cq2TransSize": 72
            },
            "rlDevLaneEnable_t": {
              "laneEn": "0x3"
            },
            "rlDevDataPathClkCfg_t": {
              "laneClkCfg": 1,
              "dataRate_Mbps": 600
            },
            "rlDevLvdsLaneCfg_t": {
              "laneFmtMap": 0,
              "laneParamCfg": "0x1"
            }
          },
          "monitoringConfig": {
          }
        }
      ],
      "processingChainConfig": {
        "detectionChain": {
          "name": "TI_GenericChain",
          "detectionLoss": 1,
          "systemLoss": 1,
          "implementationMargin": 2,
          "detectionSNR": 12,
          "theoreticalRxAntennaGain": 9,
          "theoreticalTxAntennaGain": 9
        }
      }
    }
    

    如果您想了解有关雷达原始数据收集过程的更多信息、请随时告诉我。

    谢谢。此致、

    Kevalen

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

    尊敬的 Chevalen:

    乍一看、您的配置方法似乎没问题。

    您是否可以在 MATLAB 上对两个数据(来自 Studio/CLI 应用程序)执行2D FFT 并共享结果? 这是为了检查数据本身是否经过 TOSS 处理、还是设置中的其他内容。 请确保您的环境在这两种情况下是相同的。

    此致、

    Kaushik

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

    尊敬的 Kaushik:

    感谢您的回复。 实际上、我首先使用了 Python (虽然不是 MATLAB)来处理这些雷达原始数据、然后发现了这个问题。 为了确保这不是我的 python 代码问题、我切换到 mmWave Studio 来处理这些雷达原始数据。 结果仍然是不正确的,因为我在第一个岗位上介绍。
    以下 是通过使用 Python 处理在这两种情况下收集的雷达原始数据而生成的两个距离多普勒地图:

     来自 CLI 应用程序的数据的 RA 映射:

     Studio 中数据的 RA 映射:

    如您所见、使用 python 来处理原始数据时、问题仍然存在。 并且我在两种情况下都将环境设置为相同。

    此致、

    Kevalen

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

    尊敬的 Chevalen:

    感谢您的确认。 您能否在终端上进行以下实验?

    • 在两种情况下都将帧数设置为1 (而不是无限模式)、并匹配捕获的数据的字节大小。 (将验证一些有关实际捕获的样本和线性调频脉冲的配置)
    • 在已知距离处保持强反射器、对两种工具采集的数据执行1D FFT、并验证配置文件和数据格式是否准确。 (两种情况下都应在已知位置具有峰值)。

    此致、

    Kaushik

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

    尊敬的 Kaushik:

    谢谢您的建议。 我将相应地进行实验。 目前、 我正在为 下星期一制定截止日期、下周将尝试向您反馈实验结果。 希望这不是太晚。

    此致、

    Kevalen

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

    当然可以。 您可以方便地回来。

    此致、

    Kaushik