Xiaojie雷达之路---TI实战笔记---Range FFT

雷达测距(range fft)实验:

本次实验主要是依据下述的公式进行的:
f = S ∗ τ = S ∗ 2 R c f = S * \tau = \frac{ S * 2R}{c} f=Sτ=cS2R
F r e q b i n = ( s a m p l e s − 1 ) ∗ f s s a m p l e s Freq_{bin} = \frac{(samples - 1) * f_s}{samples} Freqbin=samples(samples1)fs
R = F r e q b i n ∗ c 2 ∗ S R = \frac{Freq_{bin} * c}{2 * S} R=2SFreqbinc
S 是 c h i r p 的 斜 率 S是chirp的斜率 Schirp
τ 是 雷 达 与 目 标 之 间 往 返 的 时 间 \tau是雷达与目标之间往返的时间 τ
R 是 待 测 的 距 离 R是待测的距离 R
c 是 光 速 c是光速 c
s a m p l e s 是 采 样 点 samples是采样点 samples
f s 是 是 采 样 率 f_s是是采样率 fs

代码:

close all;clear;clc;
retVal = readDCA1000_1('adc_data.bin'); %读取雷达数据,retVal的维度是[rxnums,numChirps*numADCSamples]
data = retVal(1,1:256); %取第一行中的第1至256列的数据(一个chirp)
samples = 256; %采样点
Fs = 10e6; %采样率
slope = 29982e9; %chirp斜率
c = 3e8; %光速
index = 1:1:samples; 

figure;
plot(index,abs(data));
title('before fft');
xlabel('samples');
%生成窗
range_win = hamming(256); 
figure;
plot(index,abs(range_win));
title('hammingwin');
xlabel('samples');
%加窗操作
range_win = range_win';
din_win = data .* range_win;
%fft操作
datafft = fft(din_win);
figure;
plot(index,abs(datafft));
title('after fft');
xlabel('samples');
%samples转换为freq
freq_bin = (index - 1) * Fs / samples;
figure;
plot(freq_bin,abs(datafft));
title('after fft');
xlabel('frequency(Hz)');
%freq转换为range
range_bin = freq_bin * c / 2 / slope;
figure;
plot(range_bin,abs(datafft));
title('after fft');
xlabel('range(m)');

结果输出:
在这里插入图片描述

参考文献:

  1. https://blog.csdn.net/qq_42235129/article/details/111666303

猜你喜欢

转载自blog.csdn.net/Xiao_Jie123/article/details/112061253
FFT