Skip to content

Quick class-based restructure + additional antenna topologies. Has CLI and GUI branches

Notifications You must be signed in to change notification settings

LC-Linkous/AntennaCalculator

 
 

Repository files navigation

AntennaCalculator

Open Source Antenna Designer.

The calculator features the following topologies:

  • Rectangular patch antenna, probe and microstrip versions
  • Quarter Wave Monopole
  • Half Wave Dipole

Supported exports:

  • Rectangular patch: top layer PNG, top layer DXF, gerber files

Table of Contents

Requirements

This project requires numpy, pcb-tools-extension, ezdxf.

Use 'pip install -r requirements.txt' to install the following dependencies:

ezdxf~=0.18
numpy~=1.23.2
pcb-tools~=0.1.6
pcb-tools-extension~=0.9.3
Pillow~=9.5.0
Pint~=0.19.2

Usage

usage: antenna_calculator.py [--help] [--version] {rectangular_patch,half_wave_dipole,quarter_wave_monopole} ...

Antenna Calculator

positional arguments:
  {rectangular_patch,half_wave_dipole,quarter_wave_monopole}
                        sub-command help

optional arguments:
  --help                Show this help message and exit
  --version             show program's version number and exit

Rectangular Patch Usage

usage: antenna_calculator.py rectangular_patch [--help] [--verbose] [--type {microstrip,probe}] -f FREQUENCY -er RELATIVE_PERMITTIVITY -h HEIGHT
                                               [-u {meter,centimeter,millimeter,inch}] [-du {meter,centimeter,millimeter,inch}] [--dxfoutput DXFOUTPUT]
                                               [--pngoutput PNGOUTPUT]

optional arguments:
  --help                Show this help message and exit
  --verbose
  --type {microstrip,probe}
                        Type of patch
  -f FREQUENCY, --frequency FREQUENCY
                        Frequency in Hz
  -er RELATIVE_PERMITTIVITY, --relative_permittivity RELATIVE_PERMITTIVITY
                        Relative permittivity
  -h HEIGHT, --height HEIGHT
                        Substrate height in meters
  -u {meter,centimeter,millimeter,inch}, --unit {meter,centimeter,millimeter,inch}
                        Unit of measurement
  -du {meter,centimeter,millimeter,inch}, --dxfunit {meter,centimeter,millimeter,inch}
                        DXF Unit of measurement
  --dxfoutput DXFOUTPUT
                        Name of DXF file
  --pngoutput PNGOUTPUT
                        Name of PNG image for printing

Half Wave Dipole Usage

usage: antenna_calculator.py half_wave_dipole [--help] [--verbose] -f FREQUENCY [-u {meter,centimeter,millimeter,inch}]

optional arguments:
  --help                Show this help message and exit
  --verbose
  -f FREQUENCY, --frequency FREQUENCY
                        Frequency in Hz
  -u {meter,centimeter,millimeter,inch}, --unit {meter,centimeter,millimeter,inch}
                        Unit of measurement

Quarter Wave Monopole Usage

usage: antenna_calculator.py quarter_wave_monopole [--help] [--verbose] -f FREQUENCY [-u {meter,centimeter,millimeter,inch}]

optional arguments:
  --help                Show this help message and exit
  --verbose
  -f FREQUENCY, --frequency FREQUENCY
                        Frequency in Hz
  -u {meter,centimeter,millimeter,inch}, --unit {meter,centimeter,millimeter,inch}
                        Unit of measurement

Examples

Rectangular Patch

python3 antenna_calculator.py rectangular_patch -f 2.4e9 -er 4.4 -h 1.6e-3
[*] W = 38.04 millimeter
[*] L = 29.44 millimeter
[*] Ws = 3.06 millimeter
[*] y0 = 19.02 millimeter
[*] x0 = 11.32 millimeter

PNG output using --pngoutput

image

DXF output using --dxfoutput

image

Gerber output using --gerberoutput

image

References

[1]: C. A. Balanis, Antenna Theory: Analysis and Design. Hoboken, New Jersey Wiley, 2016.

Publications and Presentations

Papers

  • E. Karincic, E. Topsakal, and L. Linkous. "Patch Antenna Calculations and Fabrication Made Simple for Cyber Security Research," 2023 ASEE Annual Conference & Exposition, Baltimore , Maryland, 2023, June. ASEE Conferences, 2023. [Online:] https://peer.asee.org/43974

  • L. Linkous, E. Karincic, J. Lundquist and E. Topsakal, "Automated Antenna Calculation, Design and Tuning Tool for HFSS," 2023 United States National Committee of URSI National Radio Science Meeting (USNC-URSI NRSM), Boulder, CO, USA, 2023, pp. 229-230, doi: 10.23919/USNC-URSINRSM57470.2023.10043119.

  • L. Linkous, J. Lundquist and E. Topsakal, "AntennaCAT: Automated Antenna Design and Tuning Tool," 2023 IEEE USNC-URSI Radio Science Meeting (Joint with AP-S Symposium), Portland, OR, USA, 2023, pp. 89-90, doi: 10.23919/USNC-URSI54200.2023.10289238.

DEFCON 30 Presentation

Presentation Recording

DEFCON Presentation

PDF Presentation

"DEF CON 30 RF Village - Erwin Karincic - Have a SDR? - Design and make your own antennas" PDF link

About

Quick class-based restructure + additional antenna topologies. Has CLI and GUI branches

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%