3D-FFT实测数据测角之数据预处理

前言:在上一篇笔记中对主要的波形参数含义进行解释,接下来就是数据预处理的部分了,后续是具体算法处理。数据预处理主要包括:ADC数据读取;2D-FFT处理两个部分。

一、ADC数据读取

利用DCA1000采集数据并保存为adc_data.bin,使用readDCA1000代码读取bin文件至matlab里,然后再进行处理。附上readDCA1000代码https://download.csdn.net/download/sally789/86397346

二、2D-FFT处理

首先是距离维上做1D-FFT:对每个采样点加窗,然后对每个chirp在采样点维度上做FFT

%距离FFT
range_win = hamming(n_samples);   %加海明窗
doppler_win = hamming(n_chirps);
range_profile = [];
for k=1:n_RX
   for m=1:n_chirps
      temp=data_radar(:,m,k).*range_win;    %加窗函数
      temp_fft=fft(temp,N);    %对每个chirp做N点FFT
      range_profile(:,m,k)=temp_fft;
   end
end

其次是多普勒维上做1D-FFT:对每个chirp加窗,然后对距离FFT结果在chirp维度上做FFT

%多普勒FFT
speed_profile = [];
for k=1:n_RX
    for n=1:N
      temp=range_profile(n,:,k).*(doppler_win)';    
      temp_fft=fftshift(fft(temp,M));    %对rangeFFT结果进行M点FFT
      speed_profile(n,:,k)=temp_fft;  
    end
end

至此,2D-FFT操作结束。

插入一条:关于fftshift函数,可参考fftshift函数详解 - limanjihe - 博客园 (cnblogs.com)

1、作用:将零频点移到频谱中间

2、对于实信号:实信号以fs为采样率的信号在\frac{fs}{2}处混叠,所以实信号FFT的结果前半部分对应[0,\frac{fs}{2}],后半部分对应[-\frac{fs}{2},0]。因此为了得到正确结果应该是将频率减去fs即可得到频谱对应的真实负频率。做了fftshift后就可达到这样效果。

3、对于复信号:复信号没有负频率,以fs为采样速率的信号,fft的频谱结果是从[0,fs]的,加上\frac{fs}{2}后才是正确结果。

 

 

 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值