文章目录
前言
雷达算法仿真学习,主要流程包括生成目标回波,将基带信号加在载波上其次是加上目标信息和干扰信号后发射,解调回波信号得到基带信号然后MTI,MTD,最后再检测。
一、基础理解
1.慢时间维度和快时间维度
-
连续M个脉冲回波经过相干解调之后的基带数据形成的一个二维数据矩阵,上图只是雷达三维数据块的一个切面,其中数据的每一行代表的是对同一个距离单元的一连串脉冲测量,每一列对应的是一个脉冲回波的连续采样,也叫连续的距离门,其中每个小方块的元素都是一个复数,代表每个个距离单元的I,Q分量。
-
快时间维或距离维的采样率至少为发射脉冲的带宽,数量级在MHz左右,慢时间维,按雷达的脉冲重复周期进行采样,故采样率为PRF=1/PRT,数量级一般在KHz,所以慢时间维和快时间维其中的慢和快从这里我们也能知道一些原因。
2.脉冲压缩
- 脉冲压缩滤波器实质上就是匹配滤波器,匹配滤波器是以输出最大信噪比为准则设计出来的最佳线性滤波器。假设噪声为高斯白噪声,写出信噪比的表达式,根据schwarz不等式可以得到匹配滤波器的响应,对应的冲激函数形式
- 根据冲击函数形式可以知道匹配滤波之后的输出信号就是输入信号的自相关函数,其傅立叶变换结果就是信号功率谱,则信号带宽越大,输出信号越窄,距离分辨力越好。所以,当宽脉冲的脉内频率或相位经过调制后,信号带宽增大,经过匹配滤波器后就会被压缩为窄脉冲。当然脉冲被压缩的特点也可以从群时延的角度去理解。滤波器的群时延恰好与信号相反,当信号经过滤波器就会呈现多个信号同相位输出,在某个时刻输出压缩成单一载频的窄脉冲。
3.MTI
- 在MTI处理中,沿慢时间维对快时间/慢时间数据矩阵进行高通滤波,得到一个新的数据矩阵,在新的数据矩阵中的杂波分量已经被衰减,此操作可以判断目标的存在,但不能确定目标的运动。
- 典型的MTI滤波器为延迟对消器,进行脉冲间对消。
4. 脉冲多普勒处理
- 直接对慢时间数据序列进行一个谱分析,从而代替滤波处理,处理结果仍然是一个数据矩阵,但是坐标变换为快时间和多普勒频率,此时根据多普勒频率可以求的目标运动的速度。最简单的是对数据矩阵中每一行慢时间序列的离散傅里叶变换(DFT)
5.cacfar检测
- 主要为了的到RD平面的阈值,然后根据阈值判断的出找到多普勒频率,从而得到想要目标的速度。
代码如下:
function [ index, XT ] = ca_cfar( xc, N, pro_N, PAD)
%
alpha=N.*(PAD.^(-1./N)-1);
index=1+N/2+pro_N/2:length(xc)-N/2-pro_N/2;%这句话提前可以提高效率
for j=1:256
XT(j,:)=zeros(1,length(index)+20);
for i=index
cell_left=xc(j,i-N/2-pro_N/2:i-pro_N/2-1);
cell_right=xc(j,i+pro_N/2+1:i+N/2+pro_N/2);
Z=(sum(cell_left)+sum(cell_right))./N;
XT(j,i-N/2-pro_N/2)=Z.*alpha;
end
end
end
二、具体流程
1.产生回波信息加入目标时延以及噪声
A=1;
u=(2*pi*B)/tao;% u的具体含义k*2pi
t=(-tao/2):(1/fs):(tao/2-1/fs);%一个脉冲
s=A*exp((1i*u*t.^2)/2);%复包络 pi*k*T2
%添加时延信息
r_tao = ceil(((r+v*pri)*2*fs-pri)/c); %移动目标时延
tao2 = ceil(2*r2*fs/c); %静止目标时延 点数
s1 = A*exp((1i*2*pi*u*t.^2)/2)*exp(1i*2*pi*fd*(i-1)*pri);
%移动目标信号添加多普勒频率(各脉冲之间差一个PRI)
sss(1,tao2:tao2 + length(s)-1) = s;
%包络信号在经过固定目标的时延之后产生的回波
signal_recive(i,r_tao:r_tao + length(s1)-1)=s1;%运动目标回波生成
signal_recive(i,:) = sss + signal_recive(i,:); %回波叠加
%根据采样率 重新确定采样间隔 方便之后将基带信号调制到发射频率 %fashe=temp1.*zaibo;
t_dac=(-tao/2):(1/fs_dac):(tao/2-1/fs_dac);%2400个点300*8
zero_vector=zeros(1,length(t_dac));
for i=1:length(s)
zero_vector((i-1)*8+1)=s(i);
%%给原信号各样本点之间插零 基带采样率和增采样后的采样率为1:8
end
%平滑信号
h=[0.125 0.25 0.375 0.5 0.625 0.75 0.875 1 0.875 0.75 0.625 0.5 0.375 0.25 0.125];%15个点
temp=conv(zero_vector,h);% 这里卷积的目的是什么 平滑 为了把零填充
temp1=temp(8:(length(temp)-7));
%%过滤波器后完成升采样 去掉卷积后左右多出来的14个点
t_zhongpin=(-tao/2):1/fs_dac:(tao/2-1/fs_dac);
zaibo=exp(1i*t_zhongpin*f0*2*pi);
fashe=temp1.*zaibo;%将基带信号调制到载波上
2.解调回波得到基带信号
zaibo2=exp(-1i*t_receive*f0*2*pi);%相干信号
receive_jidai=zaibo2.*receive;% 数学运算过来就是我们想要得到的基带信号
load fir_d150m.mat;
a=H_a;%filter函数使用重要的参数之一 根据设计的滤波器确定
b=1;%filter函数使用重要的参数之一
receive_jidai2=filter(a, b, receive_jidai);
%经过低通滤波之后 根据基带信号的采样率和发射信号的采样率还原基带信号
chouqu=zeros(1,fs*tao);%脉宽*采样频率=5us*60M=300 抽取300个点
for j=1:length(chouqu)
chouqu(j)=receive_jidai2((j-1)*fs_adc/fs+1);
%经过低通滤波器之后的基带信号
end
%脉冲压缩
s_mf = conv(chouqu,conj(s),'same');%same含义
3.脉冲压缩 MTI MTD cafar检测
%脉压 匹配滤波 此时可以看到移动和静止目标的脉冲时延 可以通过时延计算R
signal_mf(i,:) = conv(chouqu(i,:),conj(s),'same');
figure
plot(t_total,abs(signal_mf(2,:)),'r','linewidth',1);
title('脉冲对消之前脉压后单脉冲信号')
xlabel('时间')
ylabel('幅度')
%MTI滤波 脉冲对消 消除杂波与静止目标干扰
signal_mti = signal_recive;
N_mti = 4;
for i_mti = 1:N
if i_mti<=N - N_mti% 1<4-1 2=4-2
signal_recive(i_mti,:) = signal_mti(i_mti + N_mti,:) - signal_mti(i_mti,:);%第一个脉冲减去第5个 signal_mti(1)=signal_mti(5)-signal_mti(1)
else
signal_recive(i_mti,:) = signal_mti(i_mti,:) - signal_mti(i_mti - N_mti,:);% signal_mti(2)=signal_mti(2)-signal_mti(-2)***
end
%脉压 此时便不会出现静止目标的脉冲 仅有移动目标
signal_mf(i_mti,:) = conv(signal_recive(i_mti,:),conj(s),'same');
end
%%MTD的过程就是对慢时间(脉冲之间)维度做FFT变换,
%提取目标速度信息 得到RD平面
signal_mtd = fftshift(fft(signal_mf,N,1));
%参数1表示按signal_mf列进行傅里叶变换 列方向 就是慢时间维
figure
mesh(t_total,v_prf,abs(signal_mtd));
title('RD平面')
xlabel('时间')
ylabel('频率')
%%二维CFAR检测 这里的t信号就是得到的阈值平面
[ index,t] = ca_cfar(abs(signal_mtd_wgn),6, 0, PAD);
%最后根据阈值判决出我们想要找的多普勒频率
figure
plot(3900:4100,abs(signal_mtd(131,3900:4100)),'r');
hold on
t = t/max(max(t));%幅度归一化
plot(3900:4100,abs(t(131,3900:4100))*0.6+0.10,'b');
legend('信号','阈值')
```
# 三、仿真结果图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210111141138973.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyOTYxMjM1,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021011114121937.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyOTYxMjM1,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210111141250386.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyOTYxMjM1,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210111141258682.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyOTYxMjM1,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210111141307337.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyOTYxMjM1,size_16,color_FFFFFF,t_70#pic_center)