南京理工大学电子信息工程课程设计之雷达信号分析处理
- 格式:pdf
- 大小:240.07 KB
- 文档页数:13
电子科技大学雷达信号产生与处理实验课程设计课程名称:雷达信号产生与处理的设计与验证指导老师:姒强小组成员:学院:信息与通信工程学院一、实验项目名称:雷达信号产生与处理的设计与验证课程设计二、实验目的:1.熟悉QuartusII的开发、调试、测试2.LFM中频信号产生与接收的实现3.LFM脉冲压缩处理的实现三、实验内容:1.输出一路中频LFM信号:T=24us,B=5MHz,f0=30MHz2.构造中频数字接收机(DDC)对上述信号接收3.输出接收机的基带LFM信号,采样率7.5MHz4.输出脉冲压缩结果四、实验要求:1.波形产生DAC时钟自行确定2.接收机ADC采样时钟自行确定3.波形产生方案及相应参数自行确定4.接收机方案及相应参数自行确定五、实验环境、工具:MATLAB软件、QuartusII软件、软件仿真、计算机六、实验原理:方案总框图:(1)matlab产生LFM信号LFM信号要求为T=24us,B=5MHz,f0 =30MHz。
选择采样率为45MHz。
产生LFM的matlab代码如下:MHz=1e+6;us=1e-6;%-------------------------波形参数-----------------------------fs=45*MHz;f0=30*MHz;B=5*MHz;T=24*us;Tb=72*us;SupN=fs/7.5/MHz;%-------------------------波形计算-----------------------------K=B/T;Ts=1/fs;tsam=0:Ts:T;LFM=sin((2*pi*(f0-B/2)*tsam+pi*K*tsam .^2));LFM=[zeros(1,Tb/Ts) LFM zeros(1,Tb/Ts)];N=length(LFM);Fig=figure;x_axis=(1:N)*Ts/us;plot(x_axis,real(LFM),'r');title('LFM原始波形');xlabel('时间(us)'); ylabel('归一化幅度');zoom xon; grid on;axis([min(x_axis) max(x_axis) -1.1 1.1]);编写matlab程序将中频LFM信号画出来图6-1 LFM信号原始波形通过matlab将LFM原始波形量化成12位的数据,并生成保存为后缀.MIF的文件。
雷达信号处理课程设计一、教学目标本课程的教学目标是使学生掌握雷达信号处理的基本原理和方法,能够运用所学知识分析和解决实际问题。
具体目标如下:1.知识目标:学生能够了解雷达信号处理的基本概念、原理和方法,掌握线性信号处理、非线性信号处理、滤波器设计等核心知识。
2.技能目标:学生能够运用MATLAB等工具进行雷达信号处理的基本运算和分析,具备一定的实践能力。
3.情感态度价值观目标:学生能够认识雷达信号处理在国防、通信等领域的应用价值,培养对雷达信号处理的兴趣和热情。
二、教学内容本课程的教学内容主要包括以下几个部分:1.雷达信号处理基本概念:雷达系统、信号与系统、信号处理的基本任务。
2.线性信号处理:傅里叶变换、离散傅里叶变换、滤波器设计、信号检测。
3.非线性信号处理:非线性系统的特性、非线性信号处理方法、非线性滤波器设计。
4.雷达信号处理应用:雷达侦察、雷达跟踪、雷达成像等。
三、教学方法为了实现教学目标,我们将采用以下教学方法:1.讲授法:通过讲解雷达信号处理的基本概念、原理和方法,使学生掌握相关知识。
2.讨论法:学生进行小组讨论,培养学生的思考能力和团队合作精神。
3.案例分析法:分析实际案例,使学生了解雷达信号处理在实际应用中的作用。
4.实验法:通过MATLAB等工具进行实验,培养学生动手能力和实践能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《雷达信号处理教程》等。
2.参考书:《雷达信号处理技术》等。
3.多媒体资料:教学PPT、视频、动画等。
4.实验设备:计算机、MATLAB软件、信号发生器等。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,各部分所占比例分别为40%、30%和30%。
具体评估方式如下:1.平时表现:通过课堂提问、小组讨论等环节,评估学生的参与程度和思考能力。
2.作业:布置适量作业,评估学生的知识掌握和应用能力。
3.考试:期末进行闭卷考试,评估学生对课程知识的全面掌握。
题目:雷达线性调频信号的脉冲压缩处理线性调频脉冲信号,时宽10us,带宽40MHz,对该信号进行匹配滤波后,即脉压处理,处理增益为多少,脉压后的脉冲宽度为多少?用图说明脉压后的脉冲宽度,内差点看4dB带宽,以该带宽说明距离分辨率与带宽的对应关系。
1.程序为:T=10e-6;B=112e6;Rmin=8500;Rmax=11500;R=[9000,10000,10020];RCS=[1 1 1 ];C=3e8;K=B/T;Rwid=Rmax-Rmin;Twid=2*Rwid/C;Fs=10*B;Ts=1/Fs;Nwid=ceil(Twid/Ts);t=linspace(2*Rmin/C,2*Rmax/C,Nwid); M=length(R);td=ones(M,1)*t-2*R'/C*ones(1,Nwid);Srt1=RCS*(exp(1i*pi*K*td.^2).*(abs(td)<T/2));Srt=Srt1;Nchirp=ceil(T/Ts);Nfft=2^nextpow2(Nwid+Nwid-1); Srw=fft(Srt,Nfft);Srw1=fft(Srt1,Nfft);t0=linspace(-T/2,T/2,Nchirp);St=exp(1i*pi*K*t0.^2);Sw=fft(St,Nfft);Sot=fftshift(ifft(Srw.*conj(Sw)));Sot1=fftshift(ifft(Srw1.*conj(Sw)));N0=Nfft/2-Nchirp/2;Z=abs(Sot(N0:N0+Nwid-1));Z=Z/max(Z);Z=20*log10(Z+1e-6);figuresubplot(211)plot(t*1e6,real(Srt));axis tight;xlabel('us');ylabel('幅度')title(['线性信号压缩前']);subplot(212)plot(t*C/2,Z)xlabel('Range in meters');ylabel('幅度 ')title(['线性信号压缩后']);选取0.9*10^4HZ 的一个脉冲进行放大分析(调整Y 轴与X 轴的范围)58606264666870727476us幅度线性调频信号压缩前0.850.90.9511.05 1.1 1.15x 104-150-100-5050Range in meters 幅度 线性调频信号压缩后选取主瓣调整:大致可以看出压缩后的带宽为0.1hz理论上分析处理增益为:D=10*10e -6*112*10e6=1120D=112/B1=1120.B1=0.1HZ2.分辩率。
雷达原理课程实验报告作者: 徐延宾学号:9171040G0633 学院: 电子工程与光电技术学院专业(方向):电子信息工程指导教师:许志勇学分: 3.5 教学大纲编号:04041904-02020年 8月 20日雷达原理课程实验报告第I 页实验报告摘要第II 页雷达原理课程实验报告目次1实验概述 (1)1.1 基本信息 (1)1.2 实验雷达 (2)1.3实验内容 (4)2实验1:单目标测速实验 (5)2.1 实验要求 (5)2.2 实验方法 (5)2.3 实验分析 (6)2.4 实验讨论 (8)2.5 实验小结 (8)3 实验2:单目标测距实验 (8)3.1 实验要求 (8)3.2 实验方法 (8)3.3 实验分析 (10)3.4 实验讨论 (10)3.5 实验小结 (11)4 实验3:雷达录取数据分析实验 (11)4.1 实验要求 (11)4.2 实验方法 (11)4.3 实验分析 (12)4.4 实验讨论 (17)4.5 实验小结 (18)5 结论 (18)6 实验心得 (19)致谢 (19)附录 A 实验记录 (20)附录B MATLAB处理程序 (23)雷达原理课程实验报告第1 页1 实验概述1.1 基本信息本实验是在已经掌握雷达原理的基础上,借助实验教学雷达(LFMCW),对单目标进行速度和距离的测量,与真实值进行比对。
是对已学理论知识的实践运用。
1.1.1 实验名称雷达原理课程(3.5学分)课内实验。
1.1.2 实验时间2020年8月20日,上午8:30-11:00。
1.1.3 实验场地南京理工大学电子工程与光电技术学院院办大楼后面的道路,具体位置如下图所示。
图 1.1 实验场地地图1.1.4 实验仪器表1.1 实验仪器清单仪器名称仪器数量教学雷达系统(含雷达箱体与笔记本电脑)1部博士能ELITE激光测距仪1架平板电脑1部凳子5个手机4部雨伞1把U盘2个粉笔4支插线板4个第 2 页雷达原理课程实验报告1.1.5 实验人员第二组实验人员名单:实验指导人员:1.1.6 天气状况表 1.2 天气状况记录项目参数天气雷阵雨转多云温度25℃-34℃风向东风风力1级湿度61%空气质量轻度污染气压1008hPa1.2 实验雷达1.2.1 雷达组成教学实验雷达系统主要组成部分:保护模块、天线模块、后端模块、上位机软件等。
南京理工大学电子信息工程综合实验实验报告题目:电子信息工程综合实验实验报告院系:电子工程与光电技术学院姓名(学号):指导教师:实验日期: 2015年11月6号目录实验一正交调制器实验 (2)实验二正交相干检波器 (7)实验三匹配滤波器 (12)实验四动目标检测及相参积累 (17)实验五线性调频脉冲压缩 (29)实验总结 (35)实验一 正交调制器实验一、实验目的1.掌握正交调制器的工作原理;2.掌握正交调制器的电路组成。
二、实验仪器信号源、示波器、直流稳压电源 三、实验原理正交调制是一种特殊的复用技术,一般是指利用两个频率相同但相位相差90度的正弦波作为载波,同时传送两路互相独立的信号的一种调制方式。
图一是具体的调制器功能框图。
图一 正交调制器功能框图如图一所示,两路互相正交的信号i(t)和q(t)分别调制角频率为W c 的互相正交的正弦波调制,调制后两路相加的波形为:(t)i(t)cosw (t)sinw c c x t q t=+如果两路正交的信号i(t)和q(t)分别为线性调频脉冲信号的复包络的实部和虚部,即:2(t)cos(k t )i π=,2q(t)sin(k t )π= 正交调制器的输出则为:222x(t)(t)cos (t)sin cos(k t )cos()sin(k t )sin()cos(k t )c c c c c i t q t t t t ωωπωπωωπ=+=-=+显然,正交调制器的输出为载频频率为W c 的线性调频脉冲信号。
四、实验电路本实验装置主要由波形产生电路以及正交调制电路两个模块组成,硬件方面主要使用了单片机和FPGA 两种可编程的器件联合实现的。
单片机处理开关扫描和显示电路,FPGA 实现波形产生与输出选择,具有很大的灵活性和开放性,系统原理框图如图二所示。
图二正交调制器实验装置原理框图本实验装置的单片机选用的是Atmel公司的单片机AT89C55WD,如图三单片机的数据地址复用口全部与FPGA相连,此外地址的高三位也与FPGA相连,这主要是为了让FPGA承担为单片机地址译码器选通外设的作用。
南理工电子信息工程综合实验实验报告南京理工大学电子信息工程综合实验实验报告题目:电子信息工程综合实验实验报告院系:电子工程与光电技术学院姓名(学号):指导教师:实验日期: 2015年11月6号目录实验一正交调制器实验 (2)实验二正交相干检波器 (7)实验三匹配滤波器 (12)实验四动目标检测及相参积累 (17)实验五线性调频脉冲压缩 (29)实验总结 (35)实验一 正交调制器实验一、实验目的1.掌握正交调制器的工作原理;2.掌握正交调制器的电路组成。
二、实验仪器信号源、示波器、直流稳压电源三、实验原理正交调制是一种特殊的复用技术,一般是指利用两个频率相同但相位相差90度的正弦波作为载波,同时传送两路互相独立的信号的一种调制方式。
图一是具体的调制器功能框图。
图一 正交调制器功能框图如图一所示,两路互相正交的信号i(t)和q(t)分别调制角频率为W c 的互相正交的正弦波调制,调制后两路相加的波形为:(t)i(t)cosw (t)sinw c c x t q t =+如果两路正交的信号i(t)和q(t)分别为线性调频脉冲信号的复包络的实部和虚部,即:2(t)cos(k t )i π=,2q(t)sin(k t )π= 正交调制器的输出则为:222x(t)(t)cos (t)sin cos(k t )cos()sin(k t )sin()cos(k t )c c c c c i t q t t t t ωωπωπωωπ=+=-=+ 显然,正交调制器的输出为载频频率为W c 的线性调频脉冲信号。
四、实验电路本实验装置主要由波形产生电路以及正交调制电路两个模块组成,硬件方面主要使用了单片机和FPGA 两种可编程的器件联合实现的。
单片机处理开关扫描和显示电路,FPGA 实现波形产生与输出选择,具有很大的灵活性和开放性,系统原理框图如图二所示。
图二正交调制器实验装置原理框图本实验装置的单片机选用的是Atmel公司的单片机AT89C55WD,如图三单片机的数据地址复用口全部与FPGA相连,此外地址的高三位也与FPGA相连,这主要是为了让FPGA承担为单片机地址译码器选通外设的作用。
附录一——MATLAB信号处理程序%% 1、准备工作 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 开始clc;clear;close all;clear vars;%% 雷达波形参数定义及说明f1=1e3; % 最低频率f2=11e3; % 最高频率B=f2-f1; % 信号带宽T=1e-2; % 信号扫频时宽(10ms)c=3e8; % 电磁波空间传播速度f0=(f1+f2)/2; % 雷达工作频率(中心频率)(3kHz)fs=1e5; % 采样率(100kHz)N_signal_T=round(fs*T); % 单周期信号的数据点数number_of_signal_period=400; % 脉冲信号的周期个数duty_ratio=0.5; % 信号占空比T_signal=T/duty_ratio; % 脉冲信号周期%% 导入AD数据时频分析[FileName,PathName] = uigetfile('C:\Users\XYB\Desktop\课程设计之雷达信号分析处理\AD数据\USB (3).dat','Select the USB.dat file');f = fullfile(PathName,filesep,FileName);fid = fopen(f,'r');data = fscanf(fid,'%x');fclose(fid);data = data(1:2:end)*256 + data(2:2:end); %将16进制转换为10进制datsgn = data./1000; %单位换算(mV->V)%转化为有符号数(去直流)datsgn=datsgn-mean(datsgn);%时域波形figure;plot([0:1/fs:(length(datsgn)-1)/fs],datsgn);xlabel('时间/s')ylabel('振幅/V')title('LFMCW时域波形')%频谱图N=1024;datfft = (2/N)*fftshift(fft(datsgn(1:N)));nordat = abs(datfft)/max(abs(datfft)); %对信号做FFT并归一化figure;plot([-length(datfft)/2:(length(datfft)/2-1)].*(fs/N),20*log10(abs(nordat)));xlabel('频率/Hz')ylabel('幅度/dB')title('LFMCW频谱图')%% 调频斜率曲线Hf=20*log10(abs(nordat));FHL=zeros(1,2);j=1;for i=round(length(Hf)/2):length(Hf)if(abs(Hf(i)+6.6)<0.2)FHL(j)=i;j=j+1;endendfigure;time_scan=(0:1/fs:T-1/fs);%扫描时间轴B_interval=(fs/N)*(FHL(2)-FHL(1))/length((0:1/fs:T-1/fs));%频率间隔B_test=[0:B_interval:(fs/N)*(FHL(2)-FHL(1))-B_interval]+(FHL(1)-(length(datfft)/2))*(fs/N);k_B=(fs/N)*(FHL(2)-FHL(1))/T/1000;error_B=abs(k_B*1000-(B/T))/(B/T)*100;%调频斜率测量误差plot(time_scan,B_test);xlabel('扫频周期/s')ylabel('频率范围/Hz')title({['L F M C W 扫频曲线'];['调频斜率:',num2str(k_B,'%.0f'),'KHz/s',' 测量误差:',num2str(error_B,'%.0f'),'%']});%% 信号变换与生成(转换为脉冲信号)if(N_signal_T>1024)N_signal_T=1024;endsignal_1T=datsgn(1:N_signal_T,1); %单周期的LFM信号signal_half_duty_ratio_1T=[signal_1T',zeros(N_signal_T/duty_ratio-N_signal_T,1)'];%单周期LFM脉冲信号(50%占空比)signal_NT=repmat(signal_half_duty_ratio_1T,1,number_of_signal_period); %周期延拓后的LFM脉冲信号(20个周期)figure;plot([0:1/fs:(length(signal_NT)-1)/fs],signal_NT);axis([0 (length(signal_NT)/80-1)/fs -2 2]);xlabel('时间/s')ylabel('振幅/V')title('LFM脉冲信号时域波形')%% 加入噪声noise=1*randn(1,length(signal_NT))';%高斯白噪声(没有滤波)/均值为0方差为1signal_noise=signal_NT+noise'; %信号叠加噪声%信号叠加噪声时域波形figure;subplot(211)plot([0:1/fs:(length(signal_NT)-1)/fs],signal_NT);xlabel('时间/s')ylabel('振幅/V')title('信号未叠加噪声时域波形')subplot(212)plot([0:1/fs:(length(signal_noise)-1)/fs],signal_noise);xlabel('时间/s')ylabel('振幅/V')title('信号叠加噪声时域波形')%% 2、单目标分析 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 回波信号合成(延时+多普勒+传输衰减)%-----------------------------% 目标信息:distance=8e5; % 目标径向距离(100km)t_delay=2*distance/c; % 与目标径向距离相对应的回波延时N_delay=round(t_delay*fs);%与回波延迟对应的数据点个数v=200000; % 目标径向速度(1000m/s)fd=2*v*f0/c; % 与目标径向速度对应的多普勒频移k=0.5; % 传输衰减系数%-----------------------------% 回波合成:t=0:1/fs:(length(signal_NT)-1)/fs; % 回波信号时间轴(有信号的部分,不考虑延迟)doppler=cos(2*pi*fd.*t)'; % 目标多普勒信号s_attenuation=k*signal_NT; % 考虑传输衰减的纯信号(无多普勒)s_attenuation_doppler=k*signal_NT.*doppler'; % 考虑传输衰减的纯信号(有多普勒)sr_noise_doppler=s_attenuation.*doppler'+noise'; % 有多普勒信息的回波(带噪声)(已考虑传输衰减)sr_noise_doppler_1=s_attenuation.*doppler'; % 有多普勒信息的回波(带噪声)(已考虑传输衰减)delay_n=zeros(1,N_delay)'; % 时延序列sr_noise_doppler_delay=[delay_n',sr_noise_doppler];% 有多普勒信息的回波(带噪声、时延)(已考虑传输衰减)sr_noise_doppler_delay_1=[delay_n',s_attenuation]; % 有多普勒信息的回波(带噪声、时延)(已考虑传输衰减)%-----------------------------% 回波时域图(未滤波):% 未考虑传输衰减figure;subplot(211)plot(t,signal_NT);xlabel('时间/s')ylabel('振幅/V')title('未考虑传输衰减的纯信号')% 考虑传输衰减subplot(212)plot(t,s_attenuation);xlabel('时间/s')ylabel('振幅/V')title('考虑传输衰减的纯信号')% 有多普勒信息的回波(带噪声)figure;plot(t,sr_noise_doppler);xlabel('时间/s')ylabel('振幅/V')title('有多普勒信息的回波')%figure;plot([0:1/fs:(length(sr_noise_doppler_delay)-1)/fs],sr_noise_doppler_delay);xlabel('时间/s')ylabel('振幅/V')title('合成回波')%% 接收机前端滤波% 带通滤波器设计(切比雪夫)% 指标:通带宽度:1kHz-5kHz 截止频率:0.5*f1(下)、1.25*f2(上)ws1=f1/fs; %下截止频率(可为其他)wp1=2*f1/fs; %下通带频率wp2=2*f2/fs; %上通带频率ws2=2.5*f2/fs; %上截止频率(可为其他)Rp=1;Rs=30;ws=[ws1 ws2];wp=[wp1 wp2];[ N3,wn ] = cheb1ord( wp , ws , Rp , Rs);[ b,a ] = cheby1(N3,Rp,wn,'bandpass'); %获得转移函数系数filter_bp_sn= filter(b,a,sr_noise_doppler_delay);%信号叠加噪声通过带通滤波器noise_filter =filter(b,a,noise); %纯噪声通过带通滤波器signal_filter=filter(b,a,s_attenuation_doppler); %(传输衰减后)纯信号(有多普勒)通过带通滤波器X_bp_s = fftshift(abs(fft(filter_bp_sn)))/length(sr_noise_doppler_delay); %信号叠加噪声通过带通滤波后的幅频X_bp_s_angle = fftshift(angle(fft(filter_bp_sn))); %信号叠加噪声通过带通滤波后的相频X_bp_n = fftshift(abs(fft(noise_filter)))/length(noise_filter); %纯噪声通过带通滤波后的幅频X_bp_n_angle = fftshift(angle(fft(noise_filter))); %纯噪声通过带通滤波后的相频%滤波器频谱特性figure;freqz(b,a);%信号叠加噪声滤波前后时域波形对比figure;subplot(211);plot([0:length(sr_noise_doppler_delay)-1]./fs,sr_noise_doppler_delay);grid on;xlabel('时间/s')ylabel('振幅/V')title('信号叠加噪声带通滤波前时域图形');subplot(212);plot([0:length(sr_noise_doppler_delay)-1]./fs,filter_bp_sn);grid on;xlabel('时间/s')ylabel('振幅/V')title('信号叠加噪声带通滤波后时域图形');% %纯噪声滤波前后时域波形对比figure;subplot(211);plot([0:length(noise)-1]./fs,noise);grid on;xlabel('时间/s')ylabel('振幅/V')title('纯噪声带通滤波前时域图形');subplot(212);plot([0:length(noise_filter)-1]./fs,noise_filter);grid on;xlabel('时间/s')ylabel('振幅/V')title('纯噪声带通滤波后时域图形');% %纯信号滤波前后时域波形对比figure;subplot(211);plot([0:length(s_attenuation_doppler)-1]./fs,s_attenuation_doppler);grid on;xlabel('时间/s')ylabel('振幅/V')title('纯信号带通滤波前时域图形');subplot(212);plot([0:length(signal_filter)-1]./fs,signal_filter);grid on;xlabel('时间/s')ylabel('振幅/V')title('纯信号带通滤波后时域图形');% %信号叠加噪声带通滤波后幅频相频特性figure;subplot(2,1,1);f_fft_sn=[-length(sr_noise_doppler_delay)/2:length(sr_noise_doppler_delay)/2-1].*(fs/length(sr_noise_doppler_delay));%频率轴plot(f_fft_sn,X_bp_s);xlabel('频率/Hz')ylabel('幅度')title('信号叠加噪声带通滤波后频域幅度特性');subplot(2,1,2);plot(f_fft_sn,X_bp_s_angle);xlabel('频率/Hz')ylabel('相位')title('信号叠加噪声带通滤波后频域相位特性');% %纯噪声带通滤波后幅频相频特性figure;subplot(2,1,1);f_fft_n=[-length(noise)/2:length(noise)/2-1].*(fs/length(noise));%频率轴plot(f_fft_n,X_bp_n);xlabel('频率/Hz')ylabel('幅度')title('纯噪声带通滤波后频域幅度特性');subplot(2,1,2);plot(f_fft_n,X_bp_n_angle);xlabel('频率/Hz')ylabel('相位')title('纯噪声带通滤波后频域相位特性');%% 回波信噪比设定snr_in=0; %输入信噪比设定值sr_filter=filter_bp_sn; %带通滤波器处理后的回波信号S_P=sum((signal_filter).^2)/length(signal_filter); %(传输衰减的)回波纯信号滤波后平均功率noiseP=sum(abs(noise_filter).^2)/length(noise_filter); %滤波后的噪声平均功率A_extra=sqrt((noiseP/S_P).*(10.^(snr_in/10))); %信号外加幅度sr_snr=[delay_n',(A_extra*signal_filter+noise_filter')]; %设定输入信噪比的回波信号%设定输入信噪比后的时域波形figure;plot([0:1/fs:(length(sr_noise_doppler_delay)-1)/fs],sr_snr)xlabel('时间/s')ylabel('振幅/V')text_s=['设定输入信噪比后的时域波形(信噪比:',num2str(snr_in,'%.0f'),'dB',')'];title(text_s);%% 匹配滤波处理(时域卷积法)match_filter=fliplr(signal_1T'); % 匹配滤波器冲激响应match_out=conv(match_filter,sr_snr); % 信号叠加噪声通过匹配滤波器match_out_noise=conv(match_filter,noise_filter); % 纯噪声通过匹配滤波器match_out_signal=conv(match_filter,A_extra*signal_filter); % 纯信号通过匹配滤波器match_out_signal_1=conv(match_filter,signal_1T); % 单周期信号匹配滤波% 单周期匹配滤波波形figure;plot([0:1/fs:(length(match_out_signal_1)-1)/fs],20*log10(abs(match_out_signal_1)/max(abs(match_out_signal_1))));xlabel('时间/s')ylabel('振幅/V')title('单周期匹配滤波冲激响应')%匹配滤波冲激响应figure;plot([0:1/fs:(length(match_filter)-1)/fs],match_filter)xlabel('时间/s')ylabel('振幅/V')title('匹配滤波冲激响应')%匹配滤波输出波形figure;subplot(311)plot([0:1/fs:(length(match_out)-1)/fs],abs(match_out));title('信号叠加噪声匹配输出')subplot(312)plot([0:1/fs:(length(match_out_noise)-1)/fs],abs(match_out_noise));title('纯噪声匹配输出')subplot(313)% plot(abs(match_out_signal));plot([0:1/fs:(length(match_out_signal)-1)/fs],abs(match_out_signal));title('纯信号匹配输出')%匹配滤波信噪比增益计算n_mf_P=sum(abs(match_out_noise).^2)/length(match_out_noise);%匹配滤波后噪声功率s_mf_P_max=max(abs(match_out_signal))^2; %匹配滤波后信号峰值功率G_snr_mf=10*log10(s_mf_P_max/n_mf_P)-snr_in; %匹配滤波信噪比增益计算%% 多普勒滤波处理(MTD)%距离门重排distance_door=c/(2*fs); %相邻采样点之间的距离NT=number_of_signal_period;%信号周期数MTD_process_sn=zeros(N_signal_T/duty_ratio,NT);%信号和噪声同时经过脉压后重排MTD_process_s=zeros(N_signal_T,NT); %信号经过脉压后重排(用于信噪比增益分析)MTD_process_n=zeros(N_signal_T,NT); %噪声经过脉压后重排(用于信噪比增益分析)j=1;for i=1:N_signal_T/duty_ratio*NTif((mod(i,N_signal_T/duty_ratio)==0))MTD_process_s((i/j),j)=match_out_signal(i);MTD_process_sn((i/j),j)=match_out(i);MTD_process_n((i/j),j)=match_out_noise(i);j=j+1;elseMTD_process_s(mod(i,N_signal_T/duty_ratio),j)=match_out_signal(i);MTD_process_sn(mod(i,N_signal_T/duty_ratio),j)=match_out(i);MTD_process_n(mod(i,N_signal_T/duty_ratio),j)=match_out_noise(i);endendfigure;mesh([1:NT],(0:distance_door:(N_signal_T/duty_ratio*distance_door-distance_door))-N_signal_T*distance_door,(abs(MTD_process_sn)));xlabel('频率通道');ylabel('目标距离');title('距离门重排')%FFTi=round(log2((NT)));while ((2^i)<(NT))i=i+1;endMTD_N=2^(i);%确定FFT点数%内存分配MTD_FFT_sn=zeros(N_signal_T/duty_ratio,MTD_N);MTD_FFT_sn_w_H=zeros(N_signal_T/duty_ratio,MTD_N);MTD_FFT_sn_w_B=zeros(N_signal_T/duty_ratio,MTD_N);for i=1:N_signal_T/duty_ratioMTD_FFT_sn(i,:)=(2/MTD_N)*abs(fft([MTD_process_sn(i,:)],MTD_N));%信号+噪声脉压后FFT%加海明窗MTD_FFT_sn_w_H(i,:)=(2/MTD_N)*abs(fft(([MTD_process_sn(i,:),zeros(1,MTD_N-NT)]).*hamming(MTD_N)',MTD_N));%信号+噪声脉压后加窗后FFT%加布拉克曼窗MTD_FFT_sn_w_B(i,:)=(2/MTD_N)*abs(fft(([MTD_process_sn(i,:),zeros(1,MTD_N-NT)]).*blackman(MTD_N)',MTD_N));%信号+噪声脉压后加窗后FFTendfigure;[R_single,V_single]=find(fftshift(20*log10(abs(MTD_FFT_sn)))==max(max(fftsh ift(20*log10(abs(MTD_FFT_sn))))));V_single_1=(V_single(2,1)-MTD_N/2)*(0.5*(1/MTD_N)*c/f0/(T_signal));%目标速度error_v=abs(V_single_1-v)/v*100;%测速误差(%)R_single_1=R_single(1,1)*distance_door;%目标距离error_R=abs(R_single_1-distance)/distance*100;%测速误差(%)mesh((-MTD_N/2:MTD_N/2-1).*(0.5*(1/MTD_N)*c/f0/(T_signal)),(0:distance_door:(N_signal_T/duty_ratio*dis tance_door-distance_door)),(fftshift(20*log10(abs(MTD_FFT_sn)))));xlabel('目标速度');ylabel('目标距离'); zlabel('幅度/dB')title({['\fontsize{12}{单目标探测}'];['目标距离:',num2str(R_single_1,'%.0f'),'m',' 目标速度:',num2str(V_single_1,'%.0f'),'m/s'];['测距误差:',num2str(error_R,'%.0f'),'%',' 测速误差:',num2str(error_v,'%.0f'),'%']})figure;subplot(311)mesh((-MTD_N/2:MTD_N/2-1).*(0.5*(1/MTD_N)*c/f0/(T_signal)),(0:distance_door:(N_signal_T/duty_ratio*dis tance_door-distance_door)),(fftshift(20*log10(abs(MTD_FFT_sn)))));xlabel('目标速度');ylabel('目标距离'); zlabel('幅度/dB')title('FFT单目标(不加窗)')subplot(312)mesh((-MTD_N/2:MTD_N/2-1).*(0.5*(1/MTD_N)*c/f0/(T_signal)),(0:distance_door:(N_signal_T/duty_ratio*dis tance_door-distance_door)),fftshift(20*log10(abs(MTD_FFT_sn_w_H))));xlabel('目标速度');ylabel('目标距离'); zlabel('幅度/dB')title('FFT单目标(加海明窗)')subplot(313)mesh((-MTD_N/2:MTD_N/2-1).*(0.5*(1/MTD_N)*c/f0/(T_signal)),(0:distance_door:(N_signal_T/duty_ratio*dis tance_door-distance_door)),fftshift(20*log10(abs(MTD_FFT_sn_w_B))));xlabel('目标速度');ylabel('目标距离'); zlabel('幅度/dB')title('FFT单目标(加布拉克曼窗)')%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 多目标分析 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %**************************************%****************目标一****************%目标信息R_1=1e6; % 目标径向距离t_delay_1=2*R_1/c; % 与目标径向距离相对应的回波延时N_delay_1=round(t_delay_1*fs);%与回波延迟对应的数据点个数v_1=1250e3; % 目标径向速度fd_1=2*v_1*f0/c; % 与目标径向速度对应的多普勒频移k_1=0.8; % 传输衰减系数%目标回波t=0:1/fs:(length(signal_NT)-1)/fs; % 回波信号时间轴(有信号的部分,不考虑延迟)doppler=cos(2*pi*fd_1.*t)'; % 目标多普勒信号s_attenuation=k_1*signal_NT; % 考虑传输衰减的纯信号(无多普勒)s_attenuation_doppler=k_1*signal_NT.*doppler'; % 考虑传输衰减的纯信号(有多普勒)sr_noise_doppler=s_attenuation.*doppler'; % 有多普勒信息的回波(带噪声)(已考虑传输衰减)delay_n=zeros(1,N_delay_1)'; % 时延序列sr_target_1=[delay_n',sr_noise_doppler]; % 有多普勒信息的回波(带噪声、时延)(已考虑传输衰减)%**************************************%****************目标二****************%目标信息R_2=1.5e6; % 目标径向距离t_delay_2=2*R_2/c; % 与目标径向距离相对应的回波延时N_delay_2=round(t_delay_2*fs); %与回波延迟对应的数据点个数v_2=500e3; % 目标径向速度fd_2=2*v_2*f0/c; % 与目标径向速度对应的多普勒频移k_2=0.6; % 传输衰减系数%目标回波t=0:1/fs:(length(signal_NT)-1)/fs; % 回波信号时间轴(有信号的部分,不考虑延迟)doppler=cos(2*pi*fd_2.*t)'; % 目标多普勒信号s_attenuation=k_2*signal_NT; % 考虑传输衰减的纯信号(无多普勒)s_attenuation_doppler=k_2*signal_NT.*doppler'; % 考虑传输衰减的纯信号(有多普勒)sr_noise_doppler=s_attenuation.*doppler'; % 有多普勒信息的回波(带噪声)(已考虑传输衰减)delay_n=zeros(1,N_delay_2)'; % 时延序列sr_target_2=[delay_n',sr_noise_doppler]; % 有多普勒信息的回波(带噪声、时延)(已考虑传输衰减)%**************************************%****************目标三****************%目标信息R_3=5e6; % 目标径向距离t_delay_3=2*R_3/c; % 与目标径向距离相对应的回波延时N_delay_3=round(t_delay_3*fs); %与回波延迟对应的数据点个数v_3=1500e3; % 目标径向速度fd_3=2*v_3*f0/c; % 与目标径向速度对应的多普勒频移k_3=0.4; % 传输衰减系数%目标回波t=0:1/fs:(length(signal_NT)-1)/fs; % 回波信号时间轴(有信号的部分,不考虑延迟)doppler=cos(2*pi*fd_3.*t)'; % 目标多普勒信号s_attenuation=k_3*signal_NT; % 考虑传输衰减的纯信号(无多普勒)s_attenuation_doppler=k_3*signal_NT.*doppler'; % 考虑传输衰减的纯信号(有多普勒)sr_noise_doppler=s_attenuation.*doppler'; % 有多普勒信息的回波(带噪声)(已考虑传输衰减)delay_n=zeros(1,N_delay_3)'; % 时延序列sr_target_3=[delay_n',sr_noise_doppler]; % 有多普勒信息的回波(带噪声、时延)(已考虑传输衰减)%**************************************%**************回波合成****************max_1=max(length(sr_target_2),length(sr_target_1));max_n=max(length(sr_target_3),max_1);sr_multiple_target=[sr_target_1,zeros(1,max_n-length(sr_target_1))]+[sr_target_2,zeros(1,max_n-length(sr_target_2))]+[sr_target_3,zeros(1,max_n-length(sr_target_3))];%**************************************%**************BPF滤波*****************sr_multiple_target_BPF_out=filter(b,a,sr_multiple_target); %信号叠加噪声通过带通滤波器%**************************************%**************匹配滤波****************sr_multiple_target_BPF_out_match_out=conv(match_filter,sr_multiple_target_BPF_out);% 信号叠加噪声通过匹配滤波器%**************************************%**************距离门重排**************MTD_process_multiple_target=zeros(N_signal_T/duty_ratio,NT); %信号和噪声同时经过脉压后重排j=1;for i=1:N_signal_T/duty_ratio*NTif((mod(i,N_signal_T/duty_ratio)==0))MTD_process_multiple_target((i/j),j)=sr_multiple_target_BPF_out_match_out(i);j=j+1;elseMTD_process_multiple_target(mod(i,N_signal_T/duty_ratio),j)=sr_multiple_target_BPF_out_match_out(i);endendfigure;mesh([1:NT],(0:distance_door:(N_signal_T/duty_ratio*distance_door-distance_door)),(abs(MTD_process_multiple_target)));xlabel('频率通道');ylabel('目标距离');title('距离门重排')i=round(log2((NT)));while ((2^i)<(NT))i=i+1;endMTD_N=2^(i);%确定FFT点数%内存分配MTD_FFT_multiple_target=zeros(N_signal_T/duty_ratio,MTD_N);for i=1:N_signal_T/duty_ratioMTD_FFT_multiple_target(i,:)=(2/MTD_N)*abs(fft([MTD_process_multiple_target(i,:)],MTD_N)); %信号+噪声脉压后FFT%加海明窗MTD_FFT_sn_w_H(i,:)=(2/MTD_N)*abs(fft(([MTD_process_multiple_target(i,:),zeros(1,MTD_N-NT)]).*hamming(MTD_N)',MTD_N));%信号+噪声脉压后加窗后FFT%加布拉克曼窗MTD_FFT_sn_w_B(i,:)=(2/MTD_N)*abs(fft(([MTD_process_multiple_target(i,:),zeros(1,MTD_N-NT)]).*blackman(MTD_N)',MTD_N));%信号+噪声脉压后加窗后FFTendfigure;subplot(311)mesh((-MTD_N/2:MTD_N/2-1).*(0.5*(1/MTD_N)*c/f0/(T_signal)),(0:distance_door:(N_signal_T/duty_ratio*dis tance_door-distance_door)),(fftshift(20*log10(abs(MTD_FFT_multiple_target)))));xlabel('目标速度');ylabel('目标距离'); zlabel('幅度/dB')title('多目标探测(不加窗)')subplot(312)mesh((-MTD_N/2:MTD_N/2-1).*(0.5*(1/MTD_N)*c/f0/(T_signal)),(0:distance_door:(N_signal_T/duty_ratio*dis tance_door-distance_door)),fftshift(20*log10(abs(MTD_FFT_sn_w_H))));xlabel('目标速度');ylabel('目标距离'); zlabel('幅度/dB')title('多目标探测(加海明窗)')subplot(313)mesh((-MTD_N/2:MTD_N/2-1).*(0.5*(1/MTD_N)*c/f0/(T_signal)),(0:distance_door:(N_signal_T/duty_ratio*dis tance_door-distance_door)),fftshift(20*log10(abs(MTD_FFT_sn_w_B))));xlabel('目标速度');ylabel('目标距离'); zlabel('幅度/dB')title('多目标探测(加布拉克曼窗)')。