📄 angle.m
字号:
clear all
a=1;
Bi=[ -0.000046451962915, -0.00075518384827 ,-0.000135308415921, 0.002841555023619 ,0.00084437987058 ,-0.007634010375115, -0.002839935656942 ,0.017363950908455 ,0.007712529489581 ,-0.038285191153445 ,-0.021562253256757 ,0.115631928738445 ,0.24000074917771 ,0.192654053061175 ,0.036063683235075 ,-0.045213871437468 ,-0.015108046955929 ,0.019192080579196 ,0.007479138501009 ,-0.008227322716728 ,-0.003467948663973 ,0.003044762311011 ,0.001333679741865 ,-0.000823931106908 ,-0.000362828687586 ,0.000096763709473];
Bq=[0.000096763709473, -0.000362828687586 ,-0.000823931106908 ,0.001333679741865 ,0.003044762311011, -0.003467948663973, -0.008227322716728 ,0.007479138501009 ,0.019192080579196 ,-0.015108046955929 ,-0.045213871437468 ,0.036063683235075 ,0.192654053061175 ,0.24000074917771 ,0.115631928738445 ,-0.021562253256757 ,-0.038285191153445 ,0.007712529489581 ,0.017363950908455 ,-0.002839935656942 ,-0.007634010375115 ,0.00084437987058 ,0.002841555023619 ,-0.000135308415921 ,-0.00075518384827 ,-0.000046451962915];
f0=60*10^6+390.625*40;
fs=48*10^6;
n=240*8192*4;
d=0.16;
l=0.008;
s0=0.5*l/d;
kp=-(1/2*cos(20*pi*s0)/s0-1/40*sin(20*pi*s0)/pi/s0^2)/(sin(20*pi*s0)/(20*pi*s0)/2);
%取一系列小于s0的角度进行仿真
s=0:0.001:0.024;
signal=zeros(1,80*12*8192);
%设置回波脉冲位置
for i=1:8192
for k=1:12
signal((i-1)*960+12*20+k)=cos(2*pi*f0*((i-1)*960+12*20+k)*(1/fs));
end
end
save signal.mat signal
for num=1:25
s1=s(num);
F1=sin(pi*d/l*(s0+s1))/(pi*d/l*(s0+s1))/2;
F2=sin(pi*d/l*(s0-s1))/(pi*d/l*(s0-s1))/2;
Fh=F1+F2;
Fc=F2-F1;
signal_h=zeros(1,80*12*8192);
signal_c=zeros(1,80*12*8192);
%和,差通道信号
signal_h=signal*Fh;
signal_c=signal*Fc;
%加入高斯白噪声
signal_h=signal_h+rand(1,n);
signal_c=signal_c+rand(1,n);
%奇偶抽取
num_i=1:2:(240*8192*4-1);
num_q=2:2:(240*8192*4);
signal_h_i_temp=signal_h(num_i);
signal_c_i_temp=signal_c(num_i);
signal_h_q_temp=signal_h(num_q);
signal_c_q_temp=signal_c(num_q);
%符号变换
k=1:(240*8192*2);
signal_h_i=((-1).^(k+1).*signal_h_i_temp(k));
signal_c_i=((-1).^(k+1).*signal_c_i_temp(k));
signal_h_q=((-1).^(k).*signal_h_q_temp(k));
signal_c_q=((-1).^(k).*signal_c_q_temp(k));
%多相滤波
Yi_h=filter(Bi,a,signal_h_i);
Yi_c=filter(Bi,a,signal_c_i);
Yq_h=filter(Bq,a,signal_h_q);
Yq_c=filter(Bq,a,signal_c_q);
%修正延迟
Yi_h(1:12)=[];
Yi_h=[Yi_h,zeros(1,12)];
Yi_c(1:12)=[];
Yi_c=[Yi_c,zeros(1,12)];
Yq_h(1:12)=[];
Yq_h=[Yq_h,zeros(1,12)];
Yq_c(1:12)=[];
Yq_c=[Yq_c,zeros(1,12)];
%2倍抽取
kk=0:2:(240*8192*2-2);
Yii_h=Yi_h(kk+1);
Yii_c=Yi_c(kk+1);
Yqq_h=Yq_h(kk+1);
Yqq_c=Yq_c(kk+1);
i=1:(80*8192);
Yii_h_1=Yii_h(3*i-2)+Yii_h(3*i-1)+Yii_h(3*i);
Yii_c_1=Yii_c(3*i-2)+Yii_c(3*i-1)+Yii_c(3*i);
A_h=reshape(Yii_h_1,80,8192);
A_c=reshape(Yii_c_1,80,8192);
i=1:(80*8192);
Yqq_h_1=Yqq_h(3*i-2)+Yqq_h(3*i-1)+Yqq_h(3*i);
Yqq_c_1=Yqq_c(3*i-2)+Yqq_c(3*i-1)+Yqq_c(3*i);
A1_h=reshape(Yqq_h_1,80,8192);
A1_c=reshape(Yqq_c_1,80,8192);
sepctrum_h=zeros(80,128);
sepctrum_c=zeros(80,128);
for p=1:80
B_h=A_h(p,:);
C_h=reshape(B_h,128,64);
D_h=C_h';
B1_h=A1_h(p,:);
C1_h=reshape(B1_h,128,64);
D1_h=C1_h';
E_h=D_h+j*D1_h;
B_c=A_c(p,:);
C_c=reshape(B_c,128,64);
D_c=C_c';
B1_c=A1_c(p,:);
C1_c=reshape(B1_c,128,64);
D1_c=C1_c';
E_c=D_c+j*D1_c;
for i=1:64
sepctrum_h(p,:)=sepctrum_h(p,:)+abs(fft((E_h(i,:).*(hann(128)'))));
sepctrum_c(p,:)=sepctrum_c(p,:)+abs(fft((E_c(i,:).*(hann(128)'))));
end
end
s11(num)=max(sepctrum_c)/max(sepctrum_h)/kp;
end
s11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -