随机信号处理MATLAB仿真报告 下载本文

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('多普勒敏感现象');