为业余无线电复兴Teletext技术
速览
Teletext是一种早期的图文电视广播标准,曾在20世纪广泛流行。该项目致力于将这一复古技术重新应用于业余无线电通信领域,以探索其在现代数字通信中的潜在价值。此举不仅是对历史通信技术的致敬,也为无线电爱好者提供了新的实验方向。
AI 深度解读
复活电传图文电视:为业余无线电打造数字通信新协议
来源:IEEE Spectrum / Hacker News 作者:Stephen Cass
背景
在20世纪80年代和90年代的欧洲,电视遥控器上通常有一个神奇的“Teletext”(电传图文电视)按钮。在互联网尚未普及进入千家万户的年代,按下这个按钮即可调出数字信息服务,其中包含数百页不断更新的页面。
以作者Stephen Cass在爱尔兰的生活经历为例,他的家庭每天多次访问国家电传图文电视服务——Aertel,以获取天气预报、新闻简报、电视节目指南以及机场航班到达更新等信息。
这是一种优雅的系统:速度快、带宽占用极低、不受用户负载影响,并且即使在模拟电视屏幕上也能呈现清晰可读的文字。近期,恰逢 Aertel 测试发射40周年,这重新激活了作者脑海中酝酿多年的想法:能否为业余无线电(Ham Radio)打造一个电传图文电视版本?
核心内容
电传图文电视的技术原理
电传图文电视(Teletext)最早在英国开发,由英国广播公司(BBC)以 Ceefax 的名称向公众推出。它利用了模拟电视信号的一个特性:视频帧由亮度线和颜色线组成,此外还有一些未显示的空白行。电传图文电视将这些数字信号“搭便车”挂载在这些备用行上,随时间推移循环传输页面。观众通过遥控器输入三位数的页码,几秒后循环便会显示所需页面。
在8位机时代,电传图文电视创造了异常易读的文本。它通过放大字母数字字符、查找对角线相邻的现有像素以插入新像素,并在字符间增加空白来实现这一点。图形字符不进行插值,而是由被称为 sixels(因2x3排列方式得名)的块状像素组成。作者在现代重建中使用了开源字体 Bedstead,以复刻包括图形字符在内的电传图文电视外观。
电传图文电视由最多八种颜色的字符组成。字符流中的控制代码用于选择颜色,并产生闪烁文本和双倍高度字符等效果。其可读性优于当时大多数计算机,这归功于核心的 SAA5050 字符生成芯片。尽管该芯片内部以6x10像素单元存储字符(少于1980年代家用计算机典型的8x8像素单元),但 SAA5050 会实时为字母数字字符插值额外像素,使有效分辨率达到10x18像素。代价是图形分辨率极低,仅由2x3的块状像素组成。
电传图文电视屏幕使用40x24字符网格。这意味着1KB内存即可存储一页多色文本,仅为 Commodore 64 存储同等文本所需内存的一半。BBC Microcomputer 利用这一点,在主板上集成了 SAA5050,可在其一种图形模式下访问。尽管图形粗糙,但仍有一些教育游戏使用此模式,其中最著名的是《Granny’s Garden》,它在英国学童中的文化地位相当于美国学童心中的《The Oregon Trail》。
到了2010年代,大多数电传图文电视服务已停止广播。但许多人仍怀念它,爱好者们通过恢复和归档旧内容、运行带有当前新闻源的基于互联网的服务,以及开发使现代电视能够创建和显示电传图文电视的系统,使其保持活力。
将电传图文电视重新引入无线电
作者希望做一些不同的事情。受 BBC Micro 借用其自身用途的电传图文电视启发,他认为这可能成为一种优秀的无线电协议,特别是作为慢扫描电视(SSTV)的数字对应物。
SSTV 是一种传输图片的模拟方法,通常包括带有业余无线电呼号和其他信息的横幅。虽然有趣,但正如名称所示,它很慢——最受欢迎的协议发送一张图像需要近2分钟,且很难获得带有清晰文本的完整图片。因此,SSTV 图像通常会多次广播。
作者决定使用 AX.25 协议发送电传图文电视,该协议将1和0编码为可听音调。在1,200波特率下发送VHF和UHF传输时,发送一个电传图文电视屏幕需要11秒。在短波(HF)波段,AX.25 数据通常以300波特率发送,这会导致每个屏幕仍需44秒。当电传图文电视页面重复发送时,任何丢失或损坏的行都会由新行填充。因此,在略多于2分钟的时间内,作者可以在HF波段发送三次屏幕,接收器会自动组合数据。
作者还希望用 Python 构建该系统以实现便携性,包括用于创建页面的编辑器、AX.25 编解码器以及用于显示接收图像的监视器。
“氛围编程”(Vibe Coding)的实验
作者此前未进行此项目的原因在于需要消化 AX.25 标准和电传图文电视官方规范的细节,并将其转化为软件套件,而作者从未抽出时间。因此,他尝试了一种“实验中的实验”,转向了“氛围编程”(vibe coding,即主要依靠AI辅助生成代码的开发方式)。
尽管氛围编程在开发者中很受欢迎,但作者持保留态度。即使不考虑AI生成的垃圾代码、环境影响和内存占用问题,作者仍担心其对中心化系统的依赖。DIY项目的核心在于“自己动手”,让个人能够根据自己的目的定制事物,而不是仅仅在别人的利润空间和政策范围内运作。
尽管如此,作者还是将 Anthropic 的 Claude 模型指向 AX.25 和电传图文电视规范,并告知其需求。经过约25万到30万token的处理以及几个夜晚关于错误和功能的来回沟通,作者在未编写一行代码的情况下完成了整个系统的运行。作者诚实地承认,这个他称之为 Spectel 的系统,如果没有氛围编程,可能永远不会问世。
然而,作者并未因此学到关于电传图文电视运作的新知识,对 AX.25 的了解也只增加了一点。系统的更新取决于作者支付 Anthropic 的费用。因此,作者对氛围编程仍深感矛盾。最后还有一个测试:在HF波段试用 Spectel。这意味着需要愿意合作的业余无线电爱好者。
关键要点
- 技术复兴:电传图文电视(Teletext)利用模拟电视信号的空白行传输数字信息,具有低带宽、高可读性和抗干扰能力强的特点,核心依赖于 SAA5050 芯片的实时像素插值技术。
- 协议创新:作者提出将电传图文电视作为业余无线电的数字协议,替代或补充传统的慢扫描电视(SSTV),旨在解决 SSTV 传输速度慢且文本清晰度不足的问题。
- 实现方案:利用 AX.25 协议在业余无线电频段(VHF/UHF/HF)传输数据。通过重复发送页面并利用接收端的纠错组合机制,在HF波段以300波特率实现约44秒/页的传输效率。
- 开发工具:项目名为 Spectel,完全基于 Python 开发,包含页面编辑器、AX.25 编解码器和显示监视器。
- AI辅助开发争议:作者使用 Anthropic 的 Claude 模型通过“氛围编程”完成了代码生成,未编写一行代码。虽然提高了效率,但作者对此持矛盾态度,认为这阻碍了对底层协议(AX.25 和电传图文电视规范)的深入学习,且依赖中心化AI服务违背了DIY精神。
- 社区呼吁:作者呼吁业余无线电爱好者参与测试,以便在HF波段实际验证 Spectel 的性能。
意义与影响
- 业余无线电通信的现代化尝试:该项目探索了将复古数字技术(电传图文电视)与现代通信协议(AX.25)结合的可能性,为业余无线电提供了一种高效、低带宽且具备图形/文本混合显示能力的通信手段,丰富了数字模式的选择。
- AI辅助开发的伦理与实践反思:作者的经历引发了关于“氛围编程”在硬核技术项目(如无线电协议实现)中适用性的讨论。虽然AI能加速原型开发,但可能牺牲开发者对底层技术的深入理解,并带来对中心化AI服务的依赖风险,这与DI
