1. 为什么单独看过孔的频域表现
高速 PCB 的互连路径不只有走线。信号经过层间转换时,过孔几何、板层关系、参考平面和材料参数都会参与形成过渡结构。若评估目标频段内的反射或传输情况,单独记录一个静态阻抗值未必能回答所有问题。
SimPCB Lite 1.1把过孔纳入频域计算,可查看过孔的一般频率参数,并计算 S 参数。它提供的是结构级分析依据:帮助工程师观察选定模型和输入条件下的过孔表现,再决定是否调整几何或继续做更完整的链路验证;不能直接等同于整板全波仿真或 SI 签核。
2. SimPCB Lite 1.1 新增的过孔分析能力
Eremex 于 2026 年 10 月 8 日发布 SimPCB Lite 1.1。官方发布说明列出两类过孔频域结果:
- 一般参数:特性阻抗、电阻、电感、电容、电导、衰减、延迟和有效介电常数等。
- S 参数:用于从频率维度观察过孔作为传输路径组成部分时的反射与传输表现。
3. 建模前先整理输入条件
建议先从目标板卡和板厂资料确认以下信息,再进入计算:
| 输入项 | 需要确认的内容 |
|---|---|
| 过孔结构 | 选择与实际层间连接相符的模型;确认通孔或其他过渡形式 |
| 板层关系 | 起止层、参考平面及过孔经过的层关系 |
| 几何参数 | 孔径、焊盘/反焊盘等模型所需尺寸,以实际叠层约束为准 |
| 材料参数 | 介质与导体参数,记录数据来自板厂资料还是项目假设 |
| 分析条件 | 目标频率及端口/参考条件,以及所选分析类型 |
可用参数会随所选模型与版本界面而变化。若数据来自估算或默认值,应标为假设;不要把默认材料或几何参数写成目标 PCB 的实际工艺参数。
4. 建议的分析步骤
以下按产品发布说明与公开文档中项目、模型、计算和结果的组织方式整理。由于 1.1 的过孔频域功能刚发布,具体菜单名称和输入项应以当前安装版本界面为准。
- 建立项目并选择过孔模型:为一个候选过孔建立独立模型,按目标板的层间关系和几何输入参数。
- 选择问题对应的计算类型:关注电气参数变化时选择一般参数;关注反射/传输表现时选择 S 参数计算。
- 核对边界条件再运行:检查材料、频率、单位、端口和参考条件;做方案对比时尽量保持非比较变量一致。
- 查看表格和图形结果:关注频率变化下的趋势,不把单个频点或单个指标作为完整结论。
- 记录并复核候选方案:分别保存输入条件与输出结果;需要进一步分析时,可按官方支持的结果导出方式保存计算数据,再结合完整互连链路和板厂能力复核。


5. 用 Python 绘制整理后的 S 参数曲线
下面的代码模板假设结果表包含 S11 与 S21 的复数实部/虚部。CSV 列名是用户整理后的示例格式,不是 SimPCB Lite 固定导出列名,也不表示所有模型都会提供同一组 S 参数;如果结果表提供的是其它 Sij 项,应相应修改列名。若结果以幅值/相位或 dB 形式显示,需先按其单位转换,或改写读取部分。
依赖:pandas、numpy、matplotlib。
准备 via_sparams.csv,包含 frequency_hz、s11_real、s11_imag 列;若结果表还提供 S21,再加入 s21_real、s21_imag列。
按实际列名编辑脚本并保存为 plot_via_sparams.py
python
from pathlib import Path
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data_path = Path("via_sparams.csv")
df = pd.read_csv(data_path)
required = {"frequency_hz", "s11_real", "s11_imag"}
missing = required.difference(df.columns)
if missing:
raise ValueError(f"缺少列: {sorted(missing)}")
s11 = df["s11_real"].to_numpy() + 1j * df["s11_imag"].to_numpy()
floor = 1e-15 # 防止对数计算遇到零;不是测量阈值
df["s11_db"] = 20 * np.log10(np.maximum(np.abs(s11), floor))
df = df.sort_values("frequency_hz")
plt.figure(figsize=(9, 5))
plt.plot(df["frequency_hz"] / 1e9, df["s11_db"], label="S11 (dB)")
if {"s21_real", "s21_imag"}.issubset(df.columns):
s21 = df["s21_real"].to_numpy() + 1j * df["s21_imag"].to_numpy()
s21_db = 20 * np.log10(np.maximum(np.abs(s21), floor))
plt.plot(df["frequency_hz"] / 1e9, s21_db, label="S21 (dB)")
plt.xlabel("Frequency (GHz)")
plt.ylabel("Magnitude (dB)")
plt.title("Via S-parameters")
plt.grid(True, alpha=0.3)
plt.legend()
plt.tight_layout()
plt.savefig("via_sparams_review.png", dpi=160)
plt.show()
脚本只负责把输入数据画成曲线。S11、S21 的解读需要结合端口定义、参考阻抗、频率范围和项目指标;图上没有自动判定"通过/不通过"的阈值,也没有本文实测数据。
6. 结果边界与复核建议
- 计算结论对应所选过孔模型和输入条件,材料或几何参数错误会影响结果。
- 过孔模型不包含完整板卡中所有相邻走线、器件封装、连接器、平面开槽和耦合网络。
- 单独过孔的 S 参数不能证明系统眼图、误码率、EMC 或量产指标合格。
- 对关键链路,应继续结合器件/封装模型、板厂叠层、完整通道仿真和实物测量,并保留各自适用范围。
7. 产品与代理服务信息
SimPCB Lite 由 Eremex 开发。慧都科技成立于 2003 年,是一家行业数字化解决方案公司,长期服务软件、油气与制造领域;公开介绍显示,其业务覆盖业务咨询、方案规划、系统实施与持续优化,并拥有软件研发管理、油气数字化和制造业管理等行业实践。
慧都代理 SimPCB Lite,面向中文用户提供产品介绍、需求沟通、选型咨询与授权采购对接。开发商为 Eremex;慧都承担产品代理与商务沟通角色,具体许可范围、交付和服务内容以慧都 SimPCB Lite 商品页及实际合同为准。