Skip to content
L. Linkous edited this page Nov 6, 2024 · 40 revisions

Welcome to the AntennaCAT wiki!
Current AntennaCAT Version: 2024.0

What's New?


We're getting ready for the first code release! AntennaCAT V2024.0 will be posted to the main GitHub soon.

Before that, however, we're releasing documentation on how to get started, set up, and use AntennaCAT


Table of Contents

What is AntennaCAT?


The Antenna Calculation and Autotuning Tool (AntennaCAT) software suite is a comprehensive implementation of machine learning to automate, evaluate, and optimize the antenna design process using EM simulation software. It utilizes a combined antenna designer pre-loaded with replication studies and internal calculator to accelerate the CAD construction and EM simulation of several common topologies, while eliminating model disparity for automated data collection. In particular, this work includes the capability to create and export structured datasets from the aforementioned EM software for iterative improvement and includes an expandable selection of optimizers. AntennaCAT is designed with three things in mind: accessibility, adaptability, and experimentation.

This documentation includes the basics for downloading and getting started with AntennaCAT, using the advanced features, and how AntennaCAT works on the backend. It has been broken up into multiple Wiki pages, including guides and tutorials, videos, and a series of blog posts. Publication references, including the September 2024 dissertation on AntennaCAT are linked at the bottom of this page

Past Releases


AntennaCAT has appeared in several publications during its development, however it was not publicly available until V2024.0. Some features have been replaced, or removed, during the development process. The first table below summarizes the development of AntennaCAT as it was published in early literature. Table 2 summarizes the major updates (including the staggered release) as the code has become public.

Table 1: A Summary of AntennaCAT Features from Early Publication + Collaborative Repos

Year Publication Reference Major Features
2022 Early work. Ansys HFSS scripting for automating the parameter sweep of rectangular patch antennas in a Python UI. The template fill -> script generate -> Ansys HFSS simulation -> report export -> data process -> template fill.... loop works for ONLY the patch antenna. All simulation plot options are integrated for S parameters.
Aug. 2022 "Have a SDR? - Design and make your own antennas" Dollarhyde's AntennaCalculator presented at DEF CON 30 RF Village
Jan. 2023 "Automated Antenna Calculation, Design and Tuning Tool for HFSS" First public mention of AntennaCAT in literature:
  • Ansys HFSS only automation, DIY integration
  • GUI interface
  • Integrated Antenna Calculator. Expands AntennaCAT from just Rectangular Patch parameter sweep
  • Batch data collection, report generation
  • Loading in existing scripts, automated parameter detection
  • Early ML attempts: SVM, Rule-Engine on the 3 topologies
Jan. 2023 "Generalized Machine-Learning Particle Swarm Optimization Antennas for CBRS" Demonstrated a binary grid-based genetic algorithm using an early version of an AntennaCAT branch called "GeneticCAT". This branch is not integrated into recent updates, but will likely be re-integrated after core features are released
June. 2023 "Patch Antenna Calculations and Fabrication Made Simple for Cyber Security Research" first educational conference publication of the Antenna Calculator
July 2023 "AntennaCAT: Automated Antenna Design and Tuning Tool"
  • Multi-EM simulation software unit testing started
  • binary grid-based genetic algorithm in official IEEE print
  • ML work: neural networks, Bayesian framework, fuzzy logic controller testing. rule-engines are being used, but they're highly restrictive. Looking for alternatives.
Jan. 2024 "Machine Learning Assisted Optimization Methods for Automated Antenna Design" Data mining the 60,000+ rectangular patch antenna parameter sweep data collection to create rule-engines, explore SVM, and work towards an on-line fuzzy logic controller. Features a repository with tutorials at 2024-URSI-NRSM-1265
July 2024 "Machine Learning Assisted Hyperparameter Tuning for Optimization"
  • First shift over to PSO as an optimizer.
  • Focusing on exploring regression-based machine learning model
  • Presentation was the first mention of the 12 optimizers being integrated into AntennaCAT and the focus to offline training for initial hyperparameter values based on known problem dimensionality
  • The expanded Objective Function Test Suite has been released to go with this paper
July/Aug 2024 The collection, update, and release of the optimizer variations being integrated into AntennaCAT. These optimizers are stand-alone, but use state machine logic so that they can be integrated into AntennaCAT or other simulation software automation processes. Why these optimizers? They were common in literature, some are experimental, and some are a little bit silly. AntennaCAT is meant to be expanded and experimental.
Aug. 2024 "Machine Learning Assisted Optimization for Calculation and Automated Tuning of Antennas" The dissertation on AntennaCAT, featuring documentation and references for the online, offline, and ML model dictionary choices.

Table 2: A Summary of Features from Major Code Releases

Version Documentation Reference Major Features
2024.0 Features from 2022, 2023

Getting Started


