用华为云码道实战:空调 60 分贝 + 冰箱 45 分贝 = 61.3 分贝,不是 105

发布时间:2026/10/14 17:40:40
用华为云码道实战:空调 60 分贝 + 冰箱 45 分贝 = 61.3 分贝,不是 105 空调 60 分贝 冰箱 45 分贝 61.3 分贝不是 105一键开通华为云码道 CodeArts 代码智能体 https://developer.huaweicloud.com/codeartsco.html?sourcedmzntgwatomgit1sourceaddmzntgwatomgithd先说这东西是什么一个零依赖的单页网页。你把家里几台电器的标称声级输进去它告诉你同时开到底有多吵、比最响的那台高多少、离居住区昼间限值还差多少。仓库在 atomgit.com/yl4928/decibel-sumMIT双击 index.html 就能跑。为什么做这个夏天晚上我家同时开着空调、冰箱和空气净化器。说明书上分别写着 60、45、55 分贝。我随口跟家里人说这三台加起来一百多分贝那不就是飞机起飞了说完自己也觉得不对——要是真有一百多分贝我们早该戴耳塞了。那到底是多少说明书不会告诉你因为这个问题没有加法的答案。分贝是对数单位三台机器同时响声级不是 160也不是 60而是61.3。比最响的那台空调只高了 1.3 分贝。这个结论反直觉到值得做个工具它意味着只要有一台明显更响的机器在响你再怎么加安静的机器都几乎没变化。想安静只能动那台最响的。分贝为什么不能相加分贝的定义是对数Li 10·log10(Ei/E0)反过来 Ei E0·10^(Li/10)。声音叠加的是能量不是分贝值。所以合成声级必须是L总 10 · log10( 10^(L1/10) 10^(L2/10) ... )把这条式子展开几个结论立刻出来两台 60 dB - 63.010299957 3.01 dB不是 60 十台 55 dB - 65.000000000 10 dB 60 dB 和 70 dB - 70.413926852 几乎就等于 70那台 60 的白响了 60 / 45 / 55 - 61.296417 我家那个组合最后一条里那个60 和 70 相加几乎还是 70就是全部答案相差 10 dB 的两个声源弱的那个只贡献 0.41 dB人耳完全听不出来。先跑起来看界面上是一台一台往里加的清单每加一台立刻重算。除了合成值我特意放了两个打脸行「直接相加会得到 160.0 dB多了 98.7 dB」「最响那台 60.0 dB · 叠加后只抬高 1.3 dB」第一行是给分贝能加这个直觉准备的解药第二行才是真正有用的结论。下面那张表是我最想让普通人看到的东西——同样 60 分贝的机器你叠几台会怎样台数 合成声级 dB 比一台响多少 1 60.0 0.0 2 63.0 3.0 4 66.0 6.0 8 69.0 9.0 16 72.0 12.0 32 75.1 15.132 台才多 15 分贝。这就是为什么我买两台静音款叠一起会不会更吵这个问题答案通常是几乎不会。白色系这一批三篇统一白色系。这一篇的强调色是深青 #1f6f6b只出现在主数字、进度条、表头下边框和聚焦态警示色 #b3261e 只在超过限值那一行和超标进度条上出现。禁止阴影、渐变、动画、canvas全部内联file:// 双击可跑。观感目标就是一张打印出来的检测记录单。提示词钉到函数级码道这种工具你给它做个分贝计算器它会给你一个把分贝相加的计算器。所以规格必须写到表达式级别1) energyOf(L) 声能比 Math.pow(10, L / 10) 2) sumLevels(list) 合成声级 10 * Math.log10(list 各项 energyOf 之和) 空数组返回 Number.NEGATIVE_INFINITY 5) leq(segments) 时间加权等效声级segments 形如 [{ level: 60, hours: 4 }] 10 * Math.log10( Σ(hours_i × energyOf(level_i)) / Σ hours_i ) 6) distanceLevel(L1, r1, r2) 点声源自由场距离衰减 L1 - 20 * Math.log10(r2 / r1)第一句永远是禁止在对话里贴任何代码正文。你的输出只能是仓库里的文件。护城河这一批我不再依赖国标 PDF上一批做热水器那篇时我吃过一个亏把温升 25K这个关键数值挂在 GB 6932 上但那台机器取不到标准全文评审一问就只能写成公开转载口径。所以这一批我换了打法——锚点全部放在纯数学上标准值只作为用户可改的输入。分贝的好处是它的规则本身就是定义式不需要任何外部真值。我写了一份独立参考实现特点是连超越函数都不跟被测方共用π Machin 公式 16·arctan(1/5) - 4·arctan(1/239) ln(x) 先用 2 的幂归一到 [0.5,2]再用 2·artanh((x-1)/(x1)) 级数 exp(x) 参数约化到 |y|1 做泰勒再连乘还原 全程 BigInt 定点比例尺 10^30只有整数运算只有常数自检对上之后我才拿它去判码道的实现pi 3.141592653590 (与 Math.PI 一致) ln2 0.693147180560 log10(2) 0.301029995664 exp(-14) 0.000000831529 (相对差 1e-15 量级)然后跑差分除了逐点比对还钉了三条性质断言它们不需要我预先知道答案顺序无关 洗牌 20 次后 sumLevels 结果不变固定种子线性同余不许用 Math.random 结合律 pairSum 逐个归并 一次性合并 上下界 max(L) sumLevels(L) max(L) 10·log10(n)限值那一行我是怎么处理取不到一手标准的界面上有一条对照 1 类居住区昼间 55 dB。这个 55 来自 GB 3096《声环境质量标准》。我在这台机器上没能取到该标准的可访问全文只拿到公开转载。我的处理是不把它做成硬编码的真理做成一个可切换的下拉框0 类昼 50 / 1 类昼 55 / 2 类昼 60 / 3 类昼 65 / 4 类昼 70并在页脚和 README 里明写该分类限值表本次未取到可访问的一手全文数值取自公开转载用户应以本地生态环境部门公布的区划为准。这样做的代价是界面多一个下拉框好处是没人能指着我的数字说你依据不成立——因为我从来没说它成立我只说它是参考输入。这一轮我自己踩的坑差分脚本第一次跑直接卡死。我写div(fromNum(level), 10n)想算 L/10但我的div(a,b) a·S/b是给定点÷定点用的把普通整数 10 当定点数除结果指数被放大成 10⁵⁸exp的参数约化循环要跑 10⁵⁸ 次。表现是脚本静默挂住一点错误都不报。定点数除以普通整数应该直接用/。同一个库函数我又错了一次。mul(10n, log10(x))想表达10 乘 log10但 10n 不是定点数乘完再除以比例尺所有合成声级全变成 0。第一次跑差分报了 20 条分歧——而且报错方向很有意思是我的参考实现全 0被测方是对的。如果我没先看一眼分歧内容就会拿着 20 条假分歧去质问码道。7.3 KB 的转录轮直接空转。我把自包含的差分脚本数学库驱动合并成一个文件让码道原样落盘它跑到正文 19 万字还不动。停掉改用精简版去掉注释、默认轮数调小压到 6.7 KB一次过。配额又见底一次。README 那轮跑到一半回「当前模型配额不足」换 OpenPangu-2.0-Pro 重发即可仓库没受影响。最该批评的是我自己写错了一句文案。README 初稿我写三台约 61.5 dB比最响那台高 1.5 dB——那是我脑子里把另一组输入50/55/60 61.511串到了这组60/45/55 61.296上。发出去之前我拿引擎跑了一遍才发现改成 61.30 和 1.30。写文章时随手引用的数字必须回头用代码验一遍不能靠记忆。提效数据轮次交付结果R1src/engine.js 8 个函数 14 条锚点一次过R2package.json 7 个测试一次过R37.3 KB 差分脚本落盘空转停R4index.html 白色系单页一次过控制台干净R5README LICENSE第一次配额中断换模型后一次过R66.7 KB 差分脚本落盘待跑机器时间加起来不到 20 分钟但我自己写错锚点、写错文案花掉的时间比这多。已知边界不粉饰声能相加只适用于互不相关的噪声源。两台同型号机器如果存在固定相位关系比如同一转轴带动叠加可能出现干涉实际值会偏离。界面所有 dB 都按 A 计权声级理解但工具本身不做 A/B/C 计权换算——输入是什么计权输出就是什么计权。距离衰减用的是自由场点声源公式混响房间里不适用室内远处衰减接近 6 dB/倍距离只在近场自由场成立。不做职业噪声暴露评价那是 85 dB/8h 那套规则与居住区限值不是一回事。55 dB 那条参考线的标准全文没取到一手已按上面那节说明处理。给出的数字不能替代声级计实测。再补两个能当场验的结论前面都在说叠加另一半问题是距离。点声源在自由场里随距离按 20·log10 衰减L2 L1 - 20 · log10(r2 / r1) 65 dB 1 m - 58.98 dB 2 m 每翻倍距离 -6.02 dB - 52.96 dB 4 m - 45.00 dB 10 m这条我的定点参考实现和被测实现逐点对过r1 从 0.05 到 9.95、r2 从 0.05 到 9.05 的组合加上从 r1 走到 r2 再走回来必须等于原值的可逆断言全部落在 1e-9 内。还有一个日常更有用的量声音忽大忽小一段时间平均下来是多少即时间加权等效声级 LeqLeq 10 · log10( Σ(t_i · 10^(L_i/10)) / Σ t_i ) 60 dB 响 4 小时 40 dB 安静 4 小时 - Leq 57.03 dB注意是 57.03不是算术平均 50。那 4 小时的 60 dB 贡献了几乎全部能量——声能平均是偏科的响的那段说了算。白天吵一会儿没关系这个直觉并不牢靠。顺带一条界面能直接演示的性质把参考限值从 1 类昼 55 切到 2 类昼 60判定和配色会同步翻转但合成声级一个数都不变。限值是你的输入不是我的结论。交付回执长什么样每一轮我都要码道只回三样git log 一行、锚点逐条 PASS/FAIL、npm test 末尾几行不许贴代码正文。这个约束是被逼出来的。上一批我有一次漏写那句它选择在对话里给我讲一遍代码一路讲到模型输出上限一个文件都没建。仓库与证据文件差分脚本 6.7 KB 是本地跑通之后原样转录进仓库的上一版 7.3 KB 那次它空转了去掉注释、把默认轮数调小才压下来。落盘之后我重新 clone 一遍在仓库目录里直接跑$nodeevidence/diff.mjs 跨实现断言11069次分歧0条这一步不能省。本地跑通不等于仓库里跑通——相对路径、默认参数、被 import 的位置任何一个都能让证据变成摆设。3 分贝和 10 分贝不是一回事用这个工具多按几下会发现两个刻度特别关键值得单独说清因为它们经常被混用能量翻倍 3.01 dB 两台一样的机器 vs 一台 听起来约翻倍 ≈ 10 dB 这是主观响度的经验规律不是物理定律左边那条是纯数学10·log10(2) 3.0103我的定点实现和引擎逐位对上。右边那条是心理声学的经验结论不同文献给的是 8~12 dB 区间所以我没有把它写进任何公式只是在这里说明为什么加了六台机器7.8 dB你还是觉得没吵多少。这就是这类工具最容易失手的地方把物理量、感知量、法规限值三样东西混成一锅。我的分工是——物理量进引擎可验证感知量只写在文字里标明是经验法规限值进输入框可由你改。我怎么判断一个可验证是不是真的可验证这批三个项目我给自己定了一条检验标准如果我把被测实现里任意一个常数改错 2%我的验证体系必须立刻变红。拿分贝这条试一下把 sumLevels 里的 10 改成 11锚点立刻崩把 energyOf 里的 /10 改成 /12锚点也崩但把限值 55 改成 56什么都不会发生——因为限值本来就不参与计算它是输入。这就是对的分工。上一批做热水器那篇时评审用同样的思路做了变异测试把密度表里 40℃ 的值改错 2%十个用例全绿——说明那张表没被锚定测试是假的。这一批我把三个项目所有查表值和常数都逐个 assert 到字面量就是被那次教训逼出来的。三篇的关系这一批三篇分贝叠加、流明到照度、咖啡因残留用的是同一份定点数学库、同一套提示词纪律、同一条检验标准。区别只在物理量分贝 对数叠加 10·log10(Σ10^(L/10)) 验证靠顺序无关与上下界 照度 几何衰减 E I·cosθ/r² 验证靠闭式 vs 环带积分收敛 咖啡因 指数衰减 C0·2^(-t/t½) 验证靠闭式 vs RK4 与串联性三个都是网上搜得到大约值、搜不到可复算过程的问题。这也是我选题的唯一标准不是它新不新奇是我下次还会不会再算一遍。这工具能替你做的三个决定不是知道一个数而已实际会撞上的三个场景一买之前看铭牌就能预判。商品页只给噪音 62 dB。把它和家里已有的几台一起填进页面就知道再买一台其实听不出来合成只抬 0.7 dB还是这台会成为新的天花板超过现有最大值就得重算。二判断家里这点噪音在标准里算什么位置。1 类区昼间 55 dB 是环境侧的数。三台典型家电合成 61.3 dB已经越过那条线——但这条线管的是区域声环境不是你家客厅所以真正的用途是给你数量感而不是给你结论。困扰你的如果是低频嗡嗡声或突发撞击声那不在本模型里。三摆放。距离每翻倍 -6.02 dB这条比换静音款便宜得多。外机从 1 米挪到 2 米效果超过把标称 65 dB 换成 62 dB 的型号——而挪位置不花钱。三个决定的共同点是都需要一个能改输入的算法而不是一篇给结论的文章。本地怎么跑gitclone https://atomgit.com/yl4928/decibel-sum.gitcddecibel-sumnpmtest# 零依赖7 个用例nodeevidence/diff.mjs# 定点参考实现 vs 引擎1 万多次跨实现断言# 界面双击 index.html写在最后这一篇真正的收获不是那个网页是我换了护城河的打法。上一批我把可信度押在我能引用国标上结果标准全文取不到只能写公开转载。这一批我把可信度押在规则本身是定义式上——分贝怎么叠加这是数学不需要任何机构背书任何人拿我那份定点实现都能复算包括我那个连 π 都用 Machin 公式自己算的部分。标准值该退到它该在的位置作为用户可改的输入而不是我替你相信的真理。本工具用于理解分贝的叠加规律不构成职业噪声暴露评价或环境执法依据涉及职业健康请以具备资质的检测为准。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询