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.

[参考译文] AWRL6432:TrueGroundSpeed 离线处理

Guru**** 2462090 points
Other Parts Discussed in Thread: AWRL6432

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1488833/awrl6432-truegroundspeed-offline-processing

器件型号:AWRL6432

工具与软件:

尊敬的 TI 团队:

我想根据用于 AWRL6432 AOP 的 TrueGroundSpeed 演示、在 Python 中创建离线数据处理。 我指的是这篇帖子的内容和设置:

AWRL6432:使用6432AOP 的 TrueGroundSpeed 输送带配置

我已经创建了距离多普勒图、还为单个距离库创建了简单的 CFAR 评估。 到目前为止、我得到了合理的结果。

但仍存在一些不确定如何在6432上内部实现信号处理的不确定性。 (我主要以运动/存在检测调优指南和 TI Resource Explorer 中的 DPU 说明为基础)。
离线处理问题:
BPM 解调是如何执行的、以及在哪个步骤中需要执行的?
我是否应该在离线信号处理中也使用"compRangeBiasAndRxChanPhase"值进行校准?
正确吗、我还必须在2D FFT 之后使用矩形窗口并将第一个多普勒频段设置为"0"吗?
当然、我会尝试在 CSS 中的演示源代码中搜索此信息。 如果要参考调优指南等详细文档、将会非常有帮助。

此致

托比亚斯

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

    你好、Tobias。

    gedan tao 说:
    我必须在哪一步执行 BPM 解调?

    您将对您收集的 ADC 数据进行解调。

    [报价 userid="613442" url="~/support/sensors-group/sensors/f/sensors-forum/1488833/awrl6432-truegroundspeed-offline-processing "]我是否还应在离线信号处理中使用"compRangeBiasAndRxChanPhas"值进行校准?[/QUOT]

    有。

    [报价 userid="613442" url="~/support/sensors-group/sensors/f/sensors-forum/1488833/awrl6432-truegroundspeed-offline-processing "]正确的是我还必须在2D FFT 之后使用矩形窗并将第一个多普勒频段设为"0"吗?[/QUOT]

    是的、正确。

    [quote userid="61342" url="~/support/sensors-group/sensors/f/sensors-forum/1488833/awrl6432-truegroundspeed-offline-processing 我当然要在 CSS 中的演示源代码中搜索此信息。 如果要参考详细的文档(如调优指南)、将会非常有帮助。

    您可以参考 SDK 中的演示文档 、了解如何处理从原始 ADC 到处理后的雷达 UART 输出的数据。

    此致、

    Santosh

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

    尊敬的 Santosh:

    感谢你的帮助。 我曾尝试对其进行编程、类似此处的介绍: AWR1843BOOST:在 BPM MIMO 上接收到的信号分离

    您能告诉我是否正确吗?  很遗憾、在 CSS 中找不到相关代码部分。  BPM 是在硬件加速器或前端 M3控制器内部完成的吗? 如果有关于如何执行 BPM 的 MATLAB 示例、 这也将非常有用。

    fft_2d = np.fft.fft(rfft_1d, rfft_1d.shape[1], axis=1)
    fft_2d_norm = fft_2d / fft_2d.shape[1]
    radar_data_2dFFTMag = np.abs(fft_2d_norm) ** 2
    
    # MIMO BPM on 2D FFT data: fft_2d_norm[3,32,129,10,2], 3Rx, 32 Doppler Bins, 129 samples (rfft), 10frames, 2TX
    
    n_rx_chan = radar_data_2dFFTMag.shape[0]  #3RX
    
    # Init BPM Arrays
    bpm_even = np.zeros((n_rx_chan, fft_2d_norm.shape[1] // 2, fft_2d_norm.shape[2]), dtype=np.complex64)
    bpm_odd = np.zeros((n_rx_chan, fft_2d_norm.shape[1] // 2, fft_2d_norm.shape[2]), dtype=np.complex64)
    
    # Get the BPM MIMO data
    for i in range(n_rx_chan):
        bpm_even[i] = fft_2d_norm[i, 0::2, :, Frame_num, 0]  # Even Chirps (Sa = S1 + S2)
        bpm_odd[i] = fft_2d_norm[i, 1::2, :, Frame_num, 0]   # Odd Chirps (Sb = S1 - S2)
    
    # Reconstruct Signal
    S1 = (bpm_even + bpm_odd) / 2
    S2 = (bpm_even - bpm_odd) / 2
    print('shape S1:', S1.shape) #shape S1: (3, 16, 129)
    print('shape S2:', S2.shape) #shape S2: (3, 16, 129)
    
    #? How to multiply Values on Virtual Array?
    #compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000
    #S1_corrected = S1 * np.exp(-1j * phase_correction)
    #S2_corrected = S2 * np.exp(-1j * phase_correction)

    另一个问题:当我使用 Industrial Visualizer 进行校准来获得 compRangeBiasAndRxChanPhase 值时、我是否需要已处于 bpm 模式? 或者我必须首先为校准选择 TDM 吗?再次感谢您提供的快速帮助! 答案对我总是很有帮助。

    托比亚斯

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

    大家好:

    对于 BPM 解调、SDK L 演示中实现了两种方法。  

    1)在运动和存在检测演示中、BPM 解调在距离 FFT 完成、如 Doxygen 文档中所示(文件:///C/C:/ti/MMWAVE_L_SDK_05_04_00_01/docs/api_guide_xwrL64xx/MOTION_AND_PRESENCE_DETECTION_DEMO.html)。  

    2)在 mmwave_demo 中、BPM 解调在 AoA2D DPU 处完成。  如以下位置的 SDK L Doxygen 文档中所述: file:///C/C:/ti/MMWAVE_L_SDK_05_04_00_01/docs/api_guide_xwrL64xx/MMWAVE_DEMO.html.  这是因为需要在 BPM 解调前进行多普勒补偿。

    因此、如果您正在处理速度很高的应用程序、则应考虑方法(2)。  否则、您可以在该过程的开头应用 BPM DEMOD。

    对于第二个问题、对于相位/增益校准测量、如果您正在运行运动和存在检测演示、则可以将其编程为 TDM 或 BPM。   但如果您正在运行 MMWAVE_DEMO、则只能将其编程为 BPM 模式。   同样、您可以在 doxygen 文档内搜索来查找这些信息。

    此致!

    Zigang