【TI毫米波雷达入门-7】mmWave_1_D_Range_FFT.m 解读

mmWave_1_D_Range_FFT_to_Stu

clear all
data=readDCA1000('matlab_lab_adc_data.bin');
%data=readDCA1000('adc_data.bin');
frame_cnt=size(data,2)/256/128  %frame_cnt 帧数,128个chirp 定义位一帧,一帧中有256个采样点

lightSpeed = 3.0e8; %光速

Sample_Rate_Hz = 10e6;  %采样率,10MHZ 

Slope_Hz = 29.982e12; %斜率29.982Mhz /us

Samples_Per_Chirp = 256;%采样点数256

fftSize1D = 256;  %大概意思同采样点数
range_step = ((Sample_Rate_Hz/Samples_Per_Chirp)/Slope_Hz) *(lightSpeed/2) * Samples_Per_Chirp / fftSize1D;%简化一下 距离分辨率dres= c/2B
range_axis = (0:fftSize1D-1)*range_step;  %每一个采样点对应的距离刻度
time_axis = (0:fftSize1D-1)/Sample_Rate_Hz;%每一个采样点对应时间刻度

for i =1:size(data,2)/256            %M个chrip
    recv1_data(1:256,i)=data(1,(i-1)*256+1:i*256); %将第一个天线的数据,重新排列成按列排布的数据,256行*1024列。行代表256次采样,列代表1024个chirps
end

window_1D = hann(256);
radar_data_1dFFT = fft(recv1_data(:,1).*window_1D, fftSize1D);   %天线1的第一个chirp 与汉宁窗口点乘后做fft

figure(1);clf                                                    %时间维度上,显示实部和虚部
plot(time_axis,real(recv1_data(:,1)),'b'); 
grid on
hold on
plot(time_axis,imag(recv1_data(:,1)),'r')
xlim([0 2.6e-5]);


xlabel('time (seconds)');ylabel('amplitude');
title('Time domain plot')
figure(2);clf                                                    %距离维度上,显示数据值,20log10,转换成分贝单位,abs()转成成模的形式,/2^22 可视化调整
plot(range_axis,20*log10(abs(radar_data_1dFFT)/2^22),'LineWidth',1.5);
grid on
xlim([0 49]);
ylim([-120 0]);
xlabel('Distance (meters)');ylabel('FFT Output(dBFS)');
title('1-D FFT amplitude profile(per chirp)')

Bandwidth =  Slope_Hz * fftSize1D /Sample_Rate_Hz;  
disp(Bandwidth)

range_resolution = range_step;   
disp(range_resolution)

max_range= Sample_Rate_Hz*lightSpeed/2/Slope_Hz;   
disp(max_range)

index = find(abs(radar_data_1dFFT)==max(abs(radar_data_1dFFT)));        %检测最大强度距离
strength_max_dis = range_axis(index);
strength_data = abs(radar_data_1dFFT);

sorted_data = sort(abs(radar_data_1dFFT), 'descend');  %检测信号最大的10个距离
radar_data_1dFFT_top_10 = sorted_data(1:10);

indices = arrayfun(@(x) find(abs(radar_data_1dFFT) == x, 1), radar_data_1dFFT_top_10);  
strength_max_top_10_dis = range_axis(indices);
strength_max_top_10_strength = strength_data(indices);

dent.m 解读

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值