支撑二维码的数学 - 有限域与 Reed-Solomon 纠错的原理
为什么受损的二维码仍能读取
在 H 级纠错下,即使 30% 的码丢失也能恢复数据。这依赖于 1960 年由 Irving S. Reed 和 Gustave Solomon 发表的 Reed-Solomon 码。同一算法也保护着 CD、DVD、数字广播、NASA 旅行者号深空通信和 RAID 存储。一个 60 多年前的算法每天在现代智能手机上使用,展示了优秀数学的普适性。
有限域 - 数学基础
Reed-Solomon 码在有限域(伽罗瓦域)上运算。二维码使用 GF(2^8),一个恰好有 256 个元素的域,所有运算结果都在 0-255 范围内。选择 256 与计算机字节(8 位,256 种可能值)完美匹配,是抽象数学与物理计算约束的优雅交汇。
Reed-Solomon 码的工作原理 - 用多项式保护数据
数据字节成为多项式系数。在 GF(2^8) 上除以生成多项式得到纠错码字,附加到数据后存入二维码。读取时若余数非零,其模式揭示错误的位置和性质,从而重建原始数据。直观地说,就像通过数据点画一条曲线:即使部分点消失,剩余点也能重建原始曲线。
纠错等级与冗余的权衡
L 到 H 级分别可恢复约 7%、15%、25% 和 30% 的损坏。更高级别需要更多模块,增加物理尺寸。这体现了香农的基本权衡:在有噪声的信道中提高可靠性需要冗余。L 级适合空间受限的印刷;H 级适合户外或工业环境。
隐藏在日常生活中的高等数学
每次扫描二维码,智能手机都在执行有限域多项式运算。便利店支付和餐厅菜单的背后,1960 年代的编码理论和 19 世纪伽罗瓦域理论每秒在全球执行数十亿次。伽罗瓦 20 岁死于决斗,留下的理论当时几乎无人能懂。两百年后,它成为数十亿人每天使用的技术基础。