概述
本次实验的目的主要是对雷达信号进行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(j2pi * f_c*(t+i*T_r)+frac{S}{2}t^2)
ST(t)=AT∗exp(j2π∗fc∗(t+i∗Tr)+2St2)
参数介绍:
- A T A_T AT是指发射天线的增益
- f c f_c fc是指载波中心频率
- T r T_r Tr是指chirp的持续时间
- i i i是是第几个chirp
- 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(j2pi * (f_c-f_d)*(t-t_d+i*T_r)+frac{S}{2}(t-t_d)^2)
SR(t)=AR∗AT∗exp(j2π∗(fc−fd)∗(t−td+i∗Tr)+2S(t−td)2)
参数介绍:
- A R A_R AR是指接收过程中的损耗
- 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∗(fc−B/2)∗v,B是带宽,v是指目标与雷达的相对径向速度,c是光速
- t d t_d td是指时间延迟, t = 2 ∗ d c t=frac{2*d}{c} t=c2∗d,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'); %进行数据的保存
运行上述程序会生成一个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)');
实验结果:
最后
以上就是认真手套为你收集整理的Xiaojie雷达之路---MATLAB仿真---RD(range-doppler)图前述知识重要公式实验的全部内容,希望文章能够帮你解决Xiaojie雷达之路---MATLAB仿真---RD(range-doppler)图前述知识重要公式实验所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复