附录一——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('多目标探测(加布拉克曼窗)')。