Patch antenna : Online calculator, 3D Design, Gerber and Python package

Bhanuchander
2 min readAug 5, 2020

--

Goal :

  • Designing a rectangular patch antenna,
  • Simulating in 3D and
  • Gerber file generations for the respected design

All available in online and also in python package.

For whom ?

Patch antenna designers,

  • developers (python package)
  • non-developers (online calculator)

Introduction:

Normally antenna designers calculate their patch antenna manually with required frequency, dielectric constant and thickness of the cavity. Then they go for EDA like ADS, CST for simulation and Gerber file generation.

To ease this flow and to quickly get the design in the formats like (design values, 3D view and gerber file), I have created the following.

  • Online calculator / simulator
  • Python package

Online calculator / simulator (For non-developers):

Link : https://bhachauk.github.io/patch-antenna-util/

GitHub : https://github.com/bhachauk/patch-antenna-util

Python package (For developers):

Link : https://pypi.org/project/patch-antenna/

GitHub : https://github.com/bhachauk/patch_antenna

Installation:

pip install patch_antenna

Example:

import patch_antenna as pa# resonant frequency in Hz
freq = 2.4 * 10 ** 9
# dielectric constant
er = 4.4
# thickness of the cavity in meter
h = 1.6 * 10 ** -3
result = pa.design(freq, er, h)print(result)

Output:

{'frequency': 2400000000.0, 'patch_width': 0.0380099749575278, 'patch_length': 0.0294215930843705, 'feeder_width': 0.015203989983011122, 'feeder_length': 0.015449608708025277, 'inset_gap_width': 0.007601994991505561, 'inset_length': 0.010914409094654586, 'ground_length': 0.05447120179239577, 'ground_width': 0.06281396494053892, 'input_edge_impedance': 321.50075290241097}

Write as Gerber file:

pa.write_gerber(freq, er, h, 'patch_design_normal.gbr', 'normal')
pa.write_gerber(freq, er, h, 'patch_design_inset.gbr', 'inset')

Notes:

  • Online calculator is created using github and jekyll.
  • Design calculation implementation is limited for certain range of inputs. So wrong values / no results generated while the input exceeds the range as it is not handled.

Thanks. Happy learning … !

--

--

Bhanuchander
0 Followers

RF Design | Data Science | Machine Learning | Deep Learning