zoukankan      html  css  js  c++  java
  • 微带贴片天线-微带线馈电

    模型如下:

    image

    设计参数同http://www.cnblogs.com/hiramlee0534/p/6283543.html基板参数er = 2.55, H = 1.59mm, 导体为PEC,厚度为0,频率为3GHz, 使用公式计算得到辐射边W=37.503mm。长度与谐振频率有关,使用微带线馈电,连接在辐射一端。计算好天线阻抗,输入端为50 欧姆微带线,中间是1/4波长阻抗变换微带线。计算设计初值 如下

    image

     1 def msa_coax_synthesis(self):
     2         #er =  float(self.lineEdit_ms_er.text()) # relative dielectric constant
     3         h = float(self.lineEdit_ms_H.text())/1.0e3 # substrate thickness
     4         #w = float(self.lineEdit_ms_W.text())/1.0e3 # conductor width
     5         #l = float(self.lineEdit_ms_L.text())/1.0e3 # conductor length
     6         er =  float(self.lineEdit_ms_er.text()) # relative dielectric constant
     7         mur =  float(self.lineEdit_ms_mur.text()) # relative permeability 
     8         fc =  float(self.lineEdit_msa_coax_fc.text())*1e6 # frequency in Hz
     9         rough = float(self.lineEdit_ms_rough.text())/1.0e3
    10         tand = float(self.lineEdit_ms_loss_tangent.text()) # loss tangent of the dielectric
    11         cond = float(self.lineEdit_ms_conductivity.text())
    12         mu = mur*4*math.pi*1.0e-7
    13         Rc = float(self.lineEdit_msa_coax_Rin.text())
    14         t = float(self.lineEdit_ms_T.text())/1.0e3
    15         lambda0= self.c/fc #m
    16         msa_w = self.c/2.0/fc*math.sqrt(2.0/(er+1.0)) # patch width  m
    17         U = msa_w/h # ratio of trace width to substrate thickness 
    18         if t > 0:
    19             T = t/h #ratio of conductor thickness to substrate thickness
    20         #(T/PI)*log(1.0 + 4.0*exp(1.0)/(T*pow(coth(sqrt(6.517*u)),2.0)))
    21             U1 = U +(T*math.log(1.0+4.0*math.e/T/math.pow(1.0/math.tanh(math.sqrt(6.517*U)),2.0)))/math.pi # from Hammerstad and Jensen
    22         #   0.5*(1.0 + 1.0/cosh(sqrt(er-1.0)))*deltau1
    23             Ur = U +(U1-U)*(1.0+1.0/(math.cosh(math.sqrt(er-1))))/2.0 # from Hammerstad and Jensen
    24         else:
    25             U1 = U  
    26             Ur = U
    27 #        Y = self.ee_HandJ(Ur,er)
    28 #        Z0 =self.z0_HandJ(Ur)/math.sqrt(Y)
    29 #        #ereff0 = Y*math.pow(Z01_U1/Z01_Ur,2)
    30 #        ereff0 = Y*math.pow(self.z0_HandJ(U1)/self.z0_HandJ(Ur),2.0)   
    31         if t > 0:
    32             W1 = msa_w +(t/math.pi)*(1+math.log(4.0/math.sqrt(math.pow(t/h,2)+math.pow(1.0/math.pi,2)/math.pow(msa_w/t+1.1,2))))
    33         else:
    34             W1 = msa_w
    35         F = 6.0 + (2.0*math.pi-6.0)*math.exp(-4*math.pow(math.pi,2)/3.0*math.pow(h/W1,0.75))
    36         We = 2*math.pi*h/math.log(h*F/W1+math.sqrt(1+math.pow(2*h/W1,2)))
    37         A = 1.0 + (1.0/49.0)*math.log((math.pow(U,4.0) + math.pow((U/52.0),2.0))/(math.pow(U,4.0) + 0.432))
    38             + (1.0/18.7)*math.log(1.0 + math.pow((U/18.1),3.0))
    39         #Ber = 0.564*math.pow((er-0.9)/(er+3),0.053)
    40         B = 0.564*math.exp(-0.2/(er+0.3))
    41         #Y = (er+1.0)/2.0+(er-1.0)/2.0*math.pow(1+10.0/Ur,-(A*B))
    42         G= math.pow((1.0 + 10.0/U),(-A*B))-math.log(4)*t/math.pi/math.sqrt(msa_w*h)
    43         ereff0 = 0.5*(er+1.0+(er-1.0)*G)     
    44         fn = fc/1e9*h*1e3
    45         u = (msa_w+(W1-msa_w))/h
    46         P1 = 0.27488 + (0.6315 + (0.525 / (math.pow((1 + 0.0157*fn),20))) )*u - 0.65683*math.exp(-8.7513*u)
    47         P2 = 0.33622*(1 - math.exp(-0.03442*er))
    48         P3 = 0.0363*math.exp(-4.6*u)*(1 - math.exp(-math.pow((fn / 38.7),4.97)))
    49         P4 = 1 + 2.751*( 1 -  math.exp(-math.pow((er/15.916),8)))
    50         P = P1*P2*math.pow(((0.1844 + P3*P4)*fn),1.5763)
    51         ereff = (er*P+ereff0)/(1+P) # equavlent ralative dielectric constant
    52         #ereff = (er+1.0)/2.0+(er-1.0)/2.0*math.pow(1+12/U,-0.5)
    53         A1 = 0.434907*(math.pow(ereff,0.81)+0.26)/(math.pow(ereff,0.81)-0.189)
    54            *(math.pow(U,0.8544)+0.236)/(math.pow(U,0.8544)+0.87)
    55         A2 = 1+ math.pow(U,0.371)/(2.358*er+1)
    56         A3 = 1 + 0.5274*math.atan(0.084*math.pow(U,1.9413/A2))/math.pow(ereff,0.9236)
    57         A4 = 1 + 0.0377*math.atan(0.067*math.pow(U,1.456))*(6-5*math.exp(0.036*(1-er)))
    58         A5 = 1 - 0.218*math.exp(-7.5*U)
    59         deltaL = h*A1*A3*A5/A4
    60         #deltaL = h*0.412*(ereff+0.3)*(U+0.264)/(ereff-0.258)/(U+0.8)#mm
    61         lambda_eff = self.c/fc/math.sqrt(ereff)#mm
    62         msa_l = lambda_eff/2-2*deltaL #patch length mm 
    63         k0 = 2.0*math.pi/(lambda0)
    64         keff = k0*math.sqrt(ereff)
    65         
    66         Sw = math.pow(self.c,2)/(4*math.pow(fc,2)*(ereff-1))
    67         Pw =math.pow(msa_w/3.0,3)+(Sw/2.0)*(We-msa_w/3.0)
    68         Qw = Sw/3.0 -math.pow(msa_w/3.0,2)
    69         Rw = math.sqrt(math.pow(Pw,2)+math.pow(Qw,2))
    70         W2 = We
    71         We = msa_w/3.0+math.pow(Rw+Pw,1.0/3.0)-math.pow(Rw-Pw,1.0/3.0)
    72         Rr = math.pow(k0*We,2)/6.0/(60+math.pow(k0*We,2))
    73         Gr = 1.0/Rr
    74         
    75         l = keff*(msa_l+deltaL)
    76         p = keff*deltaL
    77         Fg = special.j0(l)+math.pow(p,2)/(24-math.pow(p,2))*special.jn(2,l)
    78         Gm = Gr*Fg
    79         Re = 1.0/(2*(Gr))
    80         G1 = msa_w/120.0/lambda0*(1-math.pow(k0*h,2)/24) 
    81         G12 = integrate.quad(lambda x: 1.0/120.0/math.pow(math.pi,2)*math.pow(math.sin(k0*msa_w/2.0*math.cos(x))/math.cos(x),2)*special.j0(math.sin(x)*msa_l*k0)*math.pow(math.sin(x),3), 0, math.pi)
    82         #Re = 1.0/2.0/(G1)
    83         Re = 1.0/2.0/(G1-G12[0])
    84 #        shift = msa_l/math.pi*math.asin(math.sqrt(Rc/Re))
    85         self.lineEdit_msa_coax_w.setText(str(msa_w*1.0e3))
    86         self.lineEdit_msa_coax_l.setText(str(msa_l*1e3))
    87         self.label.setText(str(' lambda_eff = ')+str(lambda_eff*1.0e3))
    88         self.label_test.setText(str(' Re = ')+str(Re))
    89         self.label_test_2.setText(str(' ereff = ')+str(ereff))
    90         self.label_test_3.setText(str(' deltaL = ')+str(deltaL*1.0e3))
    91         self.label_test_4.setText(str(' We = ')+str(We*1.0e3))
    92         self.label_2.setText(str(' W1 = ')+str(W1))

    优化后参数如下

    image

    得到仿真结果:

    S11

    image

    VSWR

    image

    输入阻抗

    image

    三维方向图

    image 

    E面和H面方向图

    image

  • 相关阅读:
    C# 文件类的操作---删除
    C#实现Zip压缩解压实例
    UVALIVE 2431 Binary Stirling Numbers
    UVA 10570 meeting with aliens
    UVA 306 Cipher
    UVA 10994 Simple Addition
    UVA 696 How Many Knights
    UVA 10205 Stack 'em Up
    UVA 11125 Arrange Some Marbles
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/hiramlee0534/p/6337991.html
Copyright © 2011-2022 走看看