AntennaCAT is available as open-source software. In this case, that means:

  • The software is provided AS-IS. There's no professional team working on the AntennaCAT software, so it will likely have bugs as the features grow and we get through the early releases. However, AntennaCAT has been through enough testing for researchers and those wanting to do some experimenting.
  • The documentation is in-progress. AntennaCAT is a living project, so features may be a bit ahead of the documentation.
  • It's free. You pay nothing for AntennaCAT. You also do not need an account to download the latest version of AntennaCAT.
  • You shouldn't need an account to download ANY version of AntennaCAT, but stable-version hosting may be backed up on a different platform for redundancy.

You can contribute by:

  • Reporting bugs in the 'issues' tab at the top of the page.
  • Before doing so, see if you are experiencing a known issue by checking the Known Issues section on the Updates & Errata page. We may have a fix in progress!
  • Eventually we will be accepting community bug fixes and contributions

And with that, to get started ....

If you're familiar with GitHub, Python, and have a favorite Python-supporting IDE, you can download AntennaCAT from the main page and use the README to get started. It is recommended to check out the Documentation page for suggested Python versions and virtual environment settings.

If you're new to GitHub, coding (or just Python), or you just need a refresher, start with the Documentation page, and then check out some of the detailed tutorials linked there. General tutorials and documentation are also linked below.

Where Can I Find More Information?


Documentation

Full documentation starts on the Documentation page. This is the primary page for any information, guides, tutorials, or other references for the AntennaCAT repository.

Guides and Tutorials

Guides and Tutorials have their own page! While mentioned in the documentation, these pages are intended to be supplemental resources for users to explore and experiment with on their own.

Blog Pages

As part of the documentation process, informal blog posts will be released on LC-Linkous' project page. These include general use notes, small feature updates, and things not important enough to make it to the main documentation of the Wiki.

Check for the #antennacat tag!

Video Tutorials and Examples

Under construction!

Video tutorials and examples will be released after the first few code release updates. The primary documentation will always be the [Documentation page](Documentation) of the Wiki, but some things are simply easier to explain visually.

Publications and Related Projects


This section lists publications and presentations that on materials that have done into the development of AntennaCAT rather than an exhaustive list of all publications that used or mentioned AntennaCAT in early development.

Dissertation

This is the 2024 dissertation with documented work and current progress of AntennaCAT:

[1] L. Linkous, “Machine Learning Assisted Optimization for Calculation and Automated Tuning of Antennas,” VCU Scholars Compass, 2024. https://scholarscompass.vcu.edu/etd/7841/ (accessed Oct. 21, 2024).

Other Publications

AntennaCAT first appeared in these conference papers:

[2] 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. [Online:] https://ieeexplore.ieee.org/abstract/document/10043119

[3] E. Karincic, L. Linkous, and E. Topsakal , "Generalized Machine-Learning Particle Swarm Optimization Antennas for CBRS," 2023 United States National Committee of URSI National Radio Science Meeting (USNC-URSI NRSM), Boulder, CO, USA, 2023 https://www.usnc-ursi-archive.org/nrsm/2023/papers/1065.pdf. 1-page, non-indexed but presented.

[4] 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. [Online:] https://ieeexplore.ieee.org/abstract/document/10289238

The following papers were part of the data collection and ML work that went into what would become the Hyperparamter Prediction Network & Dictionary:

[5] L. Linkous and E. Topsakal, "Machine Learning Assisted Optimization Methods for Automated Antenna Design," 2024 United States National Committee of URSI National Radio Science Meeting (USNC-URSI NRSM), Boulder, CO, USA, 2024, pp. 377-378, doi: 10.23919/USNC-URSINRSM60317.2024.10464597. [Online:] https://ieeexplore.ieee.org/abstract/document/10464597

[6] L. Linkous, J. Lundquist, M. Suche and E. Topsakal, "Machine Learning Assisted Hyperparameter Tuning for Optimization," 2024 IEEE INC-USNC-URSI Radio Science Meeting (Joint with AP-S Symposium), Florence, Italy, 2024, pp. 107-108, doi: 10.23919/INC-USNC-URSI61303.2024.10632482. [Online:] https://ieeexplore.ieee.org/abstract/document/10632482

The Antenna Calculator was first debuted at DEF CON 30, and then as an ASEE-presented teaching tool:

[7] "DEF CON 30 RF Village - Erwin Karincic - Have a SDR? - Design and make your own antennas" PDF link, and Dollarhyde's AntennaCalculator

[8] 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

Supporting Repositories

The stand-alone CLI Antenna Calculator repository by Dollarhyde.

The Objective Function Test Suite is now public. A subset of these functions were used to collect data on optimizer performance.

Stand-Alone Optimizers:

Base Optimizer Alternate Version Quantum-Inspired Optimizer Surrogate Model Version
pso_python pso_basic pso_quantum
cat_swarm_python sand_cat_python cat_swarm_quantum
chicken_swarm_python - chicken_swarm_quantum
sweep_python *alternates in base repo - -
bayesian optimization_python - - *interchangeable surrogate models
included in base repo
multi_glods_python - -

Clone this wiki locally