[2023-11-26 Feed Network

 

¸íĪ: ¸¶ÀÌÅ©·Î½ºÆ®¸³ ÆÐÄ¡¾ÈÅ׳ª ¼±Çü¹è¿­À» À§ÇÑ Á÷·Ä±ÞÀü ȸ·Î¸Á ¼³°èÇÁ·Î±×·¥

±¹°¡°úÁ¦: ¹ÚÅÂÇü, ÃæºÏ´ëÇб³»êÇÐÇù·Â´Ü

¤·Æ¯Â¡

- ¸¶ÀÌÅ©·Î½ºÆ®¸³ ÁÖ ±ÞÀü¼±·Î »óÀÇ °¡Áö¼±·Î¸¦ »ç¿ëÇÏ¿© Á÷·Ä±ÞÀüµÇ´Â ÆÐÄ¡¾ÈÅ׳ª ±ÞÀüȸ·Î¸Á  ¼³°è

- ±ÞÀüȸ·Î¸Á °¢ ¼±·ÎÀÇ Æø°ú ±æÀ̸¦ °è»ê

 

¤·±â´É

- ÆÐÄ¡¾ÈÅ׳ªÀÇ ³·Àº ÀÓÇÇ´ø½º¸¦ ³ôÀº ÀÓÇÇ´ø½º¸¦ º¯È¯Çϱâ À§ÇÑ º¯È¯ºÎ ¼±·Î Ä¡¼ö °è»ê

- 2¿¡¼­ºÎÅÍ 200°³ ¶Ç´Â ±× ÀÌ»ó °³¼öÀÇ ÆÐÄ¡¾ÈÅ׳ª¸¦ Á÷·Ä·Î ±ÞÀüÇϱâ À§ÇÑ ÁÖ ±ÞÀü¼±·Î Ä¡¼ö °è»ê

 

¤·»ç¿ë¹æ¹ý

- ÆÄÀ̼± ÄÚµå ½ÇÇàÇϰí ÀԷµ¥ÀÌÅÍ prompt°¡ È­¸é¿¡ Ç¥½ÃµÇ´Â ¼öÄ¡ µ¥ÀÌÅ͸¦ ÀÔ·Â

- ¼öÄ¡ µ¥ÀÌÅÍ »çÀÌ¿¡ °ø¹é(space) 1°³ ÀÔ·Â

- ÀԷµ¥ÀÌÅͰ¡ ÀÔ·ÂµÇ¸é °è»ê°á°ú°¡ È­¸é¿¡ Ç¥½ÃµÊ

 

¤· ¼Ò½ºÄÚµå

- ÆÄÀ̼± ¼Ò½ºÄÚµå

#-------------------------------------------------------------------------

# M.Series.FN

# Linear array series feed network in microstrip line

# Main line: Single-section quarter-wave transformer

# Branch line: nb-section quarter-wave transformer. nb=1,3,5,...

#-------------------------------------------------------------------------

from math import *

 

def mstrip0(er,u): # Micrstrip Z0 calculation

  a=4/u*(14+8/u)/11

  return 42.397/sqrt(er+1)*log(1+4/u*(a+sqrt(a**2+pi**2*(1+1/er)/2)))

 

def mstrip4(z0,er,h,f):

# Microstrip QWT calculation

# z0=char. imped.;er,h=substrae;f=freq

  b=exp(z0*sqrt(er+1)/42.397)-1

  u=4*sqrt(b*(56*er+32)+11*pi**2*(er+1))/(b*sqrt(22*er))

  wL0=3e8/f;ere=(er+1)/2+(er-1)/2/sqrt(1+12/u)

  L=0.25*wL0/sqrt(ere)*1000

  return u*h,L

 

def lowhigh(er,h,zr,zi,zo,f,n):

# Multisection quarter-wave transformer

# zr: Reference impedance. Optimum value = sqrt(Zmin*Zmax) where Zmin and

#  Zmax are minimum and maximum realizable microstrip line impedances.

# zi,zo: Input impedance zi is transformed to output impedance zo

# er,h: Microstrip line substrate dielectric constant and thickness(mm)

# f: Frequency(Hz)

# n: Order of transformer. n=1,3,5,7,...

  r=(zi*zo/zr**2)**(1/(2*n))

  zh=r*zr;zL=zr/r

  wh,Lh=mstrip4(zh,er,h,f)

  wL,LL=mstrip4(zL,er,h,f)

  return zh,wh,Lh,zL,wL,LL

 

def fnet(er,h,ze,nb,zrb,zrm,c,n,f):

# Microstrip series feed network design

# er,h(mm)=substrate;ze=element impedance

# nb=no. branch-line QWT(1,3,5,...)

# zrb=branch-line reference impedance

# zrm=main-line reference impedance (For the last element, zrm=ze)

# c=cosine on pedestal edge excitation

# n=no. of array elements;f=frequency(Hz)

  v, p    =[0]*1000,[0]*1000

  za,zb   =[0]*1000,[0]*1000

  zm,wm,Lm=[0]*1000,[0]*1000,[0]*1000

  zh,wh,Lh=[0]*1000,[0]*1000,[0]*1000

  zL,wL,LL=[0]*1000,[0]*1000,[0]*1000

  sum=0

  for i in range(0,n):

    v[i]=c+(1-c)*sin(i*pi/n);p[i]=v[i]**2

    sum=sum+p[i]

  dsum=sum

  for i in range(0,n):

    dsum=dsum-p[i]

    zb[i]=zrm*(1+dsum/p[i]) # Branch-line impedance before transform

    if i!=n-1:

      za[i]=zrm*(1+p[i]/dsum) # Main-line impedance before transform

      zm[i],wm[i],Lm[i],z,w,L=lowhigh(er,h,zrm,zrm,za[i],f,1)

    zh[i],wh[i],Lh[i],zL[i],wL[i],LL[i]=lowhigh(er,h,zrb,ze,zb[i],f,nb)

  return za,zm,wm,Lm,zb,zh,wh,Lh,zL,wL,LL

 

# Main: M.Series.FN-------------------------------------------------------

er,h=map(float,input('er,h(mm)=').split())

wmin,wmax=map(float,input('wmin,wmax(mm)=').split())

zmax=mstrip0(er,wmin/h);zmin=mstrip0(er,wmax/h)

print('Zmin,Zmax={:.2f}, {:.2f}'.format(zmin,zmax))

print('Optimum Z(ref) for branch line=',sqrt(zmin*zmax))

f=float(input('Freq.(Hz)='))

c,n=map(float,input('C(pedestal),n(no. of array elements)=').split())

n=int(n)

ip=int(input('Print line dimensions in full(0,1)?='))

while True:

  ze,nb=map(float,input('Zin(array element),n(no. of branch QWT)=').split())

  zrb,zrm=map(float,input('Z(ref. branch),Z(ref. main)=').split())

  za,zm,wm,Lm,zb,zh,wh,Lh,zL,wL,LL=fnet(er,h,ze,nb,zrb,zrm,c,n,f)

  for i in range(0,n):

    if ip==1 or (ip==0 and (i==0 or i==n-1)):

      print('i={:>3d}, Zbi={:10.4e}, Z0h={:10.4e}, wh={:10.4e}, Lh={:10.4e}'.\

      format(i,zb[i],zh[i],wh[i],Lh[i]))

      print('i={:>3d}, Zbi={:10.4e}, Z0L={:10.4e}, wL={:10.4e}, LL={:10.4e}'.\

      format(i,zb[i],zL[i],wL[i],LL[i]))

      print('i={:>3d}, Zmi={:10.4e}, Z0m={:10.4e}, wm={:10.4e}, Lm={:10.4e}'.\

      format(i,za[i],zm[i],wm[i],Lm[i]))

      print(' ')

# End: M.Series.FN-------------------------------------------------------

# M.Series.FN Sample Results:

"""

M.Series.FN Sample Results:

er,h(mm)=

4.3 1

wmin,wmax(mm)=

0.2 4

Zmin,Zmax=30.77, 152.41

Optimum Z(ref) for branch line= 68.48665796678097

Freq.(Hz)=

1e9

C(pedestal),n(no. of array elements)=

0.18 20

Print line dimensions in full(0,1)?=

1

Zin(array element),n(no. of branch QWT)=

10 3

Z(ref. branch),Z(ref. main)=

70 50

i=  0, Zbi=1.7165e+04, Z0h=1.2662e+02, wh=2.1864e-01, Lh=4.4266e+01

i=  0, Zbi=1.7165e+04, Z0L=3.8698e+01, wL=2.8841e+00, LL=4.0817e+01

i=  0, Zmi=5.0146e+01, Z0m=5.0073e+01, wm=1.9345e+00, Lm=4.1508e+01

 

i=  1, Zbi=5.8350e+03, Z0h=1.0578e+02, wh=3.8630e-01, Lh=4.3731e+01

i=  1, Zbi=5.8350e+03, Z0L=4.6322e+01, wL=2.1933e+00, LL=4.1295e+01

i=  1, Zmi=5.0432e+01, Z0m=5.0216e+01, wm=1.9255e+00, Lm=4.1516e+01

 

i=  2, Zbi=2.9270e+03, Z0h=9.4291e+01, wh=5.3000e-01, Lh=4.3378e+01

i=  2, Zbi=2.9270e+03, Z0L=5.1967e+01, wL=1.8189e+00, LL=4.1611e+01

i=  2, Zmi=5.0869e+01, Z0m=5.0433e+01, wm=1.9118e+00, Lm=4.1528e+01

 

i=  3, Zbi=1.7717e+03, Z0h=8.6722e+01, wh=6.5399e-01, Lh=4.3121e+01

i=  3, Zbi=1.7717e+03, Z0L=5.6502e+01, wL=1.5755e+00, LL=4.1847e+01

i=  3, Zmi=5.1452e+01, Z0m=5.0721e+01, wm=1.8939e+00, Lm=4.1544e+01

 

i=  4, Zbi=1.1983e+03, Z0h=8.1251e+01, wh=7.6243e-01, Lh=4.2922e+01

i=  4, Zbi=1.1983e+03, Z0L=6.0307e+01, wL=1.4016e+00, LL=4.2034e+01

i=  4, Zmi=5.2177e+01, Z0m=5.1077e+01, wm=1.8721e+00, Lm=4.1563e+01

 

i=  5, Zbi=8.7162e+02, Z0h=7.7052e+01, wh=8.5863e-01, Lh=4.2760e+01

i=  5, Zbi=8.7162e+02, Z0L=6.3593e+01, wL=1.2696e+00, LL=4.2188e+01

i=  5, Zmi=5.3043e+01, Z0m=5.1499e+01, wm=1.8466e+00, Lm=4.1586e+01

 

i=  6, Zbi=6.6687e+02, Z0h=7.3689e+01, wh=9.4521e-01, Lh=4.2626e+01

i=  6, Zbi=6.6687e+02, Z0L=6.6495e+01, wL=1.1649e+00, LL=4.2319e+01

i=  6, Zmi=5.4053e+01, Z0m=5.1987e+01, wm=1.8177e+00, Lm=4.1612e+01

 

i=  7, Zbi=5.2914e+02, Z0h=7.0902e+01, wh=1.0243e+00, Lh=4.2510e+01

i=  7, Zbi=5.2914e+02, Z0L=6.9109e+01, wL=1.0791e+00, LL=4.2434e+01

i=  7, Zmi=5.5218e+01, Z0m=5.2544e+01, wm=1.7854e+00, Lm=4.1642e+01

 

i=  8, Zbi=4.3124e+02, Z0h=6.8526e+01, wh=1.0976e+00, Lh=4.2408e+01

i=  8, Zbi=4.3124e+02, Z0L=7.1506e+01, wL=1.0066e+00, LL=4.2535e+01

i=  8, Zmi=5.6557e+01, Z0m=5.3178e+01, wm=1.7495e+00, Lm=4.1676e+01

 

i=  9, Zbi=3.5846e+02, Z0h=6.6446e+01, wh=1.1666e+00, Lh=4.2317e+01

i=  9, Zbi=3.5846e+02, Z0L=7.3744e+01, wL=9.4375e-01, LL=4.2628e+01

i=  9, Zmi=5.8105e+01, Z0m=5.3900e+01, wm=1.7098e+00, Lm=4.1714e+01

 

i= 10, Zbi=3.0226e+02, Z0h=6.4585e+01, wh=1.2326e+00, Lh=4.2234e+01

i= 10, Zbi=3.0226e+02, Z0L=7.5869e+01, wL=8.8806e-01, LL=4.2714e+01

i= 10, Zmi=5.9910e+01, Z0m=5.4731e+01, wm=1.6654e+00, Lm=4.1757e+01

 

i= 11, Zbi=2.5743e+02, Z0h=6.2880e+01, wh=1.2969e+00, Lh=4.2155e+01

i= 11, Zbi=2.5743e+02, Z0L=7.7927e+01, wL=8.3756e-01, LL=4.2795e+01

i= 11, Zmi=6.2052e+01, Z0m=5.5701e+01, wm=1.6154e+00, Lm=4.1807e+01

 

i= 12, Zbi=2.2062e+02, Z0h=6.1283e+01, wh=1.3608e+00, Lh=4.2081e+01

i= 12, Zbi=2.2062e+02, Z0L=7.9957e+01, wL=7.9077e-01, LL=4.2873e+01

i= 12, Zmi=6.4652e+01, Z0m=5.6856e+01, wm=1.5582e+00, Lm=4.1865e+01

 

i= 13, Zbi=1.8957e+02, Z0h=5.9753e+01, wh=1.4254e+00, Lh=4.2007e+01

i= 13, Zbi=1.8957e+02, Z0L=8.2004e+01, wL=7.4642e-01, LL=4.2950e+01

i= 13, Zmi=6.7912e+01, Z0m=5.8272e+01, wm=1.4915e+00, Lm=4.1935e+01

 

i= 14, Zbi=1.6271e+02, Z0h=5.8251e+01, wh=1.4925e+00, Lh=4.1934e+01

i= 14, Zbi=1.6271e+02, Z0L=8.4119e+01, wL=7.0338e-01, LL=4.3028e+01

i= 14, Zmi=7.2181e+01, Z0m=6.0075e+01, wm=1.4115e+00, Lm=4.2023e+01

 

i= 15, Zbi=1.3886e+02, Z0h=5.6732e+01, wh=1.5643e+00, Lh=4.1859e+01

i= 15, Zbi=1.3886e+02, Z0L=8.6371e+01, wL=6.6044e-01, LL=4.3109e+01

i= 15, Zmi=7.8133e+01, Z0m=6.2503e+01, wm=1.3117e+00, Lm=4.2138e+01

 

i= 16, Zbi=1.1707e+02, Z0h=5.5141e+01, wh=1.6440e+00, Lh=4.1778e+01

i= 16, Zbi=1.1707e+02, Z0L=8.8863e+01, wL=6.1611e-01, LL=4.3196e+01

i= 16, Zmi=8.7272e+01, Z0m=6.6058e+01, wm=1.1800e+00, Lm=4.2300e+01

 

i= 17, Zbi=9.6371e+01, Z0h=5.3381e+01, wh=1.7382e+00, Lh=4.1687e+01

i= 17, Zbi=9.6371e+01, Z0L=9.1792e+01, wL=5.6796e-01, LL=4.3296e+01

i= 17, Zmi=1.0391e+02, Z0m=7.2081e+01, wm=9.8998e-01, Lm=4.2559e+01

 

i= 18, Zbi=7.5298e+01, Z0h=5.1231e+01, wh=1.8628e+00, Lh=4.1572e+01

i= 18, Zbi=7.5298e+01, Z0L=9.5646e+01, wL=5.1052e-01, LL=4.3422e+01

i= 18, Zmi=1.4882e+02, Z0m=8.6262e+01, wm=6.6245e-01, Lm=4.3105e+01

 

i= 19, Zbi=5.0000e+01, Z0h=4.7851e+01, wh=2.0826e+00, Lh=4.1383e+01

i= 19, Zbi=5.0000e+01, Z0L=1.0240e+02, wL=4.2385e-01, LL=4.3631e+01

i= 19, Zmi=0.0000e+00, Z0m=0.0000e+00, wm=0.0000e+00, Lm=0.0000e+00

 

Zin(array element),n(no. of branch QWT)=

"""