信号处理-距离维FFT

针对一个chirp的数据在MATLAB中进行处理,得到对应的距离信息。在真实的处理中,肯定不是通过这种简单的方式就得到距离,这里仅仅是通过这个例子认识到“连续波雷达中,距离和频率之间的对应关系”以及“加窗对于FFT的影响”。

下面是MATLAB的代码,下载原始数据请点击链接

%% 1D FFT using MATLAB
% load rawdata
close all;clear;clc;
din_real = load('one_chirp_data_real.dat');
din_imag = load('one_chirp_data_imag.dat');
din_real = din_real';
din_imag = din_imag';
figure
subplot(211)
plot(din_real)
title('real data')
subplot(212)
plot(din_imag)
title('imag data')
din = din_real + 1j* din_imag; % complex value
figure
plot(abs(din))
title('complex value')
%% fft
din_fft = fft(din);
figure
plot(abs(din_fft))
title('fft(before window)')
xlabel('samples')
% N = length(din_real);
% B = 768e6; % bandwidth
% range_res = c/(2*B); % range resolution
% index = 1:1:N;
% range_bin = (index-1)*range_res;
% figure
% plot(range_bin, abs(din_fft))


N = length(din_real); % samples
Fs = 10e6; % sampling rate
B = 768e6; % bandwidth
k = 30e12; % slope
Tc = B/k;  % chirp duration
c = 3e8;   % light speed
index = 1 : 1 : N;
range_bin = (index - 1) * (c*Tc*Fs) / (2*B*N); 
freq_bin = (index-1)*Fs/N;
figure
plot(range_bin, abs(din_fft))
xlabel('range(m)')
figure
plot(freq_bin,abs(din_fft))
xlabel('freqency(Hz)')
%% window
range_win = round(100*hamming(N)); 
range_win = range_win';
din_win = din .* range_win;

din_win_fft = fft(din_win);
figure
plot(range_bin, abs(din_win_fft))
title('fft(after window)')
xlabel('range(m)')

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾日叁問

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值