【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】

一、简介

案例1 某弹载雷达系统要求:不模糊探测距离80km;工作比不超过20%;波长=3cm;天线等效孔径D=0.25m(直径);噪声系数F=3dB;系统损耗L=4dB;天线波束宽度θ3dB =6°;目标的RCS:=1500 m2。弹目之间的相对运动关系如图。目标航速Vs=10~30m/s(任取一值),导弹运动速度Va=600m/s,目标航向与弹轴方向之间的夹角为α′=30°,目标偏离弹轴方向的角度为β=1°,则在舰船位置P,导弹对目标视线与目标航向的夹角α=α′+β。从t=0时刻开始,导弹从O向O’位置运动, 目标从P向P’位置运动。
案例2 针对某阵列雷达的实测数据,给出如下处理结果:
数据文件:radar_data.mat,为三维数组3000 × 20 × 12,3000为距离单元,20为天线单元数(天线间隔0.625m),12为一个波位的脉冲数。其它参数上课给出。
对数据依次进行DBF、脉压、MTI、CFAR等处理。
1.给出波束指向为0°时的DBF处理结果,要求副瓣<-25dB。
2.给出脉压后的原始视频,要求副瓣<-35dB。(LFM信号: B=800KHz,Te=420us)
3.设计四/六脉冲MTI滤波器,给出MTI后的原始视频,选择2个目标估算对杂波的改善因子。估计杂波的谱中心和谱宽。(雷达为三变T:4100:4400:4700 us)

二、源代码

% 参数定义
clc;clear all;close all;
FFTsize=4096;%FFT点数
d=0.65;%天线间隔0.65m
C=3e8;%光速
lamda=0.03;%波长
TimeWidth=160e-6;%脉冲宽度
BandWidth=1e6;%调频带宽
K=BandWidth/TimeWidth;%调频斜率
D=0.25;%天线孔径
Ae=0.25*pi*D^2;%天线有效面积
G=4*pi*Ae/lamda^2;%天线增益
RCS=1500;%目标RCS
k=1.38e-23;%玻尔兹曼常数
T=290;%标准噪声温度
F=3;%噪声系数(dB)
L=4;%系统损耗(dB)
Lp=5;%信号处理损失(dB)
N_CI=64;%相干脉冲积累数
Pt_CI=30;%64脉冲相干积累时发射功率
Ru=80000;%不模糊探测距离(m)
theta_3dB=6;%天线波束宽度(角度)
PRT=800e-6;%搜索状态脉冲重复周期
Fs=2e6;%采样频率
Ts=1/Fs;%采样周期
Va=600;%导弹速度
Vs=20;%目标航速
alpha=30;%目标航向与弹轴方向夹角(角度)
beta=1;%目标偏离弹轴方向夹角(角度)
Rs=20000;%第七题中目标距离
nTr=fix(PRT*Fs);%每个脉冲重复周期采样点
nTe=fix(TimeWidth*Fs);%匹配滤波点数
nTe=nTe+mod(nTe,2);
P_fa=10e-6;%虚警概率

% (1)模糊函数和-4dB等高线图
eps=1e-10;%防止奇异点出现
tau=-TimeWidth:TimeWidth/1600:TimeWidth-TimeWidth/1600;
fd=-BandWidth:BandWidth/1000:BandWidth-BandWidth/1000;
[X,Y]=meshgrid(tau,fd);
temp1=1-abs(X)./TimeWidth;
temp2=pi*TimeWidth*(K*X+Y).*temp1+eps;
ambg=abs(temp1.*sin(temp2)./temp2);%模糊函数模值
figure;mesh(tau*1e6,fd*1e-6,ambg);%模糊函数图
xlabel('\tau/us');ylabel('fd/MHz');title('模糊函数图');grid on;
[m1,m2]=find(ambg==max(max(ambg)));%找到原点
figure;plot(tau*1e6,20*log10(abs(ambg(m1,:))));%画出距离模糊函数图
xlabel('\tau/us');ylabel('|X(\tau,0)|');title('|X(\tau,0)|距离模糊图');grid on;axis([-100,100,-60,0]);
figure;plot((fd)*1e-6,20*log10(abs(ambg(:,m2))));%画出速度模糊函数图
xlabel('fd/MHz');ylabel('|X(0,fd)|');title('|X(0,fd)|速度模糊图');grid on;axis([-1,1,-60,0]);
figure;contour(tau*1e6,fd*1e-6,ambg,'bl');%画出模糊函数的等高线图
xlabel('\tau/us');ylabel('fd/MHz');title('模糊函数的等高线图');axis([-150,150,-1,1]);
figure;contour(tau*1e6,fd*1e-6,ambg,[10^(-4/20),10^(-4/20)],'bl');%画出-4dB等高线图
xlabel('\tau/us');ylabel('fd/MHz');title('模糊函数的-4dB切割等高线图局部放大');axis([-2,2,-0.01,0.01]);


