⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mla.m

📁 计算弯曲线天线的输入阻抗
💻 M
字号:
clear all;
n=2;%弯折次数
lanbta=0.3/1.07;%波长
a=0.0005;%天线半径
l=0.06;%天线外部长度一半
h=0.005;%弯折高度
sn=l/(2*n+1); 
fanwei1=atan(2*h/sn)*180/pi;
fanwei2=180-fanwei1;
zr=90;%弯折角度

z=(zr/180)*pi;
 if(atan(2*h/sn)<= z && z<=(pi-atan(2*h/sn)))
        L=(n*(2*sn+(2*h)/sin(z)-(2*h)/tan(z))+sn)*2;%天线总长度
        pou=150;
        if(ceil((ceil(L/(lanbta/pou)))/2)==(ceil(L/(lanbta/pou)))/2)
           m=ceil(L/(lanbta/pou));
        else
           m=ceil(L/(lanbta/pou))+1;%分成的段数,为偶数
        end
           
     ol=L/m;%每段长度 
     for v=1:(m-1);
         if (v==m/2)
            u(v)=1;
         else
            u(v)=0;
         end
     end
  for  q=1:(m-1);
      for p=1:(m-1);
        Xq=(q-m/2)*ol;
        Xp=(p-m/2)*ol;
        Xq1=(q-m/2)*ol+ol/2;
        Xq2=(q-m/2)*ol-ol/2;
        Xp1=(p-m/2)*ol+ol/2;
        Xp2=(p-m/2)*ol-ol/2;%未弯折之前的坐标
if(Xq>=0)
kq=floor(Xq/(2*sn+2*h/sin(z)-2*h/tan(z)));
else
    kq=ceil(Xq/(2*sn+2*h/sin(z)-2*h/tan(z)));
end
if(Xp>=0)
kp=floor(Xp/(2*sn+2*h/sin(z)-2*h/tan(z)));
else
 kp=ceil(Xp/(2*sn+2*h/sin(z)-2*h/tan(z)));
end
if(Xq1>=0)
kq1=floor(Xq1/(2*sn+2*h/sin(z)-2*h/tan(z)));
else
 kq1=ceil(Xq1/(2*sn+2*h/sin(z)-2*h/tan(z)));
end
if(Xq2>=0)
kq2=floor(Xq2/(2*sn+2*h/sin(z)-2*h/tan(z)));
else
kq2=ceil(Xq2/(2*sn+2*h/sin(z)-2*h/tan(z))); 
end
if(Xp1>=0)
kp1=floor(Xp1/(2*sn+2*h/sin(z)-2*h/tan(z)));
else
kp1=ceil(Xp1/(2*sn+2*h/sin(z)-2*h/tan(z)));
end
if(Xp2>=0)
kp2=floor(Xp2/(2*sn+2*h/sin(z)-2*h/tan(z)));
else
    kp2=ceil(Xp2/(2*sn+2*h/sin(z)-2*h/tan(z)));
end
location= abs(Xq-kq*(2*sn+2*h/sin(z)-2*h/tan(z)));
if(0<=location&&location<sn)
    xq=Xq-kq*(2*h/sin(z)-2*h/tan(z)) ;
    yq=0;
