% function PD_Barker_yundongbuchanghoumy()
%求巴克码PD体制信号经运动补偿后的脉冲压缩波形图
clear;clc;
%参数设置
PI=3.1415926;
c=3.e+8;%光速
P=13;%巴克码长度(脉内采用巴克码调制)
T1=6.5e-8;%子脉冲宽度(距离分辨力)
T2=8.45e-7;%T2=P*T1
Tp=2.535e-6;%脉冲重复周期,占空比1/3
f0=3.5e+10;%雷达工作频率
v=400;%目标速度(相对径向速度)
fd=2*f0*v/c;%目标信号的多普勒频率
Rp=c*Tp/2;%不模糊测距范围
R0=2.1e3;%目标初始距离
R=mod(R0,Rp);
k1=fix((2*R/c-T2-T1/2)/T1);%目标回波的起始采样点序号
%13位巴克码
k=1:1:P;
b(k)=[-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1]
M=4096;%信号积累周期
K=26;%每个周期内的数据采样点数
%运动补偿参数
averv=1000;%弹速所造成的相对径向速度的估计值
fdm=f0*2*averv/c;
%初始化
% for m=1:1:M
for k=1:1:K
Sm(k)=0.0;%巴克码PD体制信号
Smr(k)=0.0;%巴克码PD体制信号实部
Smi(k)=0.0;%巴克码PD体制信号虚部
end
% end
%巴克码PD体制信号经运动补偿(弹速补偿)后的表达式
%for m=1:1:M
m=1000;%第m个周期
%k=k1+13;
for k=k1+1:1:k1+P
Smr(k)=cos(2*PI*fd*(k-k1)*T1+2*PI*fd*m*Tp+(1-b(k-k1))*PI/2);
Smi(k)=sin(2*PI*fd*(k-k1)*T1+2*PI*fd*m*Tp+(1-b(k-k1))*PI/2);
Sm(k)=Smr(k)+j*Smi(k);
Smm(k)=Sm(k)*(cos(2*PI*fdm*k*T1)-j*sin(2*PI*fdm*k*T1));
%ASm(k)=sqrt(Smr(k)*Smr(k)+Smi(k)*Smi(k));
%TSm(k)=angle(Sm(k));
end
%end
%匹配滤波器的单位脉冲响应的镜像序列
for k=1:1:P
h(k)=b(k);
end
for k=P+1:1:K
h(k)= 0;
end
%在一个周期内进行巴克码脉冲压缩处理
%for k=1:1:K
%初始化
for k=1:1:K
ymr(k)=0.0;%一个周期脉冲压缩后信号实部
ymi(k)=0.0;%一个周期脉冲压缩后信号虚部
ym(k)=0.0;%一个周期脉冲压缩后信号
Aym(k)=0.0;%一个周期脉冲压缩后信号模值
end
%按行与本地信号h做相关处理
for k=1:1:K
for l=k+1:1:K
ymr(k)=ymr(k)+Smr(l)*h(l-k)*cos(2*PI*fdm*l*T1)+Smi(l)*h(l-k)*sin(2*PI*fdm*l*T1);
ymi(k)=ymi(k)+Smi(l)*h(l-k)*cos(2*PI*fdm*l*T1)-Smr(l)*h(l-k)*sin(2*PI*fdm*l*T1);
end
for l=1:1:k
ymr(k)=ymr(k)+Smr(l)*h(l-k+K)*cos(2*PI*fdm*l*T1)+Smi(l)*h(l-k+K)*sin(2*PI*fdm*l*T1);
ymi(k)=ymi(k)+Smi(l)*h(l-k+K)*cos(2*PI*fdm*l*T1)-Smr(l)*h(l-k+K)*sin(2*PI*fdm*l*T1);
end
ym(k)=ymr(k)+j*ymi(k);ym
Aym(k)=sqrt(ymr(k)*ymr(k)+ymi(k)*ymi(k));
% Tym(k)=angle(ym(k));
end
for k=1:1:K
s(k)=(c*(T2+T1/2+k*T1))/2;
end
%归一化
%求谱峰高度
amax=Aym(1);%找最大值点,开始假设第一个点为最大值
num1=1;
% row1=1;%最大值的行序号
% column1=1;%最大值的列序号
for k=1:1:K
if(amax<Aym(k))
amax=Aym(k);
num1=k;
end
end
% heigth=amax;%最大谱峰值
%求主瓣宽度
% count=0;
for k=1:1:K
Aym(k)=Aym(k)/amax;
% line(k)=1/sqrt(2);
% if(Ay(k)>1/sqrt(2))
% count=count+1; %超出0.707这根线的谱线根数
% end
end
% width=count;%主瓣宽度
figure;
% k=1:1:K;
plot(s,Aym);
xlabel('距离(m)');
% ylabel('|ym(k)|');
axis([100,400,0,1]); %设置坐标范围
title('第1000幅距离像');
% grid on;