[I2,J2]=find(abs(20*log10(ambg)-(-3))<0.1);%计算-3dB时宽带宽
tau_3db=abs(tau(J2(end))-tau(J2(1)))*1e6
B_3db=abs(fd(I2(end))-fd(I2(1)))*1e-6

%2)(3)略

%4)相干积累提升SNR
N_pulse=theta_3dB/60/PRT
R_max=100000;%测试最大距离100km
R_CI=linspace(0+R_max/400,R_max,400);
SNR_1=10*log10(Pt_CI*TimeWidth*G^2*RCS*lamda^2)-10*log10((4*pi)^3*k*T.*(R_CI).^4)-F-L-Lp;
SNR_N=SNR_1+10*log10(N_CI);
figure;plot(R_CI*1e-3,SNR_1,'b-.',R_CI*1e-3,SNR_N,'r-');title('相干积累前后信噪比-距离关系曲线');
xlabel('R/km');ylabel('SNR/dB');legend('相干积累前','相干积累后');grid on;axis([30,100,-10,40]);

%%%5)脉压
t=(-nTe/2:(nTe/2-1))/nTe*TimeWidth;
f=(-256:255)/512*(2*BandWidth);
Slfm=exp(1j*pi*K*t.*t);%线性调频信号
% figure;plot(t*1e6,real(Slfm),'r-',t*1e6,imag(Slfm),'b-.');title('线性调频信号');
Ht=conj(fliplr(Slfm));%时域匹配滤波函数
Hf=fftshift(fft(Ht,512));
figure;plot(t*1e6,real(Ht),'r-',t*1e6,imag(Ht),'b-.');title('线性调频信号匹配滤波函数h(t)');
xlabel('时延/us');ylabel('幅度');legend('实部','虚部');grid on;
figure;plot(f*1e-6,abs(Hf));title('线性调频信号匹配滤波器H(f)');
xlabel('频率/MHz');ylabel('幅度');grid on;
Echo=zeros(1,fix(PRT*Fs));DelayNumber=fix(2*Ru/C*Fs);%目标距离80km
Echo(1,(DelayNumber+1):(DelayNumber+length(Slfm)))=Slfm;%产生回波信号
% figure;plot((0:1/Fs:PRT-1/Fs)*C/2*1e6,real(Echo),'r-',(0:1/Fs:PRT-1/Fs)*C/2*1e6,imag(Echo),'b-.');
% title('回波信号');xlabel('距离/Km');ylabel('幅度');legend('实部','虚部');grid on;
Echo_fft=fft(Echo,2048);%要在频域脉压
Echo_s=repmat(Echo_fft,2,1).';%因为fft按列计算,因此数据按列放置
Ht_s=repmat(Ht,2,1).';%因为fft按列计算,因此数据按列放置
window=[ones(nTe,1),taylorwin(nTe,5,-35)];%窗函数,泰勒窗-35dB
Hf_s=fft(Ht_s.*window,2048);%脉压和加窗的频域
Echo_temp=ifft(Echo_s.*Hf_s);%脉压后未去暂态点
Echo_pc=Echo_temp(nTe:nTe+fix(PRT*Fs)-1,:);%去掉暂态点
% figure;plot((0:fix(PRT*Fs)-1)*C/2/Fs*1e-3,20*log10(abs(Echo_pc(:,:))));%按列画出
% xlabel('距离/Km');ylabel('幅度/dB');grid on;title('回波信号脉压结果');legend('不加窗','加三角窗' ,'加汉明窗');
PC_max=max(20*log10(abs(Echo_pc)));%找出不同窗时的最大值
PC_lose=PC_max-PC_max(1)%显示出加窗后的最大值损失
Slfm_pc=20*log10(abs(Echo_pc((DelayNumber-nTe/2+1):(DelayNumber+nTe/2),:)));%线性调频信号的脉压结果
figure;plot(Slfm_pc(:,1)-PC_max(1));hold on;%归一化后结果 
plot(Slfm_pc(:,2)-PC_max(1),'r');hold on;%归一化后结果 
xlabel('时延/us');ylabel('幅度/dB');grid on;title('回波信号归一化脉压结果');legend('不加窗','加泰勒窗');
axis([0,320,-60,0]);

 %6)搜索状态仿真
 V=Vs*cos((alpha+beta)/180*pi)%目标与导弹相对速度
Signal_ad=2^8*(Echo/max(abs(Echo)));%信号经过ad后
t_N=0:1/Fs:N_CI*PRT-1/Fs;
Signal_N=repmat(Signal_ad,1,N_CI);%64个周期回波(无噪声)
Signal_N=Signal_N.*exp(1j*2*pi*(2*V/lamda)*t_N);%引入多普勒频移
Noise_N=1/sqrt(2)*(normrnd(0,2^10,1,N_CI*nTr)+1j*normrnd(0,2^10,1,N_CI*nTr));% 噪声信号
Echo_N=Signal_N+Noise_N;%加噪声后的回波信号
Echo_N=reshape(Echo_N,nTr,N_CI);
figure;plot(abs(Echo_N));title('原始信号');%回波基带信号图像
xlabel('时域采样点');ylabel('幅度(模值)');grid on;
Echo_N_fft=fft(Echo_N,2048);%回波信号FFT
Hf_N=fft(Ht,2048);%频域脉压系数
Hf_N=repmat(Hf_N.',1,N_CI);%脉压系数矩阵
Echo_N_temp=ifft(Echo_N_fft.*Hf_N);%频域脉压,未去暂态点
Echo_N_pc=Echo_N_temp(nTe:nTe+nTr-1,:);%去掉暂态点
figure;plot((0:nTr-1)/Fs*C/2*1e-3,20*log10(abs(Echo_N_pc.')));title('回波信号脉压结果');
xlabel('距离单元/Km');ylabel('幅度/dB');grid on;
Echo_N_mtd=fftshift(fft(Echo_N_pc.'),1);%64脉冲相干积累和MTD
figure;mesh((0:nTr-1)/Fs*C/2*1e-3,(-32:31)/PRT/64,abs(Echo_N_mtd));
xlabel('距离/Km');ylabel('多谱勒频率/Hz');zlabel('幅度');grid on;title('64脉冲相干积累结果');set(gcf,'color',[1,1,1])
figure;contour((0:nTr-1)/Fs*C/2*1e-3,(-32:31)/PRT/64,abs(Echo_N_mtd),'bl');%画出相干积累的等高线图
xlabel('距离/Km');ylabel('多谱勒频率/Hz');zlabel('幅度');grid on;title('64脉冲相干积累等高线图');
[index_i index_j]=find(abs(Echo_N_mtd)==max(max(abs(Echo_N_mtd))));%找最大值多普勒单元对应的重复周期进行CFAR处理
V_fd=2*V/lamda %多普勒素的对应的多普勒频率
mtd_fd=(index_i-1)/PRT/64% 相参积累对应的多普勒频率
SNR_echo=20*log10(2^8/2^10)%原始回波基带信号信噪比
SNR_pc=SNR_echo+10*log10(BandWidth*TimeWidth)%脉压后信噪比
SNR_ci=SNR_pc+10*log10(64)%64脉冲相干积累后信噪比

%恒虚警
N_mean=8;N_baohu=4;K0_CFAR=(1/P_fa)^(1/N_mean)-1%计算系数K
CFAR_data=abs(Echo_N_mtd(index_i,:));%信号
K_CFAR=K0_CFAR./N_mean.*[ones(1,N_mean/2) zeros(1,N_baohu+1) ones(1,N_mean/2)];%恒虚警系数向量
CFAR_noise=conv(CFAR_data,K_CFAR);%恒虚警处理
CFAR_noise=CFAR_noise(length(K_CFAR):length(CFAR_data));%去暂态点
figure;plot(((N_mean+N_baohu)/2:nTr-(N_mean+N_baohu)/2-1)/Fs*C/2*1e-3,20*log10(CFAR_noise),'r-.');%恒虚警电平
hold on;plot((0:nTr-1)/Fs*C/2*1e-3,20*log10(CFAR_data),'b-');%信号
xlabel('距离/Km');ylabel('幅度');grid on;title('恒虚警处理');legend('恒虚警电平','信号电平');hold off

% (7)单脉冲测角
theta=(-theta_3dB:theta_3dB/1200:theta_3dB-theta_3dB/1200)*pi/180;%波束宽度范围内
Ftheta1=exp(-2.778*((theta-theta_3dB/2*pi/180).^2)/(theta_3dB*pi/180).^2);%波束1方向图函数
Ftheta2=exp(-2.778*((theta+theta_3dB/2*pi/180).^2)/(theta_3dB*pi/180).^2);%波束2方向图函数
Fsum=Ftheta1+Ftheta2;%和波束
Fdif=Ftheta1-Ftheta2;%差波束
Ferr=real(Fsum.*conj(Fdif))./(Fsum.*conj(Fsum));%归一化误差信号
figure;plot(theta*180/pi,Ftheta1,'r-.',theta*180/pi,Ftheta2,'b-.');
hold on;plot(theta*180/pi,Fsum,'r',theta*180/pi,Fdif,'b');
xlabel('角度/度');ylabel('幅度');grid on;title('和差波束');hold on;
plot(theta*180/pi,Ferr,'k');legend('波束1','波束2','和波束','差波束','误差信号');
K_theta=polyfit(theta(1100:1300)*180/pi,Ferr(1100:1300),1);
fprintf('误差信号斜率为 %5.4f\n',1/K_theta(1));

三、运行结果

【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第1张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第2张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第3张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第4张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第5张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第6张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第7张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第8张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第9张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第10张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第11张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第12张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第13张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第14张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第15张图片
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】_第16张图片

四、备注

完整代码或者代写添加QQ1564658423
往期回顾>>>>>>
【信号处理】基于matlab HMM的睡眠状态检测【含Matlab源码 050期】
【信号处理】基于matlab CDR噪声和混响抑制【含Matlab源码 051期】
【信号处理】基于matlab最小二乘法解决稀疏信号恢复问题【含Matlab源码 052期】
【信号处理】基于matlab小波变换的音频水印嵌入提取【含Matlab源码 053期】
【信号处理】基于matlab ICA算法信号分离【含Matlab源码 054期】
【信号处理】基于matlab GUI界面的脉搏信号之脉率存档【含Matlab源码 237期】
【信号处理】基于matlab GUI界面的虚拟信号发生器(各种波形)【含Matlab源码 271期】
【信号处理】基于matlab GUI界面信号发生器之电子琴【含Matlab源码 272期】
【信号处理】基于matlab的数字电子琴设计与实现【含Matlab源码 273期】
【雷达通信】基于matlab的雷达数字信号处理【含Matlab源码 281期】
【雷达通信】基于matlab线性调频(LFM)脉冲压缩雷达仿真【含Matlab源码 283期】
【雷达通信】基于mtatlab距离多普勒(RD)、CS、RM算法的机载雷达成像【含Matlab源码 284期】

你可能感兴趣的:(matlab,信号处理)