Skip to content

tan-1125/ANNSA

Repository files navigation

ANNSA Reproduction Package

本压缩包整理了宽带贴片天线 ANN + Simulated Annealing 复现实验中生成的代码、数据集、模型权重、优化结果、HFSS 验证结果、图片和说明文档。目标是让该工程可以在另一台电脑上继续训练、预测、优化和复核主要结果。

打包日期:2026-06-08

研究目标

本工程复现并扩展论文 Hybrid Method of Artificial Neural Network and Simulated Annealing Algorithm for Optimizing Wideband Patch Antennas 的核心流程:

HFSS 参数化样本数据
  -> ANN 正向代理模型训练
  -> 分块 ANN 与不分块 ANN 对比
  -> ANN + SA 模拟退火搜索最优天线参数
  -> HFSS/AEDT 全波仿真验证
  -> 结果表格、曲线图和误差分析

原始论文 PDF 未包含在本包中。对外发布时请根据论文版权和数据授权要求自行补充引用信息。

目录结构

ANNSA/
  README.md
  requirements.txt
  dataset/
    ANNSA.csv
  ANNSA_ANN_Training/
    code/
    result/
    README.md
  HybridANNSA_Optimization/
    code/
    result/
    README.md
  HybridANNSA_HFSS_Validation/
    code/
    result/
    aedt_projects/
    README.md
  ANN_Vision/
    code/
    result/
    HFSS_Validation/
    README.md

数据集

主数据文件:

dataset\ANNSA.csv

数据格式为 HFSS 导出的长表,每一行对应一个天线参数组合在一个频点上的 S11 结果:

列名 含义
dY [mm] 馈电或结构偏移参数,代码中也记为 YdY
L1 [mm] 天线结构参数 L1
L2 [mm] 天线结构参数 L2
Wp [mm] patch 宽度参数 Wp
Freq [GHz] 频率点
dB(S(1,1)) [] HFSS 仿真的 S11,单位 dB

当前数据集包含 49,241 行、1,201 个唯一参数组合,频率范围为 8 到 12 GHz,步长 0.1 GHz。其中 1,200 个参数组合对应初始训练样本网格,另有 1 个额外/基准参数组合用于外部验证。

环境依赖

推荐使用 Conda 或虚拟环境:

conda create -n annsa python=3.9 -y
conda activate annsa
pip install -r requirements.txt

本机已验证环境:

Python: 3.9
PyTorch: 2.8.0+cu126
CUDA: 12.6
GPU: NVIDIA GeForce RTX 4060 Laptop GPU
numpy: 2.0.1
pandas: 2.3.3
scikit-learn: 1.6.1
matplotlib: 3.9.4
joblib: 1.5.3
pyaedt: 0.17.5

如果只训练 ANN、运行 SA 和生成图片,不需要安装 Ansys AEDT。只有 HybridANNSA_HFSS_Validation 需要本机安装 Ansys Electronics Desktop 并拥有可用许可证。

快速复现顺序

在解压后的 ANNSA 根目录运行:

cd path\to\ANNSA
python ANNSA_ANN_Training\code\check_environment.py

1. 处理数据

python ANNSA_ANN_Training\code\prepare_data.py

输出位置:

ANNSA_ANN_Training\result\processed

2. 训练 ANN 模型

论文风格模型:

python ANNSA_ANN_Training\code\train_torch_anns.py --preset paper

推荐使用的改进模型:

python ANNSA_ANN_Training\code\train_torch_anns.py --preset improved --result-dir ANNSA_ANN_Training\result\improved

训练结果包含:

ANNSA_ANN_Training\result\models
ANNSA_ANN_Training\result\improved\models
ANNSA_ANN_Training\result\plots
ANNSA_ANN_Training\result\improved\plots
ANNSA_ANN_Training\result\ANNSA_torch_metrics_summary.csv
ANNSA_ANN_Training\result\improved\ANNSA_torch_metrics_summary.csv

3. 单点预测

示例:

python ANNSA_ANN_Training\code\predict_torch.py --l1 13.4875 --l2 0.9918 --y 6.9583 --wp 23.4 --model auto

4. 运行 ANN + SA 优化

推荐运行离散 Wp 搜索:

python HybridANNSA_Optimization\code\run_hybrid_annsa.py --wp-mode discrete --result-dir HybridANNSA_Optimization\result\discrete

主要输出:

HybridANNSA_Optimization\result\discrete\HybridANNSA_optimization_summary.csv
HybridANNSA_Optimization\result\discrete\plots
HybridANNSA_Optimization\result\discrete\curves
HybridANNSA_Optimization\result\discrete\traces

5. 生成 ANN 对比图片

python ANN_Vision\code\generate_ann_vision.py

输出位置:

ANN_Vision\result

包括分块 ANN 与不分块 ANN 的量化评分、论文风格对比图和数据分块图。

6. HFSS 全波验证

这一部分需要 Ansys Electronics Desktop 2023 R1 或兼容版本。

python HybridANNSA_HFSS_Validation\code\run_hfss_validation.py --skip-existing

脚本会读取:

HybridANNSA_HFSS_Validation\code\hfss_cases.csv

并输出:

HybridANNSA_HFSS_Validation\result\HybridANNSA_HFSS_validation_summary.csv
HybridANNSA_HFSS_Validation\result\s11_exports

注意:原始工程在开发机上的位置为:

D:\Adapted Antenna\ANN_SA aedt_projects\Project1.aedt

为了避免中文路径导致 AEDT 自动化不稳定,验证脚本会在开发机上使用纯英文工作路径:

D:\Adapted Antenna\HybridANNSA_HFSS_Work

本包内已经包含求解后的 AEDT 工程副本:

HybridANNSA_HFSS_Validation\aedt_projects\Project1_hfss_validation_solved.aedt

7. 生成 ANN 与 HFSS 对比图片

python ANN_Vision\HFSS_Validation\code\generate_hfss_validation_vision.py

输出位置:

ANN_Vision\HFSS_Validation\result

当前关键结果

HFSS 验证结果:

case_id HFSS -10 dB 频带 中心频率 相对带宽 最小 S11
base_antenna2 9.2 到 10.9 GHz 10.05 GHz 16.92% -20.10 dB
sa_discrete_9GHz 8.0 到 9.4 GHz 8.70 GHz 16.09% -21.84 dB
sa_discrete_10GHz 9.5 到 10.6 GHz 10.05 GHz 10.95% -32.03 dB
sa_discrete_11GHz 10.4 到 11.8 GHz 11.10 GHz 12.61% -33.02 dB

ANN 与 HFSS 曲线误差:

case_id ANN 模型 曲线 MAE 曲线 RMSE 中心频率误差
base_antenna2 ANN_2 2.70 dB 4.43 dB +0.35 GHz
sa_discrete_9GHz ANN_2 1.48 dB 2.15 dB +0.30 GHz
sa_discrete_10GHz ANN_3 0.56 dB 0.86 dB -0.05 GHz
sa_discrete_11GHz ANN_1 0.58 dB 0.86 dB -0.10 GHz

结论:

10 GHz 和 11 GHz 优化案例已经完成较高质量的 ANN + SA + HFSS 闭环验证。
9 GHz 案例满足 -10 dB 带宽,但 HFSS 中心频率偏低到 8.70 GHz,建议后续局部补样或做目标频率校正。
base_antenna2 可作为 HFSS 基准,但其 L1=19 mm 超出当前 ANN 训练主范围,因此 ANN 外推误差较大。

推荐展示图片

ANN_Vision\result\ANNSA_fig4_like_improved_blocked_vs_unblocked.png
ANN_Vision\result\ANNSA_fig5_like_data_blocks.png
ANN_Vision\HFSS_Validation\result\ANN_vs_HFSS_summary_bars.png
ANN_Vision\HFSS_Validation\result\case_plots\sa_discrete_10GHz_ann_vs_hfss.png
ANN_Vision\HFSS_Validation\result\case_plots\sa_discrete_11GHz_ann_vs_hfss.png

复用建议

若要继续提高复现质量,建议优先做两件事:

  1. 围绕 sa_discrete_9GHz 的 HFSS 结果补充局部样本,重新训练或微调 ANN,使 9 GHz 中心频率更准确。
  2. 补充 L1=15 到 20 mm 附近样本,使 ANN 能覆盖论文 Antenna 2 附近的外推区域。

对外提供前检查

对外共享前建议确认:

1. 数据集可以公开或已经脱敏。
2. AEDT 工程文件不包含机构私有路径或敏感信息。
3. 根据目标期刊或课程要求补充论文引用、作者、单位和许可证。
4. 若接收方没有 Ansys AEDT,可只运行 ANN、SA 和可视化部分。

About

ANN + Simulated Annealing reproduction package for wideband patch antenna optimization

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages