行吧。”
“你狠!”
“不就是做减法嘛,好说!”
江夏看着面前的草稿纸,没有立刻重新动笔,而是先闭眼回想了一遍刚才的推演过程。
思路本身没错,衰减补偿的核心逻辑也通。真正的问题出在:他为了迁就几千晶体管的硬件预算,图省事把本该由实时反馈闭环完成的动态校正,强行压缩成了一张静态分段查找表
静态表在理想环境、小入射角下跑得通,可一旦接入真实的天线链路,信号本身的微小扰动、蒙皮介质在大角度下的非线性损耗,都会被查找表的离散采样步长逐级放大。误差叠着误差,最终在高频段形成正反馈谐振,直接把整条补偿曲线推到了失控边缘。
说到底,这小子脑子里装的是后世的算法库,那些算法是为集成度达到数十亿晶体管的芯片设计的,浮点运算随便跑,矩阵运算随便堆。但现在他手里的家底,集成度仅仅是几千个晶体管,没有浮点运算单元,没有硬件乘法器,连除法都得用移位和加减法来模拟。
本小章还未完,请点击下一页继续阅读后面精彩内容!
这就好比开惯了跑车的人突然被塞了一辆牛车,路线是熟的,但每一步都得按牛车的脚程重新规划。
“静态表不行……那就给它留个活的尾巴。”江夏重新拿起铅笔,在草稿纸背面画了一个极简的闭环反馈回路。
“主体还是靠定点迭代算主补偿量,再加一路峰值检测做微调,门电路占比压到百分之十以内,不占多少资源。让算法自己跟自己较劲去。”
核心思路定了,剩下的就是水磨功夫。
他推倒了原先的矩阵运算框架,把所有浮点计算全部转换成定点缩放运算,设计了动态缩放因子防止溢出。
将整块补偿算法拆解为逐次逼近的迭代结构,每算一步就用当前近似值回代校验,反复迭代直到误差收敛到可接受范围。
这是标准的“用时间换空间,用迭代换精度”!
后世几行代码就能搞定的事,现在要拆成几十步汇编级的运算步骤,每一步都要反复权衡:寄存器容量够不够,运算精度能不能达标,晶体管预算超没超。多一级运算就多一分延迟,少一步迭代就差一截精度,全程都在走钢丝。
草稿纸一张接一张地写满。
从蒙皮介质的衰减系数模型,到定点数的位宽分配;从迭代收敛的步数控制,到反馈回路的增益参数;从溢出保护的截断逻辑,到门电路的资源预算……
江夏埋着头写写画画,铅笔在纸上擦了又改、改了又画,指尖都蹭上了淡淡的铅灰。
就算有着虚拟空间内排除故障的大黄帮忙,他中间还是卡了两次壳。
一次是反馈深度没调好,深了容易引发二次振荡,浅了校正量不够兜住误差,前后试了四组参数才找到最优区间。
另一次是迭代到第六轮时精度增益已经微乎其微,却还要吃掉近三成的运算资源,他反复推演了半个钟头,最终狠下心砍到八轮收敛,用0.1db的精度损失换来了资源余量。
这种带着镣铐跳舞的滋味说不上多憋屈,却无比真切地让人感受到工业底子的差距。
等终于把整套适配方案捋顺、连晶体管总预算都核算完毕时,窗外的天色已经蒙蒙泛了鱼肚白。
江夏扔下铅笔,抬手揉了揉发酸的后颈,看着桌上厚厚一叠写满公式与框图的草稿纸,又好气又好笑。本以为俩小时就能搞定的活,硬生生熬了大半宿。
好在终归是落地了——方案笨是笨了点,全定点运算、八轮迭代收敛、外加一路极简闭环微调,晶体管总预算控制在三千二百以内,全角度补偿误差不超过0.5db,完全满足工程要求。就凭现在的集成电路工艺,也能实打实做出来。
“……拿捏是拿捏了,就是捏得手酸。”
他自嘲地嘀咕了一句,回头才发现屋里早就没了打字声。
小刘秘书的报备帖早写完了,人也不在书房,听楼下的动静,应该是去厨房帮大老王忙活早饭了。
晨光顺着窗棂漫进来,落在摊开的草稿纸上,把那些弯弯曲曲的公式与框图,都镀上了一层淡淡的金边。
顺带着,还有只脑袋上顶着纸片片,一直摇晃着脑袋的大橘猫。
“Ψ( ̄? ̄)Ψ!喵!!”
喜欢工业兴国,从初级工程师开始请大家收藏:工业兴国,从初级工程师开始m.ikbook.com网更新速度全网最快。
『加入书签,方便阅读』