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

本文详细介绍了使用MATLAB进行毫米波雷达数据处理,包括数据采集参数设置、CFAR(恒虚警)算法与1DFFT结合的源码实现。作者提供了一段MATLAB代码,用于对xWr1xx+DCA1000采集的原始数据进行距离FFT,并利用CA-CFAR算法检测目标。程序展示了从原始数据到FFT处理及目标检测的完整流程,适合对毫米波雷达信号处理感兴趣的技术人员参考。
摘要由CSDN通过智能技术生成

目录

一、数据采集参数

二、CFAR+1DFFT matlab源码

三、程序运行结果

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

一、数据采集参数

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

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

二、CFAR+1DFFT matlab源码

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


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

三、程序运行结果

这组数据我是在很多物件的室内随意测得,各位看官老爷也可以自己尝试。最后,如果需要转载请注明出处。关于毫米波2DFFT(测速)、3DFFT(测角)这里就不提出,如果想要学习可关注,应要求后续出一个专门讲解2DFFT、3DFFT的文章。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值