2001 年春的广州,珠江边的风带着潮湿的暖意,却吹不散广州地铁测试现场的紧张气氛。
地铁 3 号线的测试车厢里,广州地铁的技术负责人张经理正急得团团转,手里的测试报告被捏得发皱:“李工,这已经是第三次闪退了!过隧道时软件一崩溃,定位数据全丢,进口模块都没这问题,你们的软件是不是有 bug?”
建军蹲在车厢角落,笔记本电脑连着定位模块,屏幕上的 Java 接口程序停在 “信号接收中断” 的报错页面。他没急着辩解,先从电脑包里掏出示波器,探头轻轻搭在模块的信号接口上:“张经理,先看硬件信号 —— 隧道里的电磁干扰超标了,比我们在实验室模拟的强 3 倍,硬件抗干扰电路扛不住,软件自然会闪退。”
示波器的屏幕上,原本平稳的波形此刻像被狂风打乱的线条,高频干扰信号密密麻麻地叠加在正常信号上。张经理凑过来看,眉头渐渐舒展:“原来不是软件的问题?可进口模块怎么能扛住?”
“进口模块加了纳米吸波材料,我们的样品没装。” 建军打开 Java 代码文件夹,指着 “signalProcess ” 函数,“而且软件里没加干扰信号过滤逻辑,一旦硬件接收的信号紊乱,软件就会报错闪退。解决方案很简单:硬件加吸波材料,软件加过滤代码,双管齐下。”
他边说边敲键盘,在函数里新增了一段代码:先判断信号的波动幅度,若超过预设阈值,自动触发 “干扰剔除算法”,只保留稳定的有效信号。“你看,这样就算硬件接收的信号里混着干扰,软件也能把坏数据筛掉,不会再闪退。”
张经理看着屏幕上的代码,又看了看示波器上的干扰波形,终于松了口气:“那现在能改吗?明天早上还要给领导演示,不能再出问题了。”
“今晚就能改好。” 建军立刻给深圳团队打电话,让他们连夜送纳米吸波材料到广州,自己则带着两个同事留在测试车厢,调试软件代码。
夜幕降临,地铁隧道里只剩下设备的嗡鸣声。建军坐在小板凳上,手指在键盘上飞快地敲击,每写一段过滤代码,就用示波器模拟干扰信号测试一次。同事小张负责记录数据,另一位同事则在模块外壳上粘贴吸波材料 —— 银色的薄膜贴在黑色模块上,像给模块穿了件 “防干扰铠甲”。
“李主管,这段代码能再优化下吗?” 小张指着屏幕上的 “阈值判断” 逻辑,“刚才测试时,还是有 1% 的误判率。”
建军凑过去看了眼数据,想了想:“把阈值调小 0.5dB,再增加一次信号验证 —— 第一次筛掉明显的干扰,第二次确认剩余信号的稳定性,双重保险。”
修改完代码,再次测试时,示波器上的干扰信号被精准过滤,软件界面上的定位精度稳定在 ±26 米,再也没有出现闪退。小张兴奋地拍了下手:“成了!比进口模块的 ±28 米还准!”
建军揉了揉发酸的肩膀,抬头看了眼隧道顶部的照明灯 —— 灯光在黑暗中连成一条光带,像极了他十年前在深圳大学成教学院夜大的机房里,熬夜学编程时看到的日光灯。那时他对着《程序设计》教材啃 “信号过滤算法”,总觉得这些知识离现实很远;现在,他用这些知识解决广州地铁的难题,突然觉得,所有的坚持都有了意义。
第二天清晨,测试车再次驶入隧道。张经理站在屏幕前,紧张地盯着定位数据。当车厢完全进入隧道,软件不仅没闪退,反而实时显示出 “定位精度 ±25 米” 的绿色字样,地图上的列车图标平稳地沿着轨道移动。
“成了!真的成了!” 张经理激动地握住建军的手,力道大得让建军都觉得疼,“李工,您这技术太全面了!既懂硬件抗干扰,又懂软件调试,比那些只懂一头的专家厉害多了!以后广州地铁的定位模块,全跟你们南方电子订!”
列车驶出隧道,阳光透过车窗照进来,落在车厢里的 “数字广州” 宣传海报上 —— 上面印着 “智能交通,北斗赋能” 的字样。建军看着海报,又看了眼屏幕上稳定运行的代码,突然眼眶发热:本科时在夜大机房里学的 “软硬结合” 理论,十年后终于在广州地铁的隧道里,绽放出了实实在在的价值。
当天下午,广州地铁就与南方电子签订了长期合作协议,首批订单就有 500 套模块。离开广州前,张经理特意送建军到车站:“李工,下次来广州,我请您吃早茶!咱们的地铁能用上国产定位模块,您立了大功!”
建军笑着道谢,心里满是成就感。他掏出手机,想给秀兰报喜,却先收到了秀兰发来的彩信 —— 照片里,李梦正趴在地上,用彩色编程积木拼一个 “小火车”,旁边放着一张 Excel 表格,上面记着 “红色积木 10 块、蓝色积木 8 块”。
本小章还未完,请点击下一页继续阅读后面精彩内容!