多普勒补偿问题,对于多个散射中心的目标,M序列
Posted fpga&matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多普勒补偿问题,对于多个散射中心的目标,M序列相关的知识,希望对你有一定的参考价值。
clear all;
T=0.2*10.^-6; %子脉冲宽度T
B=1/T; %子脉冲带宽B=1/T
fd=0.05*B; %多普勒频率fd
lim_amp=0; %lim_amp==1为限幅脉压
SNR=10; %信噪比SNR
Pnoise=0.01; %噪声功率Pnoise
Psignal=Pnoise*10.^(SNR/10); %信号功率Psignal
%Psignal=1;
%Pnoise=0;
x=[0,0,1,0,1,1];
y=[6,5]; %反馈公式中系数
k=length(x);
ms=x;
for i=k+1:2^k-1
ms(i)=xor(ms(i-y(1)),ms(i-y(2))) ;
end;
ms=ms*-2+1;
LengthSeq=length(ms); %序列长度P=SeqLength
matchfilter=ms(LengthSeq:-1:1); %全景匹配滤波器
m=1:LengthSeq;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%多个散射中心的情况信号回波的叠加
DotNum=4;
Amplitude=[6,8,10,8];
TimeDelay=[0,10,15,25];
MaxLeng=(max(TimeDelay)+LengthSeq+1);
U_matrix=zeros(DotNum,MaxLeng);
for m=1:DotNum
U_matrix(m,TimeDelay(m)+1:TimeDelay(m)+LengthSeq)=ms;
end
MFOut3=[];
for kk=1:20 %改变kk的取值范围可以做非相干积累
rand('state',sum(100*clock));
s=sqrt(Psignal)*Amplitude*U_matrix.*exp(j*2*pi*fd*((1:length(U_matrix))*T-TimeDelay(1)*T)+sqrt(Pnoise)*rand(1,MaxLeng));
%s=Amplitude*U_matrix;
if lim_amp==1
s(find(s>0))=1;
s(find(s<0))=-1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%
s1=s.*(s); %张润宁文章中的
%s1=s.*conj(s); %改进的。
%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%用两次内插的方法来实现分频处理
SeqLength=length(U_matrix);
u=s1(1:(SeqLength+1)/2);
for k=0:(SeqLength-1)/2
%k
EvenN=2*k;
OddN=2*k+1;
v(EvenN+1)=u(EvenN/2+1);
if (OddN<SeqLength)
v(OddN+1)=(u((OddN-1)/2+1)+u((OddN+1)/2+1))/2;
end
end
s2=v;
%s2为分频后的结果
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
s3=s.*conj(s2);
MFOut33(kk,:)=conv(s3,matchfilter);
MFOut11(kk,:)=conv(s,matchfilter);
kk=kk+1;
end
MFOut3=sum(abs(MFOut33),1);
MFOut1=sum(abs(MFOut11),1);
%MFOut1=conv(s,matchfilter);
figure(2)
subplot(2,2,1)
plot(abs(MFOut11(1,:))/max(abs(MFOut11(1,:))))
title('(A)fd=0.05B匹配脉压输出')
axis([0,length(MFOut11),0,1.0])
grid;zoom
subplot(2,2,2)
plot(abs(MFOut33(1,:))/max(abs(MFOut33(1,:))));
title('(B)fd=0.05B多普勒补偿后脉压输出 ')
axis([0,length(MFOut33),0,1.0])
grid;zoom
subplot(2,2,3)
plot(abs(MFOut1)/max(abs(MFOut1)))
title('(C)fd=0.05B匹配脉压30次非相干积累')
axis([0,length(MFOut1),0,1.0])
grid;zoom
subplot(2,2,4)
plot(abs(MFOut3)/max(abs(MFOut3)));
title('(D)fd=0.05B多普勒补偿后30次非相干积累 ')
axis([0,length(MFOut3),0,1.0])
grid;zoom
%subplot(2,2,3)
%plot(abs)
D89
以上是关于多普勒补偿问题,对于多个散射中心的目标,M序列的主要内容,如果未能解决你的问题,请参考以下文章