求助,圆形阵列的泰勒综合
05-08
n=input('阵元个数:')
f=3e8;
lamda=2*pi/f;
d=lamda/2;
L=n*d;
theta=linspace(0,pi,500);
x=L/lamda*cos(theta);
r1=input('要求所有副瓣归一化最大值R0(DB):')
R0=10^(abs(r1)/20);
A=acosh(R0)/pi; %****** A为公式推导中和主瓣电平有关的常量
n_1=round(2*A^2+1/2); %****** n_1必须大于2*A^2+1/2
%********** 判断想控制的旁瓣数是否满足条件 ***********%
n_2=input('想控制第几对零点:')
if n_2>=n_1&abs(n_2-round(n_2))==0 %判断输入是否正确
n_1=n_2
elseif abs(n_2-round(n_2))<1&abs(n_2-round(n_2))>0
errordlg('输入错误','Data message');
elseif n_2<n_1
errordlg('数太小了','Data message');
end
gama=n_1/(sqrt(A^2+(n_1-1/2)^2)); %******** 展宽因子,用于计算半功率波瓣宽度
%******** 根据公式求泰勒方向图的各个根
t=A^2+(n_1-1/2)^2;
for i=1:n_1-1;%正的各根n<=n_1-1
a_n1(i)=n_1*sqrt((A^2+(i-1/2)^2)/(A^2+(n_1-1/2)^2));
end
a_n=a_n1.^2; %********* Xn根的平方,利于方程的计算
%********* a_n即为各个根的向量
%******** 构造公式中(1-X^2/Xn)
for j=1:n_1-1;
i=1:length(theta)
t1(j,i)=(1-x(i).^2./a_n(j))./(1-x(i).^2/j^2);
end
t1=prod(t1); %%%% prod()为连乘(1*500)的向量
%********* 归一化方向图函数 *********%
for i=1:length(theta)
G(i)=cosh(pi*A)*sin(pi.*x(i))./x(i)/pi.*t1(i);
end
g=G/max(G);
%******** ********%
g=20*log10(abs(g));
hold on
figure(1)
%********* 拟合,区别其他几个综合法(蓝色三角形)
theta=theta/pi*180;
theta2=linspace(0,pi,40);
theta2=theta2/pi*180'
g2=interp1(theta,g,theta2);
plot(theta,g,theta2,g2,'b^')
grid on
axis([0 180 -55 0]);
%***** 分奇偶讨论电流激励分布 *********%
if mod(n,2)==0 %******* 阵元个数为偶数个 *******%
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
%******* 利用第二个利于编程的归一化方向图函数 *****%
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:n/2-1;
In(i,j+1)=2*s3(i).*cos(i*pi*(2*j+1)/n);
end
In2=1.+sum(In);
In3=rot90(In2,2); %******* 翻转In2 但是要去掉公共的元素
for i=2:length(In2)
In5(i-1)=In2(i); %******* 去掉i=0的元素
end
In4=[In3 In5]
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
else %********** 阵元个数为奇数 %
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:(n-1)/2;
In(i,j+1)=2*s3(i).*cos(i*pi*2*j/n);
end
In2=1.+sum(In);
In3=rot90(In2,2);
for i=2:length(In2)
In5(i-1)=In2(i); %
end
In4=[In3,In5]
% 激励分布图
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
end
Bw=2*asin(lamda*gama/pi/L*((acosh(R0))^2-(acosh(R0/sqrt(2)))^2)^(1/2));
disp(['半功率宽度=(°)',num2str(Bw/pi*180)]);
这是直线的泰勒综合
%%%%%%%%%%%% 均匀分布圆形阵列方向图的切比雪夫综合 %%%%%%%%%%%%
clear;clc;
R=1%input('环阵半径(R)与波长之比(lamda)之比:')
q=0.4%input('阵元距离(d)与波长之比(lamda)之比:')
n=9%input('阵元个数:')
r1=-25%input('要求所有副瓣归一化最大值(R0/DB):')
theta0=90%input('发射方向(度数):')
D=10^((abs(r1)+3)/20); %****** 最大的方向性系数(L无限长时)
fai1=0%input('步进激励相位(度数):')
syms w tp s_w
x=sym('x');
f=3e8;
lamda=2*pi/f;
L=n*q*lamda;
k=2*pi/lamda;
theta=linspace(0,pi,500);
fai=fai1/180*pi;
R0=10^(abs(r1)/20);
for kk=1:n-2 %****** 泰勒P阶方程递推
tp(1)=1;
tp(2)=x;
tp(kk+2)=2*x*tp(kk+1)-tp(kk)
end
t=sym2poly(tp(n)); %****** 提取多项式系数
r1=roots(t); %多项式求根
x0=cosh(acosh(R0)/(n-1));
u=2*acos(r1'/x0);
w1=exp(i*u); %****** 谢坤诺夫圆根
for kk=1:n-2 %****** 切比雪夫递归求解方程
s_w(1)=w-w1(1);
s_w(kk+1)=s_w(kk)*(w-w1(kk+1));
end
m=sym2poly(s_w(n-1)); %****** 提取需要的最后一个参量
m2=abs(m); %%%以上所有求线阵激励,即环阵的远场模
m2=m2/max(m2); %%%%%%%归一化
M=(n-1)/2; %%%%%%%%%%%%求近场模
z=4 ;
for kk=1:1:n
p=kk-M-1;
J(kk)=besselj(p,z);
C(kk)=m2(kk)/(J(kk)*(i^p));
D(kk)=abs(C(kk));
end
E=0; %%%%%%环阵的方向图
theta=linspace(-pi,pi,1000)
for kk=1:n
E=E+m2(kk)*exp(i*kk*theta);
end
E=abs(E);
hold on
figure(1)
E=E/max(E);
E=20*log10(E);
theta=theta/pi*180;
plot(theta,E);
axis([-180 180 -55 0]);
xlabel('角度','color','k')
ylabel('dB','color','k')
%title({'均匀分布圆形阵列的方向图';'(相模数为9,副瓣电平为-25dB,间距为0.4个波长)'},'FontSize',18)
grid on
hold on %%%%在同一图中画出远场模(虚线)和近场模(实线)
figure(2)
D=D/max(D);
plot(m2,':bo');
hold on
D=D/max(D);
plot(D,'-bo');
set(gca,'XTickLabel',{'-4','-3','-2','-1','0','1','2','3','4'});
xlabel('模式标号','color','k')
ylabel('幅度','color','k')
%title('使用9个相模的圆形阵列的远场模(虚线)和激励模(实线)的归一化幅值')
grid on
fi=linspace(0,2*pi,1000); %%%%%%%%%%求环形天线的激励并画图
syms V
V=0;
for kk=1:n
p=kk-M-1;
V=V+C(kk)*exp(i*p*fi);
end
V2=V;
V=abs(V);
V=V/max(V);
V=20*log10(V);
fi=fi/pi*180;
hold on
figure(3)
plot(fi,V);
axis([0 360 -20 0]);
xlabel('单元位置','color','k')
ylabel('dB','color','k')
%title('圆形阵列的连续激励分布')
grid on
theta=linspace(0,2*pi,1000); %%%%%%%%%%%%%实际方向图求解
R2=z/k;
for kk=1:10
kkk=kk-1;
Y(kk)=V2(50+kkk*100);
end
E2=0;
theta=linspace(-pi,pi,1000);
for kk=1:10
kkk=kk-1;
E2=E2+Y(kk).*exp(i*z*(cos(0.1*pi+0.2*kkk*pi-theta)));
end
E2=abs(E2);
E2=E2/max(E2);
E2=20*log10(E2);
theta=theta/pi*180;
hold on
figure(4)
plot(theta,E2,'b:');
hold on
plot(theta,E)
axis([-180 180 -55 0]);
xlabel('角度','color','k')
ylabel('dB','color','k')
%title({'由离散激励构成的环形阵列方向图(虚线)和理想方向图(实线)';'(10个辐射单元,间距为0.4个波长)'},'FontSize',18);
grid on
%%%%%%%%%%%%%%%%%%%改变阵元数目后的实际方向图求解%%%%%%%%%%%%%%
fi=linspace(0,2*pi,1100);
syms V
V=0;
for kk=1:n
p=kk-M-1;
V=V+C(kk)*exp(i*p*fi);
end
V3=V;
theta=linspace(0,2*pi,1100);
R2=z/k;
for kk=1:11
kkk=kk-1;
Y3(kk)=V3(50+kkk*100);
end
E3=0;
theta=linspace(-pi,pi,1100);
for kk=1:11
kkk=kk-1;
E3=E3+Y3(kk).*exp(i*z*(cos(1/11*pi+2/11*kkk*pi-theta)));
end
E3=abs(E3);
E3=E3/max(E3);
E3=20*log10(E3);
theta=theta/pi*180;
hold on
figure(5)
plot(theta,E3,'b:');
axis([-180 180 -55 0]);
xlabel('角度','color','k')
ylabel('dB','color','k')
%title({'由离散激励构成的环形阵列方向图(虚线)和理想方向图(实线)';'(11个辐射单元,间距为0.4个波长)'},'FontSize',18);
grid on
E=0;
theta=linspace(-pi,pi,1100)
for kk=1:n
E=E+m2(kk)*exp(i*kk*theta);
end
E=abs(E);
hold on
E=E/max(E);
E=20*log10(E);
theta=theta/pi*180;
plot(theta,E);
这是圆阵的切比雪夫综合
现在想要圆阵的泰勒综合,听说只要用第一个直线泰勒程序换第二个程序里开头的切比雪夫的内容
求大神帮忙搞一下,做出圆阵的泰勒综合
f=3e8;
lamda=2*pi/f;
d=lamda/2;
L=n*d;
theta=linspace(0,pi,500);
x=L/lamda*cos(theta);
r1=input('要求所有副瓣归一化最大值R0(DB):')
R0=10^(abs(r1)/20);
A=acosh(R0)/pi; %****** A为公式推导中和主瓣电平有关的常量
n_1=round(2*A^2+1/2); %****** n_1必须大于2*A^2+1/2
%********** 判断想控制的旁瓣数是否满足条件 ***********%
n_2=input('想控制第几对零点:')
if n_2>=n_1&abs(n_2-round(n_2))==0 %判断输入是否正确
n_1=n_2
elseif abs(n_2-round(n_2))<1&abs(n_2-round(n_2))>0
errordlg('输入错误','Data message');
elseif n_2<n_1
errordlg('数太小了','Data message');
end
gama=n_1/(sqrt(A^2+(n_1-1/2)^2)); %******** 展宽因子,用于计算半功率波瓣宽度
%******** 根据公式求泰勒方向图的各个根
t=A^2+(n_1-1/2)^2;
for i=1:n_1-1;%正的各根n<=n_1-1
a_n1(i)=n_1*sqrt((A^2+(i-1/2)^2)/(A^2+(n_1-1/2)^2));
end
a_n=a_n1.^2; %********* Xn根的平方,利于方程的计算
%********* a_n即为各个根的向量
%******** 构造公式中(1-X^2/Xn)
for j=1:n_1-1;
i=1:length(theta)
t1(j,i)=(1-x(i).^2./a_n(j))./(1-x(i).^2/j^2);
end
t1=prod(t1); %%%% prod()为连乘(1*500)的向量
%********* 归一化方向图函数 *********%
for i=1:length(theta)
G(i)=cosh(pi*A)*sin(pi.*x(i))./x(i)/pi.*t1(i);
end
g=G/max(G);
%******** ********%
g=20*log10(abs(g));
hold on
figure(1)
%********* 拟合,区别其他几个综合法(蓝色三角形)
theta=theta/pi*180;
theta2=linspace(0,pi,40);
theta2=theta2/pi*180'
g2=interp1(theta,g,theta2);
plot(theta,g,theta2,g2,'b^')
grid on
axis([0 180 -55 0]);
%***** 分奇偶讨论电流激励分布 *********%
if mod(n,2)==0 %******* 阵元个数为偶数个 *******%
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
%******* 利用第二个利于编程的归一化方向图函数 *****%
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:n/2-1;
In(i,j+1)=2*s3(i).*cos(i*pi*(2*j+1)/n);
end
In2=1.+sum(In);
In3=rot90(In2,2); %******* 翻转In2 但是要去掉公共的元素
for i=2:length(In2)
In5(i-1)=In2(i); %******* 去掉i=0的元素
end
In4=[In3 In5]
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
else %********** 阵元个数为奇数 %
for i=1:n_1-1;
j=1:n_1-1;
s1(j,i)=1-(i^2./a_n(j));
end
s2=prod(s1);
for i=1:n_1-1;
s3(i)=(factorial(n_1-1))^2/(factorial(n_1-1+i))/(factorial(n_1-1-i)).*s2(i);
end
for i=1:n_1-1;
j=0:(n-1)/2;
In(i,j+1)=2*s3(i).*cos(i*pi*2*j/n);
end
In2=1.+sum(In);
In3=rot90(In2,2);
for i=2:length(In2)
In5(i-1)=In2(i); %
end
In4=[In3,In5]
% 激励分布图
hold on
figure(2)
plot(In4/max(In2),'-bs');
grid on
end
Bw=2*asin(lamda*gama/pi/L*((acosh(R0))^2-(acosh(R0/sqrt(2)))^2)^(1/2));
disp(['半功率宽度=(°)',num2str(Bw/pi*180)]);
这是直线的泰勒综合
%%%%%%%%%%%% 均匀分布圆形阵列方向图的切比雪夫综合 %%%%%%%%%%%%
clear;clc;
R=1%input('环阵半径(R)与波长之比(lamda)之比:')
q=0.4%input('阵元距离(d)与波长之比(lamda)之比:')
n=9%input('阵元个数:')
r1=-25%input('要求所有副瓣归一化最大值(R0/DB):')
theta0=90%input('发射方向(度数):')
D=10^((abs(r1)+3)/20); %****** 最大的方向性系数(L无限长时)
fai1=0%input('步进激励相位(度数):')
syms w tp s_w
x=sym('x');
f=3e8;
lamda=2*pi/f;
L=n*q*lamda;
k=2*pi/lamda;
theta=linspace(0,pi,500);
fai=fai1/180*pi;
R0=10^(abs(r1)/20);
for kk=1:n-2 %****** 泰勒P阶方程递推
tp(1)=1;
tp(2)=x;
tp(kk+2)=2*x*tp(kk+1)-tp(kk)
end
t=sym2poly(tp(n)); %****** 提取多项式系数
r1=roots(t); %多项式求根
x0=cosh(acosh(R0)/(n-1));
u=2*acos(r1'/x0);
w1=exp(i*u); %****** 谢坤诺夫圆根
for kk=1:n-2 %****** 切比雪夫递归求解方程
s_w(1)=w-w1(1);
s_w(kk+1)=s_w(kk)*(w-w1(kk+1));
end
m=sym2poly(s_w(n-1)); %****** 提取需要的最后一个参量
m2=abs(m); %%%以上所有求线阵激励,即环阵的远场模
m2=m2/max(m2); %%%%%%%归一化
M=(n-1)/2; %%%%%%%%%%%%求近场模
z=4 ;
for kk=1:1:n
p=kk-M-1;
J(kk)=besselj(p,z);
C(kk)=m2(kk)/(J(kk)*(i^p));
D(kk)=abs(C(kk));
end
E=0; %%%%%%环阵的方向图
theta=linspace(-pi,pi,1000)
for kk=1:n
E=E+m2(kk)*exp(i*kk*theta);
end
E=abs(E);
hold on
figure(1)
E=E/max(E);
E=20*log10(E);
theta=theta/pi*180;
plot(theta,E);
axis([-180 180 -55 0]);
xlabel('角度','color','k')
ylabel('dB','color','k')
%title({'均匀分布圆形阵列的方向图';'(相模数为9,副瓣电平为-25dB,间距为0.4个波长)'},'FontSize',18)
grid on
hold on %%%%在同一图中画出远场模(虚线)和近场模(实线)
figure(2)
D=D/max(D);
plot(m2,':bo');
hold on
D=D/max(D);
plot(D,'-bo');
set(gca,'XTickLabel',{'-4','-3','-2','-1','0','1','2','3','4'});
xlabel('模式标号','color','k')
ylabel('幅度','color','k')
%title('使用9个相模的圆形阵列的远场模(虚线)和激励模(实线)的归一化幅值')
grid on
fi=linspace(0,2*pi,1000); %%%%%%%%%%求环形天线的激励并画图
syms V
V=0;
for kk=1:n
p=kk-M-1;
V=V+C(kk)*exp(i*p*fi);
end
V2=V;
V=abs(V);
V=V/max(V);
V=20*log10(V);
fi=fi/pi*180;
hold on
figure(3)
plot(fi,V);
axis([0 360 -20 0]);
xlabel('单元位置','color','k')
ylabel('dB','color','k')
%title('圆形阵列的连续激励分布')
grid on
theta=linspace(0,2*pi,1000); %%%%%%%%%%%%%实际方向图求解
R2=z/k;
for kk=1:10
kkk=kk-1;
Y(kk)=V2(50+kkk*100);
end
E2=0;
theta=linspace(-pi,pi,1000);
for kk=1:10
kkk=kk-1;
E2=E2+Y(kk).*exp(i*z*(cos(0.1*pi+0.2*kkk*pi-theta)));
end
E2=abs(E2);
E2=E2/max(E2);
E2=20*log10(E2);
theta=theta/pi*180;
hold on
figure(4)
plot(theta,E2,'b:');
hold on
plot(theta,E)
axis([-180 180 -55 0]);
xlabel('角度','color','k')
ylabel('dB','color','k')
%title({'由离散激励构成的环形阵列方向图(虚线)和理想方向图(实线)';'(10个辐射单元,间距为0.4个波长)'},'FontSize',18);
grid on
%%%%%%%%%%%%%%%%%%%改变阵元数目后的实际方向图求解%%%%%%%%%%%%%%
fi=linspace(0,2*pi,1100);
syms V
V=0;
for kk=1:n
p=kk-M-1;
V=V+C(kk)*exp(i*p*fi);
end
V3=V;
theta=linspace(0,2*pi,1100);
R2=z/k;
for kk=1:11
kkk=kk-1;
Y3(kk)=V3(50+kkk*100);
end
E3=0;
theta=linspace(-pi,pi,1100);
for kk=1:11
kkk=kk-1;
E3=E3+Y3(kk).*exp(i*z*(cos(1/11*pi+2/11*kkk*pi-theta)));
end
E3=abs(E3);
E3=E3/max(E3);
E3=20*log10(E3);
theta=theta/pi*180;
hold on
figure(5)
plot(theta,E3,'b:');
axis([-180 180 -55 0]);
xlabel('角度','color','k')
ylabel('dB','color','k')
%title({'由离散激励构成的环形阵列方向图(虚线)和理想方向图(实线)';'(11个辐射单元,间距为0.4个波长)'},'FontSize',18);
grid on
E=0;
theta=linspace(-pi,pi,1100)
for kk=1:n
E=E+m2(kk)*exp(i*kk*theta);
end
E=abs(E);
hold on
E=E/max(E);
E=20*log10(E);
theta=theta/pi*180;
plot(theta,E);
这是圆阵的切比雪夫综合
现在想要圆阵的泰勒综合,听说只要用第一个直线泰勒程序换第二个程序里开头的切比雪夫的内容
求大神帮忙搞一下,做出圆阵的泰勒综合
求大神帮个忙啊,弄出来了我的积分都送出以示感谢
相关文章:
- 哪位圆天线阵列设计的相关资料(05-08)
- 微带角馈阵列天线设计求助0(05-08)
- 微带阵列添加反射板问题?请达人帮助(05-08)
- 类似阵列的电性能求解?(05-08)
- 求助,如何降低天线阵列副瓣,更加具体的情况内详(05-08)
- 求教片状阵列天线的隔离问题,谢谢!(05-08)
天线设计培训教程推荐