一、获取代码方式

获取代码方式1:
完整代码已上传我的资源: 【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、简介

案例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版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
[4]李树锋.基于完全互补序列的MIMO雷达与5G MIMO通信[M].清华大学出版社.2021
[5]何友,关键.雷达目标检测与恒虚警处理(第二版)[M].清华大学出版社.2011

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

  1. 【雷达通信】基于matlab雷达探测威力仿真【含Matlab源码 1974期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab雷达探测威力仿真[含Matlab源码 1974期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付 ...

  2. 【雷达通信】基于matlab距离角度解耦法MIMO-OFDM雷达波束形成【含Matlab源码 2208期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab距离角度解耦法MIMO-OFDM雷达波束形成[含Matlab源码 2208期] 点击上面蓝色字体,直接付费下载 ...

  3. 【雷达通信】基于matlab GUI相控阵雷达方向图【含Matlab源码 1048期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab GUI相控阵雷达方向图[含Matlab源码 1048期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  4. 【雷达通信】基于matlab雷达仿真模拟系统【含Matlab源码 150期】

    ⛄一.获取代码方式(附课程作业报告) 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab雷达仿真模拟系统[含Matlab源码 150期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  5. 【雷达通信】基于matlab无人机FMCW毫米波高度计雷达仿真【含Matlab源码 1261期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [雷达通信]基于matlab无人机FMCW毫米波高度计雷达仿真[含Matlab源码 1261期] 点击上面蓝色字体,直接付费下载,即可. ...

  6. 【雷达通信】基于matlab NCP算法SAR回波生成和成像【含Matlab源码 1185期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab NCP算法SAR回波生成和成像[含Matlab源码 1185期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  7. 【雷达图像】SAR合成孔径雷达成像及处理【含Matlab源码 307期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达图像]SAR合成孔径雷达成像及处理[含Matlab源码 307期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专 ...

  8. 【雷达检测】基于matlab模拟海洋监视雷达检测仿真【含Matlab源码 2268期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达检测]基于matlab模拟海洋监视雷达检测仿真[含Matlab源码 2268期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  9. 【Matlab通信】DTMF双音多频电话拨号仿真【含GUI源码 805期】

    一.代码运行视频(哔哩哔哩) [Matlab通信]DTMF双音多频电话拨号仿真[含GUI源码 805期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  10. 【通信仿真】基于matlab噪声调频干扰仿真【含Matlab源码 1951期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[通信仿真]基于matlab噪声调频干扰仿真[含Matlab源码 1951期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

最新文章

  1. java11 是长期支持_这里有你不得不了解的Java 11版本特性说明
  2. 考勤排班_如何设置钉钉做2休1等考勤?
  3. 卡号身份证过期的影响
  4. 2015年职称计算机考试大纲,2015年职称计算机考试photoshop练习题6
  5. C#细说多线程(下)
  6. python怎么复数乘方开方_孩子数学不好怎么办?怎样让孩子学好数学的方法
  7. 如何下载百度文库文章
  8. 电容 电感的超前滞后
  9. 编解码格式 -- H264
  10. ButterKnife被弃用,ViewBinding才是findView的未来?
  11. C语言实现的个人信息管理系统
  12. 微软lync 持续服务器,Lync Server 2013 持久聊天服务器通道关闭
  13. 用免费建站系统做一个专业的企业网站才靠谱!
  14. 用python把图片换成蓝底_Python给照片换底色(蓝底换红底)
  15. 新版本游戏试玩APP搭建教程,附上试玩APP源码
  16. Vue前端报错及原因分析集合
  17. teb planner error
  18. 随笔之看雷军视频有感//2021-2-24
  19. Shell 脚本进入编辑模式和保存退出
  20. 2018护网杯第一场 web easy tornado LTshop超详细解答

热门文章

  1. 《JavaScript权威指南》学习笔记 第三天 找个对象
  2. thinkphp 文件下载实例 实现以及注意事项
  3. 字符编码(1)-- 基本概念
  4. ubuntu中Ruby开发集成环境
  5. unity byte[]的压缩和解压
  6. 投稿期刊:机械人机交互图形图象交叉学科
  7. Atitit 嵌入式系统与pc系统的对比 目录 1. 哈佛结构和冯诺依曼结构 普林斯顿结构区 1 2. 中断程序 类库调用 1 3. 指令集 三大流程语句 与 运算语句 赋值语句 1 4. 异
  8. Atitit 数据结构与常见文件元数据结构 目录 1. 分类 内部数据结构与外部存储数据结构 1 2. 编程语言内部数据结构 (堆栈 树 图等 1 2.1. 数据结构 (集合,列表,tree,map
  9. Atitit 让maven pom.xml不编译 1.build   2.  defaultGoalinstall/defaultGoal   3.  directory${bas
  10. Atitit 常见每日流程日程日常工作.docx v7 r8f