elseif(sn<=location&&location<sn+h/sin(z))
    if(q>=(m/2))
       xq=(2*kq+1)*sn+(Xq-sn-kq*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
       yq=(Xq-sn-kq*(2*sn+2*h/sin(z)-2*h/tan(z)))* sin(z);
    else
       xq=(2*kq-1)*sn+(Xq-sn-kq*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
       yq=(-Xq-sn+kq*(2*sn+2*h/sin(z)-2*h/tan(z)))*sin(z);
    end
elseif(sn+h/sin(z)<=location&&location<2*sn+h/sin(z)-2*h/tan(z))
    if(q>=(m/2))
       xq=Xq+(2*kq*h+h)*(1/tan(z)-1/sin(z));
       yq=h;
    else
        xq=Xq+(2*kq*h-h)*(1/tan(z)-1/sin(z));
         yq=h;
    end      
elseif(2*sn+h/sin(z)-2*h/tan(z)<=location&&location<2*sn+2*h/sin(z)-2*h/tan(z))
    if(q>=(m/2))
        xq=(2*kq+2)*sn-h/tan(z)+(Xq-kq*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*cos(z);
        yq=h-(Xq-kq*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*sin(z);
    else
        xq=(2*kq-2)*sn+h/tan(z)+(Xq-kq*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*cos(z);
        yq=h+(Xq-kq*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*sin(z);
    end
end

location=abs(Xp-kp*(2*sn+2*h/sin(z)-2*h/tan(z)));
if(0<=location&&location<sn)
    xp=Xp-kp*(2*h/sin(z)-2*h/tan(z)) ;
    yp=0;
elseif(sn<=location&&location<sn+h/sin(z))
    if(p>=m/2)
    xp=(2*kp+1)*sn+(Xp-sn-kp*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
    yp=(Xp-sn-kp*(2*sn+2*h/sin(z)-2*h/tan(z)))* sin(z);
    else
     xp=(2*kp-1)*sn+(Xp-sn-kp*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
       yp=(-Xp-sn+kp*(2*sn+2*h/sin(z)-2*h/tan(z)))*sin(z);
    end
        
elseif(sn+h/sin(z)<=location&&location<2*sn+h/sin(z)-2*h/tan(z))
    if(p>=m/2)
    xp=Xp+(2*kp*h+h)*(1/tan(z)-1/sin(z));
    yp=h;
    else
        xp=Xp+(2*kp*h-h)*(1/tan(z)-1/sin(z));
        yp=h;
    end
        
elseif(2*sn+h/sin(z)-2*h/tan(z)<=location&&location<2*sn+2*h/sin(z)-2*h/tan(z)) 
    if(p>=m/2)
    xp=(2*kp+2)*sn-h/tan(z)+(Xp-kp*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*cos(z);
    yp=h-(Xp-kp*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*sin(z);
    else
          xp=(2*kp-2)*sn+h/tan(z)+(Xp-kp*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*cos(z);
        yp=h+(Xp-kp*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*sin(z);
    end
        
end

location=abs(Xq1-kq1*(2*sn+2*h/sin(z)-2*h/tan(z)));
if(0<=location&&location<sn)
    xq1=Xq1-kq1*(2*h/sin(z)-2*h/tan(z)) ;
    yq1=0;
elseif(sn<=location&&location<sn+h/sin(z))
      if(q>=m/2)
    xq1=(2*kq1+1)*sn+(Xq1-sn-kq1*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
    yq1=(Xq1-sn-kq1*(2*sn+2*h/sin(z)-2*h/tan(z)))* sin(z);
      else
           xq1=(2*kq1-1)*sn+(Xq1-sn-kq1*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
       yq1=(-Xq1-sn+kq1*(2*sn+2*h/sin(z)-2*h/tan(z)))*sin(z);
      end
          
elseif(sn+h/sin(z)<=location&&location<2*sn+h/sin(z)-2*h/tan(z))
      if(q>=m/2)
    xq1=Xq1+(2*kq1*h+h)*(1/tan(z)-1/sin(z));
    yq1=h;
      else
          xq1=Xq1+(2*kq1*h-h)*(1/tan(z)-1/sin(z));
         yq1=h;
      end
elseif(2*sn+h/sin(z)-2*h/tan(z)<=location&&location<2*sn+2*h/sin(z)-2*h/tan(z)) 
    if(q>=m/2)
    xq1=(2*kq1+2)*sn-h/tan(z)+(Xq1-kq1*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*cos(z);
    yq1=h-(Xq1-kq1*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*sin(z);
    else
        xq1=(2*kq1-2)*sn+h/tan(z)+(Xq1-kq1*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*cos(z);
        yq1=h+(Xq1-kq1*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*sin(z);
    end
        
end

location=abs(Xq2-kq2*(2*sn+2*h/sin(z)-2*h/tan(z)));
if(0<=location&&location<sn)
    xq2=Xq2-kq2*(2*h/sin(z)-2*h/tan(z)) ;
    yq2=0;
elseif(sn<=location&&location<sn+h/sin(z))
    if(q>=m/2)
    xq2=(2*kq2+1)*sn+(Xq2-sn-kq2*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
    yq2=(Xq2-sn-kq2*(2*sn+2*h/sin(z)-2*h/tan(z)))* sin(z);
    else
        xq2=(2*kq2-1)*sn+(Xq2-sn-kq2*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
       yq2=(-Xq2-sn+kq2*(2*sn+2*h/sin(z)-2*h/tan(z)))*sin(z);
    end
        
elseif(sn+h/sin(z)<=location&&location<2*sn+h/sin(z)-2*h/tan(z))
       if(q>=m/2)
    xq2=Xq2+(2*kq2*h+h)*(1/tan(z)-1/sin(z));
    yq2=h;
       else
            xq2=Xq2+(2*kq2*h-h)*(1/tan(z)-1/sin(z));
         yq2=h;
       end
    
elseif(2*sn+h/sin(z)-2*h/tan(z)<=location&&location<2*sn+2*h/sin(z)-2*h/tan(z)) 
      if(q>=m/2)
    xq2=(2*kq2+2)*sn-h/tan(z)+(Xq2-kq2*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*cos(z);
    yq2=h-(Xq2-kq2*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*sin(z);
      else
          xq2=(2*kq2-2)*sn+h/tan(z)+(Xq2-kq2*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*cos(z);
        yq2=h+(Xq2-kq2*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*sin(z);
      end
          
end

location=abs(Xp1-kp1*(2*sn+2*h/sin(z)-2*h/tan(z)));
if(0<=location&&location<sn)
    xp1=Xp1-kp1*(2*h/sin(z)-2*h/tan(z)) ;
    yp1=0;
elseif(sn<=location&&location<sn+h/sin(z))
    if(p>=m/2)
    xp1=(2*kp1+1)*sn+(Xp1-sn-kp1*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
    yp1=(Xp1-sn-kp1*(2*sn+2*h/sin(z)-2*h/tan(z)))* sin(z);
    else
        xp1=(2*kp1-1)*sn+(Xp1-sn-kp1*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
       yp1=(-Xp1-sn+kp1*(2*sn+2*h/sin(z)-2*h/tan(z)))*sin(z);
    end
        
elseif(sn+h/sin(z)<=location&&location<2*sn+h/sin(z)-2*h/tan(z))
     if(p>=m/2)
    xp1=Xp1+(2*kp1*h+h)*(1/tan(z)-1/sin(z));
    yp1=h;
     else
          xp1=Xp1+(2*kp1*h-h)*(1/tan(z)-1/sin(z));
        yp1=h;
     end
         
elseif(2*sn+h/sin(z)-2*h/tan(z)<=location&&location<2*sn+2*h/sin(z)-2*h/tan(z)) 
    if(p>=m/2)
    xp1=(2*kp1+2)*sn-h/tan(z)+(Xp1-kp1*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*cos(z);
    yp1=h-(Xp1-kp1*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*sin(z);
    else
        xp1=(2*kp1-2)*sn+h/tan(z)+(Xp1-kp1*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*cos(z);
        yp1=h+(Xp1-kp1*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*sin(z);
    end
end

location=abs(Xp2-kp2*(2*sn+2*h/sin(z)-2*h/tan(z)));
 if(0<=location&&location<sn)
    xp2=Xp2-kp2*(2*h/sin(z)-2*h/tan(z)) ;
    yp2=0;
 elseif(sn<=location&&location<sn+h/sin(z))
     if(p>=m/2)
    xp2=(2*kp2+1)*sn+(Xp2-sn-kp2*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
    yp2=(Xp2-sn-kp2*(2*sn+2*h/sin(z)-2*h/tan(z)))* sin(z);
     else
         xp2=(2*kp2-1)*sn+(Xp2-sn-kp2*(2*sn+2*h/sin(z)-2*h/tan(z)))*cos(z);
       yp2=(-Xp2-sn+kp2*(2*sn+2*h/sin(z)-2*h/tan(z)))*sin(z);
     end
 elseif(sn+h/sin(z)<=location&&location<2*sn+h/sin(z)-2*h/tan(z))
     if(p>=m/2)
    xp2=Xp2+(2*kp2*h+h)*(1/tan(z)-1/sin(z));
    yp2=h;
     else
          xp2=Xp2+(2*kp2*h-h)*(1/tan(z)-1/sin(z));
        yp2=h;
     end
         
 elseif(2*sn+h/sin(z)-2*h/tan(z)<=location&&location<2*sn+2*h/sin(z)-2*h/tan(z)) 
      if(p>=m/2)
    xp2=(2*kp2+2)*sn-h/tan(z)+(Xp2-kp2*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*cos(z);
    yp2=h-(Xp2-kp2*(2*sn+2*h/sin(z)-2*h/tan(z))-2*sn-h/sin(z)+2*h/tan(z))*sin(z);
      else
           xp2=(2*kp2-2)*sn+h/tan(z)+(Xp2-kp2*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*cos(z);
        yp2=h+(Xp2-kp2*(2*sn+2*h/sin(z)-2*h/tan(z))+2*sn+h/sin(z)-2*h/tan(z))*sin(z);
      end
          
 end 

dl=(xq2-xq1)*(xp2-xp1)+(yq2-yq1)*(yp2-yp1);
   r=sqrt((xq-xp)^2+(yq-yp)^2+a^2);
r1=sqrt((xq1-xp1)^2+(yq1-yp1)^2+a^2);
r2=sqrt((xq1-xp2)^2+(yq1-yp2)^2+a^2);
r3=sqrt((xq2-xp1)^2+(yq2-yp1)^2+a^2);
r4=sqrt((xq2-xp2)^2+(yq2-yp2)^2+a^2);

if(p==q)

    h0=1/(2*pi*ol)*log(ol/a)-i/(2*lanbta);
    h1=1/(2*pi*ol)*log(ol/a)-i/(2*lanbta);
    h4=1/(2*pi*ol)*log(ol/a)-i/(2*lanbta);
    h2=exp(-i*2*pi*r2/lanbta)/(4*pi*r2);    
h3=exp(-i*2*pi*r3/lanbta)/(4*pi*r3);

elseif(q-p==1)
    h3=1/(2*pi*ol)*log(ol/a)-i/(2*lanbta);
     h0=exp(-i*2*pi*r/lanbta)/(4*pi*r);
   h1=exp(-i*2*pi*r1/lanbta)/(4*pi*r1);
h2=exp(-i*2*pi*r2/lanbta)/(4*pi*r2);    
h4=exp(-i*2*pi*r4/lanbta)/(4*pi*r4); 
elseif(q-p==-1)
    h2=1/(2*pi*ol)*log(ol/a)-i/(2*lanbta);
     h0=exp(-i*2*pi*r/lanbta)/(4*pi*r);
   h1=exp(-i*2*pi*r1/lanbta)/(4*pi*r1); 
h3=exp(-i*2*pi*r3/lanbta)/(4*pi*r3);
h4=exp(-i*2*pi*r4/lanbta)/(4*pi*r4); 
else
   h0=exp(-i*2*pi*r/lanbta)/(4*pi*r);
   h1=exp(-i*2*pi*r1/lanbta)/(4*pi*r1);
h2=exp(-i*2*pi*r2/lanbta)/(4*pi*r2);    
h3=exp(-i*2*pi*r3/lanbta)/(4*pi*r3);
h4=exp(-i*2*pi*r4/lanbta)/(4*pi*r4); 
end

t(q,p)=i*240*pi*pi*dl*h0/lanbta-i*60*lanbta*(h1-h2-h3+h4);
sol(q)=(xq1-xq2)+i*(yq1-yq2);
srn(q)=xq+i*yq;

      end
  end
  y=inv(t);
 Zin=1/y(m/2,m/2)
 Pin=real(y(m/2,m/2))*u(m/2)*u(m/2)
 S=(Zin-50)/(Zin+50)
 zbb=(1+abs(S))/(1-abs(S))
c=u*y;
Emax1=0;
Emax2=0;
    for fan=0:(10/180)*pi:2*pi
        for sit=0:(10/180)*pi:2*pi
        Esit=0;
        Efan=0;
         for q=1:(m-1)
        Esit=Esit+dot(sol(q),cos(sit)*cos(fan)+i*cos(sit)*sin(fan))*exp(i*2*pi*dot(srn(q),sin(sit)*cos(fan)+i*sin(sit)*sin(fan))/lanbta)*c(q);
        Efan=Efan+dot(sol(q),-sin(fan)+i*cos(fan))*exp(i*2*pi*dot(srn(q),sin(sit)*cos(fan)+i*sin(sit)*sin(fan))/lanbta)*c(q);
         end
         E1=abs(Esit)^2;
         E2=abs(Efan)^2;
         if(E1>Emax1)
              Emax1=E1;
         end
         if(E2>Emax2)
             Emax2=E2;
         end
        end
    end
    G1=120*pi*pi*sqrt(Emax1^2+Emax2^2)/(lanbta*Pin);
    G=10*log(G1)
    
     b =1;
    for sit=0:(10/180)*pi:2*pi
        A=0;
         for q=1:(m-1)
          fan=0;  
        A=A+dot(sol(q),cos(sit)*cos(fan)+i*cos(sit)*sin(fan))*exp(i*2*pi*dot(srn(q),sin(sit)*cos(fan)+i*sin(sit)*sin(fan))/lanbta)*c(q);
         end
        E(b)=abs(A);
        b=b+1;
    end
     sit=0:(10/180)*pi:2*pi; 
     Smax=max(E);
     E=E/Smax;
   subplot(2,2,1); polar(sit,E);title('E面方向图');
    b =1;
    for fan=0:(10/180)*pi:2*pi
        A=0;
         for q=1:(m-1)
           sit=0;  
        A=A+dot(sol(q),-sin(fan)+i*cos(fan))*exp(i*2*pi*dot(srn(q),sin(sit)*cos(fan)+i*sin(sit)*sin(fan))/lanbta)*c(q);
         end
        E(b)=abs(A);
        b=b+1;
    end
      fan=0:(10/180)*pi:2*pi; 
      Fmax=max(E);
      E=E/Fmax;
   subplot(2,2,2) ;polar(fan,E);title('H面方向图');
cmax=max(abs(c));
        for k=1:(m-1);  %unit current matrix calculation
            c(k)=abs(c(k)/cmax);
        end

        k=1:(m-1);
      subplot(2,2,3);  plot(ol*(k-m/2),c(k),'k:p');title('电流分布');
        hold on
 else
     fanwei1=atan(2*h/sn)*180/pi  
     fanwei2=180-fanwei1
   disp('角度只能在fanwei1=argtan(2h/sn)与180-arg(tan2h/sn)之间变换');
 end      
     
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -