回波数据adc_data.bin解析(附MATLAB程序)

        TI目前有两款采集卡TSW1400和DCA1000,可以为xWR1243/1443和1642毫米波雷达进行回波数据采集。本文将主要介绍几款雷达分别用2款采集卡数据采集的回波数据格式以及MATLAB数据解析程序。

详情可参考文档 “xWR1xxx ADC Raw Data Capture” (SWRA581A)

1、xWR1243/xWR1443—DCA1000

(1)1243/1443雷达使用DCA1000采集卡回波数据格式(复数形式)

      原始回波数据adc_data.bin中的数据格式即按照上图所示排列。

      排列方式为 Rx1Ik, Rx2Ik, Rx3Ik, Rx4Ik, Rx1Qk,Rx2Qk,Rx3Qk,Rx4Qk,为先4路I路后4路Q路的交叠模式。

(2)MATLAB回波数据解析程序:

%%%%%% 1243/1443+DCA1000 数据解析 %%%%%%%
fname='adc_data.bin';    %bin文件位置
fid = fopen(fname,'r');    
%读取第一帧数据&数据解析             
sdata = fread(fid,n_samples*n_chirps*n_TX*n_RX*2,'uint16');     %16bits,复数(I/Q两路)
sdata = reshape(sdata,8,[]);   %分成8路,Rx1Ik,Rx2Ik,Rx3Ik,Rx4Ik,Rx1Qk,Rx2Qk,Rx3Qk,Rx4Qk
cdata = sdata(1:4,:)+1i*sdata(5:8,:);   %4RX数据的实虚部合并
fclose(fid);
%4RX数据,n_chirps列,每i列为Chirp i的回波数据
RX1data = reshape(cdata(1,:),n_samples,n_chirps);   %RX1
RX2data = reshape(cdata(2,:),n_samples,n_chirps);   %RX2
RX3data = reshape(cdata(3,:),n_samples,n_chirps);   %RX3
RX4data = reshape(cdata(4,:),n_samples,n_chirps);   %RX4

2、xWR1642—DCA1000

(1)1642雷达使用DCA1000采集卡回波数据格式(复数形式)

原始回波数据adc_data.bin中的数据格式即按照上图所示排列。

其中,RX0(I)Sample1 代表接收天线1的第1个采样点的实部;

         RX0(I)Sample2 代表接收天线1的第2个采样点的实部;

         RX0(Q)Sample1 代表接收天线1的第1个采样点的虚部;

         RX0(Q)Sample2 代表接收天线1的第2个采样点的虚部;……依次类推。

第1个chirp的4RX数据后面是第2个chirp的4RX数据,……,第M个chirp数据;再到下一帧数据,依次类推。

(2)MATLAB回波数据解析程序:

%%%%%% 1642+DCA1000 数据解析 %%%%%%%
fname='adc_data.bin';    %bin文件位置
fid = fopen(fname,'rb');  
%读取第一帧数据
%n_samples为每个chirp的采样点数,n_chirps为每帧chirp数
sdata = fread(fid,n_samples*n_chirps*n_Rx*n_Tx*2,'int16');  
%通道解析
fileSize = size(sdata, 1);  
lvds_data = zeros(1, fileSize/2);
count = 1;
for i=1:4:fileSize-5
   lvds_data(1,count) = sdata(i) + 1i*sdata(i+2); 
   lvds_data(1,count+1) = sdata(i+1)+1i*sdata(i+3);  %IQ数据合并成复数
   count = count + 2;
end
lvds_data = reshape(lvds_data, n_samples*n_RX, n_chirps);
lvds_data = lvds_data.';
cdata = zeros(n_RX,n_chirps*n_samples);
for row = 1:n_RX       %天线个数
  for i = 1: n_chirps     %一帧的chirp个数
      cdata(row,(i-1)*n_samples+1:i*n_samples) = lvds_data(i,(row-1)*n_samples+1:row*n_samples);
  end
end
fclose(fid);
%4RX数据,n_chirps列,每i列为Chirp i的回波数据
RX1data = reshape(cdata(1,:),n_samples,n_chirps);   %RX1数据
RX2data = reshape(cdata(2,:),n_samples,n_chirps);   %RX2
RX3data = reshape(cdata(3,:),n_samples,n_chirps);   %RX3
RX4data = reshape(cdata(4,:),n_samples,n_chirps);   %RX4

对RX1data进行2DFFT即可测距、测速;对4RX的2DFFT结果作角度FFT处理即可测角。

3、xWR1243/xWR1443—TSW1400

(1)1243/1443雷达使用TSW1400采集卡回波数据格式(复数形式)

      原始回波数据adc_data.bin中的数据格式即按照上图所示排列。

排列方式为Rx1Ik,Rx1Qk,Rx2Ik,Rx2Qk,Rx3Ik,Rx3Qk,Rx4Ik,Rx4Qk,为IQ交叠模式。

(2)MATLAB回波数据解析程序:

%%%%%% 1243/1443+TSW1400 数据解析 %%%%%%%
fname='adc_data.bin';    %bin文件位置
fid = fopen(fname,'r');    
%读取第一帧数据&数据解析             
sdata = fread(fid,n_samples*n_chirps*n_TX*n_RX*2,'uint16');     %16bits,复数(I/Q两路)
sdata = sdata-2^15;       %减去32768直流偏置
sdata = reshape(sdata,8,[]);   %分成8路,Rx1Ik,Rx1Qk,Rx2Ik,Rx2Qk,Rx3Ik,Rx3Qk,Rx4Ik,Rx4Qk,
sdata = sdata([1,3,5,7,2,4,6,8],:);  
cdata = sdata(1:4,:)+1i*sdata(5:8,:);   %4RX数据的实虚部合并
fclose(fid);
%4RX数据,n_chirps列,每i列为Chirp i的回波数据
RX1data = reshape(cdata(1,:),n_samples,n_chirps);   %RX1
RX2data = reshape(cdata(2,:),n_samples,n_chirps);   %RX2
RX3data = reshape(cdata(3,:),n_samples,n_chirps);   %RX3
RX4data = reshape(cdata(4,:),n_samples,n_chirps);   %RX4

4、xWR1642—TSW1400

 

  • 35
    点赞
  • 234
    收藏
    觉得还不错? 一键收藏
  • 41
    评论
BP(Back Projection)算法是一种在时域回波数据成像中广泛使用的算法。它能够利用接收到的数据生成高分辨率的成像图像,同时可以较好地抑制噪声干扰和图像伪影。 要进行SAR(Synthetic Aperture Radar)成像,需要先采集到雷达波的回波数据回波数据可以理解为被测目标反射的雷达波信号。使用BP算法进行成像时,需要对回波数据进行处理解析,从而获得高质量的成像结果。MATLAB是一款常用的科学计算软件,它提供了丰富的算法库和图形可视化工具,可以方便地进行信号处理和成像。 使用MATLAB编写BP算法实现SAR成像,可以按照以下步骤进行: 1. 读取回波信号数据回波数据一般以二进制格式存储,需要使用MATLAB的I/O函数读取数据。 2. 将回波信号进行加窗处理。加窗能够减小回波在频谱上的噪声和泄漏,同时调整信号的频谱分辨率。 3. 执行傅里叶变换。将时间域的回波信号转换为频域,能够让我们更好地分析信号的频谱特性。 4. 使用BP算法进行回波成像。BP算法是一种基于医学成像的方法,通过将回波信号投影到成像平面上,生成三维成像数据(x,y,z)。 5. 生成最终的SAR成像结果。将三维成像数据展示在二维平面上,生成高分辨率的SAR成像结果。 总之,使用BP算法进行SAR成像时,需要对回波数据进行加窗和变换,然后应用BP算法进行成像。MATLAB提供了多种信号处理和成像函数,能够方便地实现BP算法进行SAR成像。
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值