官方淘宝店 易迪拓培训 旧站入口
首页 > 天线设计 > 天线设计讨论 > 求助,圆形阵列的泰勒综合

求助,圆形阵列的泰勒综合

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);
这是圆阵的切比雪夫综合
现在想要圆阵的泰勒综合,听说只要用第一个直线泰勒程序换第二个程序里开头的切比雪夫的内容
求大神帮忙搞一下,做出圆阵的泰勒综合

求大神帮个忙啊,弄出来了我的积分都送出以示感谢

Top