实战:FMCW原始数据处理——CFAR+1DFFT(Range)

目录

一、数据采集参数

二、CFAR+1DFFT matlab源码

三、程序运行结果

本篇文章主要讲解xWr1xx+DCA1000采集的原始数据如何进行距离FFT,以及如何通过CFAR(恒虚警)技术检测的存在。这里所用的恒虚警采用最简单的CA-CFAR均值类恒虚警算法。在这里将给出恒虚+1DFFT的matlab程序。在这里不重复CFAR的理论知识部分,望各位如果需要了解有关CFAR的基础知识可以借鉴

一、数据采集参数

mmwave studio 参数配置如下(采集原始数据配置):

在这里我配置的chirp数是每帧128个chirp;每个chirp采样点为256个采样点;具体配置如下图所示;

实战:FMCW原始数据处理——CFAR+1DFFT(Range)_第1张图片

实战:FMCW原始数据处理——CFAR+1DFFT(Range)_第2张图片

二、CFAR+1DFFT matlab源码

%%原始数据的距离FFT
clear 
close all
clc;
FrequencySlope=30e12;%%调频斜率
SampleRate=10e6;%%采样率
adcdata=readDCA1000_1('adc_data.bin');%%读取预先采集的数据
RX0= reshape(adcdata(1,:),256,128*8);%%取一个接收天线的数据,在这里总共有8帧,每一个帧有128个Chirp
han_win=hanning(256);%%加汉明窗,防止频谱泄露
%%分别对每一个Chirp做FFT
for i=1:128*8
        temp=RX0(:,i).*han_win;
        temp_fft=fft(temp,256);
        temp_profile(:,i)=temp_fft;
end
%%绘图
%%%%%%%%%%%%%%%%%%%%%%%%CA_CFAR%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N=8;%%训练单元
G=2;%%保护单元
pfa=10.^-6;%%虚警概率
win_length=N+1+G;%窗长
pre_step_len=1;%步长
win_num=floor((256-win_length)/pre_step_len)+1;
Z=zeros(win_num,128*8);
%%估算背景噪声功率
for i=1:128*8
    for n=1:win_num
        for k=1:win_length
            Z(n,i)=Z(n,i)+temp_profile((n-1)*pre_step_len+k,i);
        end
        Z(n,i)=Z(n,i)-temp_profile((n-1)*pre_step_len+N/2-1,i)-temp_profile((n-1)*pre_step_len+N/2+1,i)-temp_profile((n-1)*pre_step_len+N/2+2,i);
        Z(n,i)=Z(n,i)./N;
    end
end
T=(pfa.^(-1/N)-1).*N;%%门限因子
S=T.*Z;%%门限
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1)
  range_profile_Temp = temp_profile';
  Z=Z';
  X1=(0:255)*SampleRate*3e8/256/2/FrequencySlope;%距离公式%%
  X2=((N+G)/2:255-(N+G)/2)*SampleRate*3e8/256/2/FrequencySlope;%%门限起始值
  Y=20*log10(abs(range_profile_Temp));%接收功率公式
  Z=20*log10(abs(Z));
  plot(X1,Y);
  hold on;
  plot(X2,Z,'k');
  xlabel('距离(m)');
  ylabel('信号幅值');
  title('一维FFT处理三维视图');


对与上述matlab程序中,数据来源我随机采集的数据,关于程序相关说明已有注释。值得说明的是,我在上述程序中调用了一个自己编写的函数,该函数源码我已在我另一篇文章中提过点击这里

三、程序运行结果

实战:FMCW原始数据处理——CFAR+1DFFT(Range)_第3张图片

 对于这个运行结果,黑色是门限值,这组数据我是在很多物件的室内随意测得,没有上过精确的数据,故如果后期需要改正我会更新,或者可以适当给我提出错误更改。

最后,如果需要转载请注明出处。关于毫米波2DFFT(测速)、3DFFT(测角)这里就不提出,如果想要学习可关注,应要求后续出一个专门讲解2DFFT、3DFFT的文章。

你可能感兴趣的:(mmWave,Radar,matlab,算法)