-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Welcome to the AntennaCAT wiki!
Current AntennaCAT Version: 2024.0
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?
- Past Releases
- Getting Started
- Where Can I Find More Information?
- Publications and Related Projects
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
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:
|
| 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" |
|
| 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" |
|
| 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. |
- see the list of publications for full publication information
Table 2: A Summary of Features from Major Code Releases
| Version | Documentation Reference | Major Features |
|---|---|---|
| 2024.0 | Features from 2022, 2023 |
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.
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 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.
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!
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.
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.
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).
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
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 | - | - |
Navigation
- What's New
- What is AntennaCAT
- Code Releases
- Getting Started
- Where Can I Find More Information
- Publications and Related Projects
- Official Releases
- Electromagnetic Simulation Software Licenses
- Quick Start Guide
- Downloading and Running AntennaCAT
- Using AntennaCAT
- Associated Repositories
- Publications and Related Projects