2001 年春的广州,珠江边的风带着潮湿的暖意,却吹不散广州地铁测试现场的紧张气氛。
地铁 3 号线的测试车厢里,广州地铁的技术负责人张经理正急得团团转,手里的测试报告被捏得发皱:“李工,这已经是第三次闪退了!过隧道时软件一崩溃,定位数据全丢,进口模块都没这问题,你们的软件是不是有 bug?”
建军蹲在车厢角落,笔记本电脑连着定位模块,屏幕上的 Java 接口程序停在 “信号接收中断” 的报错页面。他没急着辩解,先从电脑包里掏出示波器,探头轻轻搭在模块的信号接口上:“张经理,先看硬件信号 —— 隧道里的电磁干扰超标了,比我们在实验室模拟的强 3 倍,硬件抗干扰电路扛不住,软件自然会闪退。”
示波器的屏幕上,原本平稳的波形此刻像被狂风打乱的线条,高频干扰信号密密麻麻地叠加在正常信号上。张经理凑过来看,眉头渐渐舒展:“原来不是软件的问题?可进口模块怎么能扛住?”
“进口模块加了纳米吸波材料,我们的样品没装。” 建军打开 Java 代码文件夹,指着 “signalprocess ” 函数,“而且软件里没加干扰信号过滤逻辑,一旦硬件接收的信号紊乱,软件就会报错闪退。解决方案很简单:硬件加吸波材料,软件加过滤代码,双管齐下。”
他边说边敲键盘,在函数里新增了一段代码:先判断信号的波动幅度,若超过预设阈值,自动触发 “干扰剔除算法”,只保留稳定的有效信号。“你看,这样就算硬件接收的信号里混着干扰,软件也能把坏数据筛掉,不会再闪退。”
张经理看着屏幕上的代码,又看了看示波器上的干扰波形,终于松了口气:“那现在能改吗?明天早上还要给领导演示,不能再出问题了。”
“今晚就能改好。” 建军立刻给深圳团队打电话,让他们连夜送纳米吸波材料到广州,自己则带着两个同事留在测试车厢,调试软件代码。
夜幕降临,地铁隧道里只剩下设备的嗡鸣声。建军坐在小板凳上,手指在键盘上飞快地敲击,每写一段过滤代码,就用示波器模拟干扰信号测试一次。同事小张负责记录数据,另一位同事则在模块外壳上粘贴吸波材料 —— 银色的薄膜贴在黑色模块上,像给模块穿了件 “防干扰铠甲”。
“李主管,这段代码能再优化下吗?” 小张指着屏幕上的 “阈值判断” 逻辑,“刚才测试时,还是有 1% 的误判率。”
建军凑过去看了眼数据,想了想:“把阈值调小 0.5db,再增加一次信号验证 —— 第一次筛掉明显的干扰,第二次确认剩余信号的稳定性,双重保险。”
修改完代码,再次测试时,示波器上的干扰信号被精准过滤,软件界面上的定位精度稳定在 ±26 米,再也没有出现闪退。小张兴奋地拍了下手:“成了!比进口模块的 ±28 米还准!”
建军揉了揉发酸的肩膀,抬头看了眼隧道顶部的照明灯 —— 灯光在黑暗中连成一条光带,像极了他十年前在深圳大学成教学院夜大的机房里,熬夜学编程时看到的日光灯。那时他对着《程序设计》教材啃 “信号过滤算法”,总觉得这些知识离现实很远;现在,他用这些知识解决广州地铁的难题,突然觉得,所有的坚持都有了意义。
第二天清晨,测试车再次驶入隧道。张经理站在屏幕前,紧张地盯着定位数据。当车厢完全进入隧道,软件不仅没闪退,反而实时显示出 “定位精度 ±25 米” 的绿色字样,地图上的列车图标平稳地沿着轨道移动。
“成了!真的成了!” 张经理激动地握住建军的手,力道大得让建军都觉得疼,“李工,您这技术太全面了!既懂硬件抗干扰,又懂软件调试,比那些只懂一头的专家厉害多了!以后广州地铁的定位模块,全跟你们南方电子订!”
列车驶出隧道,阳光透过车窗照进来,落在车厢里的 “数字广州” 宣传海报上 —— 上面印着 “智能交通,北斗赋能” 的字样。建军看着海报,又看了眼屏幕上稳定运行的代码,突然眼眶发热:本科时在夜大机房里学的 “软硬结合” 理论,十年后终于在广州地铁的隧道里,绽放出了实实在在的价值。
当天下午,广州地铁就与南方电子签订了长期合作协议,首批订单就有 500 套模块。离开广州前,张经理特意送建军到车站:“李工,下次来广州,我请您吃早茶!咱们的地铁能用上国产定位模块,您立了大功!”
建军笑着道谢,心里满是成就感。他掏出手机,想给秀兰报喜,却先收到了秀兰发来的彩信 —— 照片里,李梦正趴在地上,用彩色编程积木拼一个 “小火车”,旁边放着一张 Excel 表格,上面记着 “红色积木 10 块、蓝色积木 8 块”。
彩信下面还有秀兰的留言:“用第一个月培训员补贴买的编程积木,梦梦拼了个‘定位小火车’,说要跟你做的模块一样,能找到全世界的路!我用 Excel 记了积木数量,咱们全家一起学数字技能!”
建军看着照片,嘴角不自觉地扬起。他立刻回复一条彩信,把广州地铁测试成功的现场照片发过去,配文:“广州地铁的模块测试成功了,以后爸爸的模块能装在地铁上了!梦梦的小火车真厉害,比爸爸的模块还可爱!”
没过多久,手机又震动了 —— 是周老发来的短信:“刚收到你的彩信,家庭版数字启蒙做得好!公司决定,北斗二代项目让你当总负责人,团队再扩 5 人,争取年底把模块装到全国的地铁和公交上!”
握着手机,建军站在广州火车站的月台上,看着来来往往的人群,心里突然充满了力量。
高铁缓缓驶离广州,建军靠在座椅上,打开笔记本电脑,开始构思北斗二代模块的优化方案。屏幕上的 Java 代码与硬件框图相互映衬,像在诉说一个关于坚持与成长的故事。他知道,未来还会有更多的技术难题等着他,还会有更多的城市等着用国产定位模块,但他不怕 —— 因为他有十年积累的复合技能,有团队的支持,更有家人的陪伴。
与此同时,深圳的家里,秀兰正带着李梦用编程积木拼 “北斗卫星”。李梦举着一块黄色积木,兴奋地说:“妈妈,这是北斗卫星的‘定位眼睛’,能像爸爸的模块一样,给公交车和地铁指路!”
秀兰笑着点头,拿出手机,把李梦拼积木的过程录成视频,准备发给建军。窗外的阳光正好,落在桌上的 Excel 表格和编程积木上,温暖而明亮。这个普通的家庭,正在用自己的方式,跟着数字时代的脚步,一步步向前走,而广州地铁隧道里的 “抗干扰代码”,则成了他们成长路上,最闪亮的勋章。
夜里,建军回到家时,秀兰和李梦还在等他。餐桌上摆着油泼面,旁边放着李梦拼好的 “定位小火车” 和秀兰做的 Excel 积木统计表。“爸爸,你看我的小火车!” 李梦拉着他的手,把小火车放在地上,按下开关,小火车沿着预设的路线前进,还会时不时发出 “定位成功” 的提示音。
“真厉害!” 建军抱起女儿,在她脸上亲了口,“以后爸爸的模块装在地铁上,就跟你的小火车一样,能带着大家安全到达目的地。”
秀兰端来一碗热汤:“快吃饭吧,面都快凉了。”
建军接过汤碗,看着眼前的妻女,心里满是踏实。他知道,无论是广州地铁的 “抗干扰代码”,还是家里的 “数字启蒙”,都是他人生中最珍贵的财富。