关于使用AWR1642以及TSW1400采集数据的问题?

Other Parts Discussed in Thread: AWR1642, IWR1642

您好,我最近在使用AWR1642以及TSW1400采集数据中遇到了一些问题,想请人帮忙解答一下,不胜感激:

1.我查看了很多资料,但是没有能够找到关于AWR1642的天线的描述,如天线的增益以及3dB角度,被扫描到的空间角度有多大?我想通过天线的具体参数来了解AWR1642以及IWR1642在这方面有什么不同。

2.关于TSW1400中ADC采样的问题,我使用的配置是:AWR1642,1发2收,复信号模式,技术文档《xWR1xxx ADC Raw Data Capture》说明会采取交错形式存储数据,如下图所示:

但是后续文档中给出的matlab源代码(文档中第12页)好像不是按照交错形式来读取数据的,如下所示,请帮忙看一下是哪里的问题?

3.当我在使用AWR1642+ADC来直接采集数据的时候,通过阅读技术文档《Using a complex-baseband architecture in FMCW radar systems》发现,AWR1642采用了复基带架构,即通过对接收端的实信号进行复混频得到(复)中频信号,之后进行频移和滤波实现IQ正交双通道的存储形式,其中得到复中频(IF)信号后的频移操作如下:

也就说,所有的(复中频)IF信号在被两路ADC进行采样存储之前,都经过了频移操作吗?后续我在matlab端提取出了ADC采样得到的bin文件中对应的复中频信号(共5000帧,每帧200复信号点),对该IF信号按帧进行(一维)FFT后,得到了下图:

如果说每一帧的IF信号在复基带架构下都经过了频移才被存储,那么上图所示的一维FFT本身就不是准确的频谱结果吗?如果没有给出每个系统进行频移的规律,那么就无法得到准确的频谱吗?还是说,系统本身已经进行了这方面的补偿,最终的结果都是正确的的?对此,我感到十分困惑。

以上是我的三个问题,请帮忙解答,我将十分感激。

  • 1.我查看了很多资料,但是没有能够找到关于AWR1642的天线的描述,如天线的增益以及3dB角度,被扫描到的空间角度有多大?我想通过天线的具体参数来了解AWR1642以及IWR1642在这方面有什么不同。

    [WESLEY]评估板是基本一致的,芯片的性能也基本是一样的。空间角度120度,可参考文档:

    问题3,是可以直接从1DFFT计算正确频率的

    附matlab读取TSW1400+1642的代码供参考

    % Compute the total number of samples
    total_samples = Number_of_Channels*Samples_Per_Chirp*Chirps_Per_Frame*Number_of_Frames;    
    
    % Open the file and read the data. 
    fileID = fopen(adc_file_name,'r');
    % TSW1400 converts ADC data to offset binary. Convert it back to 2's
    % complement.
    % radar_data = fread(fileID,total_samples,'uint16');
    radar_data = fread(fileID,total_samples,'uint16')-2^15;
    fclose(fileID);
    
    % radar_data has data in the following format.
    % Rx0I0, Rx1I0, Rx2StrI0, Rx3I0, Rx0Q0, Rx1Q0, Rx2Q0, Rx3Q0,    Rx0I1, 
    % The following script reshapes it into a 4-dimensional array. 
    % The dimensions of the array are Channels, Samples, Chirps, Frames
    radar_data = reshape(radar_data, 2, Samples_Per_Chirp, Number_of_RX_Channels, Chirps_Per_Frame,Number_of_Frames);
    
    % % Convert the data to complex
    % radar_data_real = radar_data(1:2:Number_of_Channels, :, :, :); 
    % radar_data_complex = radar_data(2:2:Number_of_Channels, :, :, :); 
    % radar_data = radar_data_real + 1i*radar_data_complex; %[4][256][32][60]=[ants][samples/chirp][chirp/frame][frame]
    
    % Convert the data to complex
    % For AWR1642
    radar_data_real = squeeze(radar_data(1, :, :, :, :)); 
    radar_data_complex = squeeze(radar_data(2, :, :, :, :)); 
    radar_data_real = permute(radar_data_real,[2,1,3,4]);
    radar_data_complex = permute(radar_data_complex,[2,1,3,4]);
    radar_data = radar_data_real + 1i*radar_data_complex; %[4][256][32][60]=[ants][samples/chirp][chirp/frame][frame]
  • 您好,非常感谢您的回复,看完后我对这三个问题已经有了一些眉目。

    问题一,已经可以从技术文档中获取资料。

    问题二,出现问题的原因是我所发的那张图片中所示的数据是适用于Radar Studio的,而正确的应该是适用Mmwave Studio的,我在文档《Mmwave Radar Device ADC Raw Data Capture》找到了对应的格式以及代码。但是我还是觉得图示中的Radar Studio情况和代码不是匹配的,即并不是按照交错模式来读取的。

    问题三,由于第二个问题中的数据读取时有问题的,因此问题三中的二维数据图也是有问题的。我个人认为系统在进行复基带下的ADC采样时,进行了频移以及滤波等操作,但是最终在ADC采集数据并使用MATLAB处理后,是可以得出正确的1D-FFT的结果的(这一点在使用正确的代码读取ADC数据后也得到了验证)。因此我认为在MATLAB绘图之前一定存在补偿的处理,最终发现在使用Mmwave Studio获取ADC数据后,会有一步转换数据格式的操作,即

    1. Packet_Reorder_Zerofill.exe
    2. RawFileFormat.exe

    请问是否在这一步操作中出现了对于复基带频移的补偿?