第十五章 走出实验室(2/2)
方泽从旁边走过来,把一杯冰美式放在他手边。这是左城第一次看见方泽给別人买咖啡。
“换个思路。“方泽说,靠在桌边,双手抱胸,“你一直在想怎么减小量化误差,但有没有想过——让算法本身对量化误差不敏感?“
左城抬起头。
“你的递归更新步骤之所以会放大误差,是因为更新公式里有一个除法操作——定点除法的精度损失最大。“方泽拿起笔在纸上画了一个简图,“如果把更新公式从乘除形式改成加减形式,用对数域变换把乘除运算转化成加减运算,定点加减的精度损失比乘除小两个数量级。“
左城瞪著纸上那个简图,脑子里像被闪电劈了一下。
对数域变换。
把乘除变成加减。
这个思路他完全没想到——因为对数域变换在信號处理领域不常用,它是数字通信编码领域的技巧。左城的知识体系是从信號处理这棵树上长出来的,天然存在视野盲区。而方泽做嵌入式底层开发,天天跟定点运算打交道,对这类技巧信手拈来。
这就是团队的意义——一个人的盲区,恰好是另一个人的强项。
“方泽,你是天才。“左城说。这不是客套,是由衷的。
方泽面无表情地喝了一口自己的咖啡:“不是天才,是被定点数折磨过太多次。“
当天晚上,左城重写了递归更新模块,用对数域变换替换了所有的乘除操作。方泽同步把新的代码移植到定製晶片的模擬器上跑测试。
凌晨两点,测试结果出来了。
量化误差降到了原来的五十分之一。算法在定製晶片上的运行速度比浮点版本快了四倍。性能指標和实验室仿真的结果几乎一致。
方泽看著屏幕上的数据,破天荒地说了句脏话。
是好的那种。
左城长长地吐了口气,靠在椅背上,盯著天花板笑了好一会儿。
光幕在意识中悄然弹出一行字:
【检测到宿主解决关键技术瓶颈,主线任务链·环节二进度更新:35%】
才百分之三十五。算法移植只是第一步,后面还有系统集成、联调测试、七十二小时连续运行验证。
但最难的那道坎,已经迈过去了。
左城关掉面板,看了一眼手机。凌晨两点十五分,有一条未读消息。
韩哲发来的,时间是晚上十一点。
“周总確认下周三下午三点在研发中心,你到时候直接来十七楼就行。另外他让我提前跟你说一声——他想聊的不只是课题的事。“
不只是课题的事。
左城把手机放下,目光投向窗外沉寂的校园。
蓝湾通信cto要聊的“不只是课题的事“,会是什么?
他暂时想不出答案,但直觉告诉他,下周三那场谈话的分量,可能比拿下整个课题还重。