st2=circshift(s,[0,delay_num2]);
st1=st1.*exp(1i*2*pi*fd1*t); %¼ÓÈë¶àÆÕÀÕÆµÒÆ1 st2=st2.*exp(1i*2*pi*fd2*t); %¼ÓÈë¶àÆÕÀÕÆµÒÆ2 L=100;
ht=fir1(L,B/(fs/2));
noise=randn(1,PulseNum*N)+1i*randn(1,PulseNum*N); noise=conv(ht,noise); noise=noise(L+1:end); %ÔëÉù SNR=10;
E_noise=sum(abs(noise).^2); E=E_noise*(10^(SNR/10)); Es=sum(abs(st1).^2);
A=sqrt(E/Es); %Ðźŷù¶È
% %SNR=10*log10(A^2/var(noise)/2) % A=sqrt(10^(SNR/10)*(var(noise)/2)); echo1=A*st1+noise; %µ¥Ä¿±ê»Ø²¨ echo2=echo1+4*A*st2;%˫Ŀ±ê»Ø²¨ figure(2); subplot(211); plot(real(echo1)); title('µ¥Ä¿±ê»Ø²¨'); subplot(212); plot(real(echo2)); title('˫Ŀ±ê»Ø²¨'); %% »Ø²¨Âöѹ
h=fliplr(s(1:round(T/Ts))); %ʱÓò·´×ª m1=conv(h,echo1); m2=conv(h,echo2); m1=[m1,0]; %¾í»ýºóÊý¾Ý²¹Î»
m2=[m2,0]; %¾í»ýºóÊý¾Ý²¹Î»
tmy=linspace(0,(PulseNum+1)*T,N+PulseNum*N); m1_dB=20*log10(abs(m1)/max(abs(m1))); m2_dB=20*log10(abs(m2)/max(abs(m2))); figure(3); subplot(211); plot(tmy,real(m1)); title('µ¥Ä¿±êÂöѹͼ'); subplot(212); plot(tmy,real(m2)); title('˫Ŀ±êÂöѹͼ'); for i=1:(PulseNum+1) for k=1:N
my1(i,k)=m1((i-1)*N+k); end
end
for i=1:(PulseNum+1) for k=1:N
my2(i,k)=m2((i-1)*N+k); end end
td=0:Ts:T-Ts; x=td*c/2;
y=1:(PulseNum+1); [X,Y]=meshgrid(x,y); figure(4); subplot(211); mesh(X,Y,real(my1)); title('µ¥Ä¿±êµÄ¾àÀëÃÅÖØÅÅ'); subplot(212); mesh(X,Y,real(my2)); title('˫Ŀ±êµÄ¾àÀëÃÅÖØÅÅ'); %% ÖØÅźó½øÐÐFFT£¨²»¼Ó´°£© Nfft=512; for i=1:N
st_fft1(1:Nfft,i)=abs(fft(my1(:,i),Nfft)); st_fft1(1:Nfft,i)=fftshift(st_fft1(1:Nfft,i)); end for i=1:N
st_fft2(1:Nfft,i)=abs(fft(my2(:,i),Nfft)); st_fft2(1:Nfft,i)=fftshift(st_fft2(1:Nfft,i)); end
fsd=fm; %ÖØÅźó¶ÔÁнøÐÐfft£¬Ã¿¸öÂö³åÖÜÆÚֻȡ1¸öµã y=(-fsd/2:fsd/Nfft:(fsd/2-fsd/Nfft))*c/2/fc; [X,Y]=meshgrid(x,y); figure(5); subplot(211);
mesh(X,Y,20*log10(st_fft1)); title('µ¥Ä¿±êÖØÅźóµÄFFT(²»¼Ó´°)'); xlabel('¾àÀë/m'); ylabel('ËÙ¶Èm/s'); subplot(212);
mesh(X,Y,20*log10(st_fft2)); title('˫Ŀ±êÖØÅźóµÄFFT(²»¼Ó´°)'); xlabel('¾àÀë/m');
ylabel('ËÙ¶Èm/s');
D1=st_fft1(1:Nfft,round(2*R1/c/Ts)); %% ÖØÅźó½øÐÐFFT£¨¼Ó´°£© w=hamming(PulseNum+1);
for i=1:N
st_fft1(1:Nfft,i)=abs(fft(my1(:,i).*w,Nfft)); st_fft1(1:Nfft,i)=fftshift(st_fft1(1:Nfft,i)); end for i=1:N
st_fft2(1:Nfft,i)=abs(fft(my2(:,i).*w,Nfft)); st_fft2(1:Nfft,i)=fftshift(st_fft2(1:Nfft,i)); end figure(6); subplot(211);
mesh(X,Y,20*log10(st_fft1)); title('µ¥Ä¿±êÖØÅźóµÄFFT(¼Ó´°)'); xlabel('¾àÀë/m'); ylabel('ËÙ¶Èm/s'); subplot(212);
mesh(X,Y,20*log10(st_fft2)); title('˫Ŀ±êÖØÅźóµÄFFT(¼Ó´°)'); xlabel('¾àÀë/m');
ylabel('ËÙ¶Èm/s');
D2=st_fft1(1:Nfft,round(2*R1/c/Ts));
%% µ¥Ä¿±êËÙ¶ÈÊÓͼ
y=(-fsd/2:fsd/Nfft:(fsd/2-fsd/Nfft))*c/2/fc; figure(7);
plot(y,20*log10(D1)); xlabel('ËÙ¶Èm/s'); ylabel('·ù¶È/dB');
title('µ¥Ä¿±êMTDµÄËÙ¶ÈÊÓͼ£¨²»¼Ó´°£©'); %% ¶àÆÕÀÕÃô¸ÐÏÖÏó
m=linspace(0,2,20);
n=[78.70,77.51,76.85,75.42,74.46,72.46,70.00,65.85,58.19,48.30,59.02,61.94,64.10,64.22,64.18,63.35,62.00,59.46,59.17,48.06]; figure(8); plot(m,n)
xlabel('¶àÆÕÀÕÆµÂÊ/fr±¶Êý'); ylabel('Ö÷°ê·åÖµ/dB'); title('¶àÆÕÀÕÃô¸ÐÏÖÏó');