当前位置:   article > 正文

Xiaojie雷达之路---MATLAB仿真---RD(range-doppler)图_rd图

rd图

本次实验的目的主要是对雷达信号进行RD图的仿真

前述知识

首先,要明白RD图指的是什么,R指的是range,D指的是doppler,range的含义就是目标距雷达的距离,doppler的含义是指目标相对于雷达的径向速度。

还有一个重要知识点:测量雷达距目标的距离是通过一个chirp来实现的,测量雷达与目标的相对速度是要通过多个chirp来实现。

为什么测速要通过多个chirp呢?
理论上测速也可以通过一个chirp内进行的,但是一个chirp内的时间间隔很短,所以就很难测出速度,因此就选用多个chirp通过不同chirp之间的相位差来进行测速(个人理解:可以一起交流讨论)

重要公式

雷达的发射信号(线性调频脉冲信号):
S T ( t ) = A T ∗ e x p ( j 2 π ∗ f c ∗ ( t + i ∗ T r ) + S 2 t 2 ) S_T(t)=A_T*exp(j2\pi * f_c*(t+i*T_r)+\frac{S}{2}t^2) ST(t)=ATexp(j2πfc(t+iTr)+2St2)

参数介绍:

  1. A T A_T AT是指发射天线的增益
  2. f c f_c fc是指载波中心频率
  3. T r T_r Tr是指chirp的持续时间
  4. i i i是是第几个chirp
  5. S S S是指chirp的斜率

雷达的接收信号:
S R ( t ) = A R ∗ A T ∗ e x p ( j 2 π ∗ ( f c − f d ) ∗ ( t − t d + i ∗ T r ) + S 2 ( t − t d ) 2 ) S_R(t)=A_R*A_T*exp(j2\pi * (f_c-f_d)*(t-t_d+i*T_r)+\frac{S}{2}(t-t_d)^2) SR(t)=ARATexp(j2π(fcfd)(ttd+iTr)+2S(ttd)2)

参数介绍:

  1. A R A_R AR是指接收过程中的损耗
  2. f d f_d fd是指多普勒频移, f d = 2 ∗ ( f c − B / 2 ) ∗ v c f_d=\frac{2*(f_c-B/2)*v}{c} fd=c2(fcB/2)v,B是带宽,v是指目标与雷达的相对径向速度,c是光速
  3. t d t_d td是指时间延迟, t = 2 ∗ d c t=\frac{2*d}{c} t=c2d,d是目标相距雷达的距离

雷达的中频信号:
I F = S T ( t ) ∗ S R ∗ ( t ) IF=S_T(t)*S_R^*(t) IF=ST(t)SR(t)

实验

数据仿真及保存

%% 超参数
c = 3e8; %光速
fc = 76.5e9;  %发射信号载频 中心频率
bw = 500e6;  %发射信号带宽
Tr = 10e-6;  %扫频时间 也就是周期
N = 256;  %采样点
Fs = 25.6e6; %采样率
M = 256;  %chirp的数目
k = bw/Tr; %chirp斜率
index = 1:1:N;  %产生点向量
IF_mat = zeros(M,N);  %存储带有噪声的中频信号
%% 发射信号参数
AT = 10;  %发射信号增益
t = 0:1/Fs:Tr-1/Fs;  %时间向量 确定256个点在一个Tr中的每个时刻
t = t - Tr/2; %将fc作为中心频率

%% 回波信号参数
distance = 50;  %目标距离雷达50m的距离
t_d = 2 * distance / c;  %目标距离雷达的延迟
velocity = -20;  %目标距雷达的相对速度为30m/s
f_d = 2 * (fc - bw/2) * velocity / c;  %多普勒频移
AR = 0.8;  %回波信号衰减的比例值

%% 生成数据
for i = 1:1:M  %chirp的循环
    St = AT*exp((1i*2*pi)*(fc*(t+i*Tr)+k/2*t.^2)); %发射信号
    Sr = AR*AT*exp((1i*2*pi)*((fc-f_d)*(t-t_d+i*Tr)+k/2*(t-t_d).^2));  %回波信号
    %% 求回波信号的共轭
    Sr_conj = conj(Sr);  %求回波信号的共轭
    %% 求中频信号
    IF = St .* Sr_conj;  %求中频信号
    SNR = 10;  %信噪比
    IF_with_Noise = awgn(IF,SNR,'measured');  %给中频信号加高斯白噪声,在添加噪声的时候,要进行能量的测量
    IF_mat(i,:) = IF_with_Noise;  %将带有噪声的中频信号保存
end
save('Ego_vehicle.mat', 'IF_mat');  %进行数据的保存

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

运行上述程序会生成一个Ego_vehicle.mat文件

数据解析及得到RD图

%% 加载数据
IF_mat = cell2mat(struct2cell(load('Ego_vehicle.mat','IF_mat')));
%% 超参数
c = 3e8; %光速
fc = 76.5e9;  %发射信号载频 中心频率
bw = 500e6;  %发射信号带宽
Tr = 10e-6;  %扫频时间 也就是周期
N = 256;  %采样点
Fs = 25.6e6; %采样率
M = 256;  %chirp的数目
k = bw/Tr; %chirp斜率
lambda = c / (fc - bw/2);
point = 1:1:N;  %产生点向量
%% 生成窗
range_win = hamming(N);  %生成range窗
doppler_win = hamming(M);  %生成doppler窗
%% range fft
for i = 1:1:N
    temp = IF_mat(i,:) .* range_win';
    temp_fft = fft(temp,N);
    IF_mat(i,:) = temp_fft;
end
%% doppler fft
for j = 1:1:M
    temp = IF_mat(:,j) .* doppler_win;
    temp_fft = fftshift(fft(temp,M));
    IF_mat(:,j) = temp_fft;
end
%% 画图
figure;
distance_temp = (0:N - 1) * Fs * c / N / 2 / k;
speed_temp = (-M / 2:M / 2 - 1) * lambda / Tr / M / 2;
[X,Y] = meshgrid(distance_temp,speed_temp);
mesh(X,Y,(abs(IF_mat)));
xlabel('距离(m)');
ylabel('速度(m/s)');
zlabel('信号幅值');
title('2维FFT处理三维视图');

figure;
speed_temp = -speed_temp;
imagesc(distance_temp,speed_temp,abs(IF_mat));
title('距离-多普勒视图');
xlabel('距离(m)');
ylabel('速度(m/s)');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

实验结果:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/248739
推荐阅读
相关标签
  

闽ICP备14008679号