⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dopllecommseries.m

📁 相位编码脉冲压缩雷达的多普勒补偿算法(详细)
💻 M
字号:
%张润宁论文中多普勒补偿问题,【2.^6-1=63】位m-序列(加噪声)
%改变fd的值可以改变多普勒频率的大小
%改变SNR的值可以改变信噪比的大小
clear all;
T=0.2*10.^-6;                         %子脉冲宽度T
B=1/T;                                %子脉冲带宽B=1/T
fd=0*B                              %多普勒频率fd    

SNR=0                                 %信噪比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;
sequence=ms;

SeqLength=length(sequence);          %序列长度P=SeqLength 

MFOut3=zeros(1,SeqLength+SeqLength-1);
MFOut1=zeros(1,SeqLength+SeqLength-1);;
%for kkk=1:1
%%%%%%%%%%%%%%%%%
%加多普勒信息和噪声
Vector=1:SeqLength;
%SignalR=BPCSeq.*exp(1i*2*pi*fd*T*Vector);                                                    %回波信号加多普勒信息
rand('state',sum(100*clock));
SignalR=sqrt(Psignal)*sequence.*exp(1i*2*pi*fd*T*Vector)+sqrt(Pnoise)*randn(1,SeqLength);            %SignalR_N为加噪声和多普勒信息的回波信号
%%%%%%%%%%%%%%%%%

s1=SignalR.*SignalR;

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%用两次内插的方法来实现分频处理
 u=s1(1:(SeqLength+1)/2);
 for k=0:(SeqLength-1)/2
     %k
     Even=2*k;
     Odd=2*k+1;
     v(Even+1)=u(Even/2+1);
     if (Odd<SeqLength)
     v(Odd+1)=(u((Odd-1)/2+1)+u((Odd+1)/2+1))/2;
     end
 end
 s2=v;
 %s2为分频后的结果
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 s3=SignalR.*conj(s2);

matchfilter=sequence(SeqLength:-1:1);          	%全景匹配滤波器

MFOut31=conv(s3,matchfilter);

%mm_A=max(abs(MFOut3))
MFOut3=MFOut3+MFOut31;

MFOut11=conv(SignalR,matchfilter);

%mm_1=max(abs(MFOut1))
MFOut1=MFOut1+MFOut11;
%end
[PSL_A,ISL_A]=PSLandISL(MFOut3)
[PSL_1,ISL_1]=PSLandISL(MFOut1)
figure(1)
   subplot(2,2,1)
 plot(20*log10(0.01+abs(MFOut1)/max(abs(MFOut1))));
 axis([0,length(MFOut1),-40,5]);
 title('A(补偿前)Noise=0,fd/B=0')
 xlabel('距离单元')
 ylabel('幅度(dB)');
 grid on

 

%匹配滤波器的输出基本是和论文中的图一致的(P26)
%但是补偿后的脉压输出有很大的不同
%问题估计存在于插值实现分频的计算中
%经过检查,不是插值的问题
%完成,开始错在公式s3=s.*conj(s2),写成s3=s2.*conj(s2)了
%如何在信号中加噪声??x=s+n? 解决了见公式[s=s+Pnoise*rand(1,SeqLength)]
%2002/3/25增加了计算SNR损失的函数PSLandISLandMSSLandLSNRandLPG

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -