您现在的位置:  
 首 页 > 天线设计 > 天线设计问答 > ,圆形阵列的泰勒综合

,圆形阵列的泰勒综合

文章来源: 互联网    录入: mweda.com   

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

网友回复:

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

申明:网友回复良莠不齐,仅供参考。如需专业解答,请咨询本站专家,或者学习本站天线设计视频培训课程

  • 上一篇文章:
  • 下一篇文章: