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

📄 dopllecombarker.m

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

SNR=20                                 %信噪比SNR 
Pnoise=0.01;                          %噪声功率Pnoise
Psignal=Pnoise*10.^(SNR/10);          %信号功率Psignal
%Psignal=1;
%Pnoise=0

sequence=[1 1 1 1 1 -1 -1 1 1 -1 1 -1 1];

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

%%%%%%%%%%%%%%%%%
%加多普勒信息和噪声
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);          	%全景匹配滤波器

MFOut3=conv(s3,matchfilter);
[PSL_A,ISL_A]=PSLandISL(MFOut3)
mm_A=max(abs(MFOut3))

MFOut1=conv(SignalR,matchfilter);
[PSL_1,ISL_1]=PSLandISL(MFOut1)
mm_1=max(abs(MFOut1))

figure(1)
 subplot(2,2,3)
 plot(20*log10(0.01+abs(MFOut1)/max(abs(MFOut1))));
 title('C(补偿前)S/N=6dB,fd/B=0.0')
 y=length(MFOut1);
 axis([0,y,-40,5]);
 grid on
 subplot(2,2,4)
 plot(20*log10(0.01+abs(MFOut3/max(abs(MFOut3)))));
 title('D(补偿后)S/N=6dB,fd/B=0.0')
 y=length(MFOut3);
 axis([0,y,-40,5]);
 grid on
 %subplot(2,2,3)
 %plot(s)
 %subplot(2,2,4)
 %plot(s3)

%匹配滤波器的输出基本是和论文中的图一致的(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 + -