光纤链路功率预算计算器|制造业通用工具
这个工具解决什么问题
成本核算的分摊方式一变,结论就变。这工具把分摊口径写成参数。
一条光链路能不能通、余量够不够,靠的是链路预算。但现场最容易漏的正是连接器数量、熔接点数量与老化余量——漏一项余量就虚高几个 dB,装完才掉线。本工具把损耗逐项拆开,缺多少就反算「还能加多少公里」或「该减几个连接器」。
输入数据格式
数据文件 fiber_budget_sample.csv,列顺序为:link_id、wavelength_nm、tx_power_dBm、rx_sensitivity_dBm、length_km、atten_dB_per_km、conn_count、conn_loss_dB、splice_count、splice_loss_dB、aging_dB、extra_dB、required_margin_dB。
示例首行:LINK-A-10km,1310,0.0,-24.0,10.0,0.33,4,0.3,10,0.08,1.5,1.0,3.0
示例输出(真实运行结果节选)
==========================================================================================================
光纤链路光功率预算与余量计算报告
==========================================================================================================
口径:总损耗 = 光纤 + 连接器 + 熔接 + 老化与其他 ;接收功率 = 发射 - 总损耗 ;余量 = 接收功率 - 接收灵敏度
----------------------------------------------------------------------------------------------------------
【LINK-A-10km】1310 nm,长度 10.00 km,发射 0.00 dBm,灵敏度 -24.00 dBm,要求余量 3.0 dB
----------------------------------------------------------------------------------------------------------
损耗分解:
光纤衰减 3.30 dB (10.00 km × 0.330 dB/km)
连接器 1.20 dB (4 个 × 0.30 dB)
熔接点 0.80 dB (10 点 × 0.080 dB)
老化与附加 2.50 dB (老化 1.50 + 附加 1.00)
------------------------------------
合计 7.80 dB
接收光功率 = -7.80 dBm(0.1660 mW);系统余量 = 16.20 dB
光纤衰减判定:✅ 每公里衰减在常见限值内
余量判定:✅ 通过(余量 16.20 dB ≥ 要求 3.0 dB,富余 13.20 dB)
----------------------------------------------------------------------------------------------------------
【LINK-B-40km】1550 nm,长度 40.00 km,发射 3.0
一句话
把连接器、熔接点、老化余量都算进去,得出真实系统余量。
运行环境与快速开始
纯 Python 标准库,零第三方依赖,Python 3.8+ 开箱即跑。
python fiber_power_budget.py # 首次运行会用同目录的示例数据跑出报告 python fiber_power_budget.py 你的数据.csv # 需要时可在脚本内改成读取自己的文件
运行后在控制台打印完整中文报告,并写出 示例输出报告.txt。
输入数据格式
CSV 列为:link_id、wavelength_nm(1310/1550)、tx_power_dBm、rx_sensitivity_dBm、length_km、atten_dB_per_km、conn_count、conn_loss_dB、splice_count、splice_loss_dB、aging_dB、extra_dB、required_margin_dB
同目录的 fiber_budget_sample.csv 即为可直接运行的示例数据。
输出说明
① 每条链路的损耗分解(光纤/连接器/熔接/老化与附加);② 接收光功率与系统余量;③ 光纤每公里衰减是否超常见限值;④ 不通过时的最大可用长度反算;⑤ 汇总表与工程提醒
算法口径(关键公式)
总损耗 = 长度×每公里衰减 + 连接器数×连接器损耗 + 熔接点数×熔接损耗 + 老化 + 附加;接收功率 = 发射功率 − 总损耗;余量 = 接收功率 − 接收灵敏度;最大长度 = (发射 − 灵敏度 − 非光纤损耗 − 要求余量) / 每公里衰减。
参数与调整点
· required_margin_dB:工程常用 3 dB;室外或温差大的链路建议提到 4~5 dB。 · 带分光器的 PON 链路要把分光比损耗(1:8 约 10.5 dB)计入 extra_dB。 · 接收灵敏度请填「BER=1e-12 的最坏值」,不要填典型值。
常见误判与注意事项
1. 现场每多一个法兰盘(连接器对)就多吃 0.3~0.5 dB,机柜里绕两圈可能吃掉 4 dB。 2. 熔接点数量在长链上动辄几十个,按 0.08~0.10 dB/点估,漏算会直接吃掉几个 dB 余量。 3. 老化余量要分别考虑发射端老化与光纤老化,合起来常取 1.5~3 dB。 4. 余量异常的链路优先复测 OTDR,把实际段衰减与事件损耗落表再回头核预算。
附赠
· 附赠提示词.txt:3 条同主题 AI 提示词,可直接投喂给任意大模型继续扩展分析。
可调参数与计算口径
脚本顶部集中了主要阈值与常量:CSV_NAME="fiber_budget_sample.csv"、REPORT_NAME="示例输出报告.txt"。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:fiber_budget_sample.csv、示例输出报告.txt。
脚本里的主要处理步骤
make_sample():三条链路:10 km 短链、40 km 中继链、80 km 长链(余量不足,用于演示反算)。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 光纤链路光功率预算与余量计算报告
- 损耗分解:
- 光纤衰减 %7.2f dB (%.2f km × %.3f dB/km)
- 连接器 %7.2f dB (%d 个 × %.2f dB)
- 熔接点 %7.2f dB (%d 点 × %.3f dB)
- 老化与附加 %7.2f dB (老化 %.2f + 附加 %.2f)
- 合计 %7.2f dB
- 接收光功率 = %.2f dBm(%.4f mW);系统余量 = %.2f dB
- 光纤衰减判定:✅ 每公里衰减在常见限值内
- 总损耗(dB)
- 接收(dBm)
- 余量(dB)
- 要求(dB)
- ✅ 通过
- 工程提醒:
- 一并计入,否则预算会差一个数量级。
- [已输出] %s
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:fiber_power_budget.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 13 列:link_id、wavelength_nm、tx_power_dBm、rx_sensitivity_dBm、length_km、atten_dB_per_km、conn_count、conn_loss_dB。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 %s 等部分组织,其中判定结论与建议部分直接对应下一步动作。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。





