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

内容发布更新时间 : 2024/5/21 23:54:16星期一 下面是文章的全部内容请认真阅读。

7、多卜勒敏感现象、多卜勒容限

当多普勒频率发生变化(目标速度发生变化)时,得到的主瓣峰值下降,但是,并不是无限下降,存在最小值,这就是多普勒敏感现象和多普勒容限。

附录:MATLAB源代码

%脉冲多普勒雷达信号处理

%脉冲宽度:85us;重复周期:200us;载频:10GHz;输入噪声:高斯白噪声 %目标回波输入信噪比:-35~10dB;目标速度:0~1000m/s;目标距离:0~10000m %相干累计总时宽:不大于10ms clear all; close all; clc; c=3e8;

fc=10e9; %载频 fs=3e6; %采样率 Ts=1/fs; %采样间隔 T=2e-4; %脉冲重复周期 fm=1/T; %脉冲重复频率 PW=85e-6; %脉冲宽度 B=1/PW;

D=100*PW/T;%占空比

N=round(T/Ts); %单周期内采样点数

PulseNum=40; %脉冲数目,相干累积时间不超过10ms(PulseNum<50) Tr=PulseNum*T; %信号总长度 t=0:Ts:(Tr-Ts);

s=(square(2*pi*fm*t,D)+1)/2; %脉冲视频信号 figure(1); subplot(211) plot(t,s); xlabel('时间/s'); ylabel('幅度');

title('脉冲视频信号'); axis([0,Tr,-1,1.5]);

[r,lags]=xcorr(s,s(1:round(T/Ts))); subplot(212) plot(lags,r)

axis([0,2.4*10^4,-100,350]); xlabel('区间');

title('矩形脉冲信号自相关函数'); %% 回波信号

v1=10;R1=5000; %目标1 v2=20;R2=10000;%目标2

fd1=2*v1*fc/c; %回波1多普勒频移 fd2=2*v2*fc/c; %回波2多普勒频移 Rc=c*PW/2; %距离分辨率理论值

Vf=c/(2*fc*T*PulseNum); %速度分辨率理论值(1/fd)

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;