随机信号处理MATLAB仿真报告.docx
《随机信号处理MATLAB仿真报告.docx》由会员分享,可在线阅读,更多相关《随机信号处理MATLAB仿真报告.docx(21页珍藏版)》请在冰豆网上搜索。
随机信号处理MATLAB仿真报告
随机信号处理仿真报告
学院:
电光学院
姓名:
赖佳彬
学号:
116104000585
指导教师:
顾红
Question:
仿真多普勒雷达信号处理
设脉冲宽度为各学生学号末两位,单位为us,重复周期为200us,雷达载频为10GHz,输入噪声为高斯白噪声。
目标回波输入信噪比可变(-35dB~10dB),目标速度可变(0~1000m/s),目标距离可变(0~10000m),相干积累总时宽不大于10ms。
程序要参数化可设。
(1)仿真矩形脉冲信号自相关函数;
(2)单目标时:
给出回波视频表达式;脉压和FFT后的表达式;
给出雷达脉压后和MTD(FFT加窗和不加窗)后的输出图形,说明FFT加窗抑制频谱泄露效果;
通过仿真说明脉压输出和FFT输出的SNR、时宽和带宽,是否与理论分析吻合;
仿真说明脉压时多卜勒敏感现象和多卜勒容限及其性能损失(脉压主旁比与多卜勒的曲线)。
(3)双目标时:
仿真出大目标旁瓣掩盖小目标的情况;
仿真出距离分辨和速度分辨的情况。
1、矩形脉冲自相关函数
自相关函数:
2、混频后的信号
回波视频表达式:
混频后的信号:
时延:
将原始信号循环移位,移位的长度为
,再乘以多普勒频移
,并加上高斯白噪声,形成回波信号。
3、回波信号脉压
接收到的宽脉冲输入到匹配滤波器,经过处理后,宽输入脉冲被压缩为非常窄的脉冲。
对发射波形的宽带调制和随后的匹配滤波接收实现了脉冲压缩处理。
假定雷达目标回波信号为
,接收机传递函数为
。
如果接收机与接收到的信号匹配,那么接收机的传递函数将是与输入端接收信号的复共轭,即:
,那么
。
频域中函数的复共轭等于时域中对应信号的反转,所以:
将原始信号的单个周期取反后与混频后的回波信号进行卷积,即作匹配滤波,从而实现脉压。
4、距离门重排、FFT
FFT后的表达式:
图4.1
图4.2X轴视图
图4.3重排后FFT
图4.4重排后FFT的速度视图(不加窗)
加窗后旁瓣减小,对旁瓣有良好的抑制效果!
图4.5重排后FFT的速度视图(加窗)
图4,6重排后FFT的距离视图
5、脉压和FFT输出的SNR增益,时宽和带宽
(1)脉压输出的SNR增益,时宽和带宽
脉压信号增益=脉压的时宽压缩比=脉压的带宽压缩比=脉压信号时宽带宽积=10*log[0.000085/(0.001864-0.001802)]=10*log(1.37)=1.37dB
脉压后时宽62us,带宽16.13kHz
(2)FFT输出的SNR增益:
理论值=10log40=16.02dB!
从图中可以读出FFT后的总信噪比增益为77.84-52.57=25.27dB,则
FFT级增益=25.27-10=15.27,与理论值相符合
6、距离分辨率与速度分辨率
1、距离分辨率
距离分辨率:
当R1=10000m,R2=20000m时,分不清两个目标
当R1=10000m,R2=25000m时,能分清两个目标
(距离模糊:
)
2、速度分辨率
速度分辨率:
(1/fd)当速度A1=A,v1=10m/s;A1=4*A,v2=20m/s时,可辨别两不同速度目标
当速度A1=A,v1=18m/s;A1=8*A,v2=20m/s时,大目标速度掩盖小目标速度
(速度模糊:
,vmax=37.5m/s)
7、多卜勒敏感现象、多卜勒容限
当多普勒频率发生变化(目标速度发生变化)时,得到的主瓣峰值下降,但是,并不是无限下降,存在最小值,这就是多普勒敏感现象和多普勒容限。
附录:
MATLAB源代码
%脉冲多普勒雷达信号处理
%脉冲宽度:
85us;重复周期:
200us;载频:
10GHz;输入噪声:
高斯白噪声
%目标回波输入信噪比:
-35~10dB;目标速度:
0~1000m/s;目标距离:
0~10000m
%相干累计总时宽:
不大于10ms
clearall;
closeall;
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)delay_num1=round((2*R1/c)/Ts);%回波1的时延
delay_num2=round((2*R2/c)/Ts);%回波2的时延
st1=circshift(s,[0,delay_num1]);
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('双目标脉压图');
fori=1:
(PulseNum+1)
fork=1:
N
my1(i,k)=m1((i-1)*N+k);
end
end
fori=1:
(PulseNum+1)
fork=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;
fori=1:
N
st_fft1(1:
Nfft,i)=abs(fft(my1(:
i),Nfft));
st_fft1(1:
Nfft,i)=fftshift(st_fft1(1:
Nfft,i));
end
fori=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);
fori=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
fori=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('多普勒敏感现象');