统御之环:以硬核方式将无线电连接至笔记本电脑
摘要
Lysk的一篇技术博文,详述了使用音频线将军用无线电连接至笔记本电脑的挑战与历史,重点介绍了插孔连接器标准和信号特性。
<a href="https://lobste.rs/s/db0m6j/one_ring_rule_them_all_wiring_radios">评论</a>
查看缓存全文
缓存时间: 2026/07/28 10:24
# 一统音频:用最硬核的方式将电台连接到笔记本
来源:https://www.lysk.ai/post/wiring-radios-to-laptops-the-hard-way
在 Lysk,我们处理和分析军用语音通信。换句话说,就是把电台连接到计算机。通常这需要通过一根 AUX 音频线:一端是连接坚固型电台的专用接口,另一端是普通的迷你插头。
一台乌克兰 Himera 军用电台通过其专用接口连接到 Macbook
*一台乌克兰 Himera 军用电台通过其专用接口连接到 Macbook*
要正确布线以运行我们的软件,其难度超乎想象。这绝不仅仅是“插上电缆”那么简单。而且,是的,在装甲车里拿着示波器跑来跑去确实很有趣。但用示波器时,我们到底要找什么?一根普通音频线上究竟传输着什么?更重要的是:0.7746 Vrms 是什么,电话接线员又和这一切有什么关系?
我们先来做一个关于普通模拟音频线的小测验:
- “杰克”插头(迷你插头的前身)从何而来?
- 音频信号是交流还是直流?
- 典型电压范围是多少?
- 假定的阻抗是多少?
- 计算机上的音量设置对电压的影响是线性的吗?
## 一统天下……还是两环定乾坤?
不同的迷你插头线缆。注意环的数量差异(图片)
*不同的迷你插头线缆。注意环的数量差异(**来源* (https://en.wikipedia.org/wiki/Phone_connector_(audio)#/media/File:Small_jack_plugs.jpg)*)*
电话交换机接线员(图片)
电话交换机接线员*(**来源* (https://picryl.com/media/the-first-chinese-telephone-operator-in-chinatown-san-francisco-1?__cf_chl_f_tk=WdWIxMjILESWgfoeLDUh4cmjppLDdZfJQ3ECQnIkfLI-1783008422-1.0.1.1-l.AWmh5cLwMovpxBxglh.ujVpT8Pcc3Aj7ctIdonkcg)*)*
在 140 年的时间里,插头经历了多次修改,尺寸和线数都有变化,但原理保持不变:一根带有轻柔锁定机制的棒子。
更多音频线缆,这次环数相同,但尺寸各异(图片)
*更多音频线缆,这次环数相同,但尺寸各异(**来源* (https://mynewmicrophone.com/differences-between-2-5mm-3-5mm-6-35mm-headphone-jacks/)*)*
目前有三种常见的插头尺寸:
- 6.35mm(1/4 英寸):标准尺寸插头——通常用于航空、发烧友设备和乐器。
- 3.5mm(常被称为 1/8 英寸):迷你插头——最流行的变体,自索尼 Walkman 以来一直被使用,也用于手机。
- 2.5mm(超迷你插头):最不常见;我们在摩托罗拉 T34 对讲机和 Bose QC 耳机中见过。
TRS 代表 Tip Ring Sleeve(尖端、环、套管)。TRRS,你猜对了,代表 Tip Ring Ring Sleeve(尖端、环、环、套管)。我们使用的 3.5mm 迷你插头有 TRS 和 TRRS 两种变体,分别指定了线数。历史上,计算机耳机使用两个独立的 TRS 迷你插头:一个用于立体声耳机,另一个用于麦克风。然而,现代终端用户设备(手机、笔记本电脑)倾向于支持 TRRS 组合式输入输出耳机设置:
TRS 与 TRRS 规格(由 claude 可视化)
TRS 与 TRRS 规格(由 claude 可视化)
TRRS 插头的具体引脚排列理论上取决于制造商,但CTIA/AHJ 是一种流行的现代标准 (https://web.archive.org/web/20171001094347/https://longtailproducts.zendesk.com/hc/en-us/articles/207970396-Smartphone-Headset-Standards-Apple-iPhone-AHJ-CTIA-OMTP)。对于 TRRS 组合式耳机插头,输出是立体声,但输入仅为单声道。对于标准消费级耳机来说,这不是问题,但对于我们的用途来说,这是一个限制:我们需要立体声输入。
通过外置声卡适配器连接到 MacBook 的音频线缆
*通过外置声卡适配器连接到 MacBook 的音频线缆*
为了解决这个问题,并避免烧坏我们笔记本电脑的 ADC 芯片(这种情况确实发生过,别问了),我们使用便宜的 AXAGON ADA-17 USB 音频适配器,每个大约 10 欧元。这是一个有趣的设备,基于CM6533 芯片 (https://www.cmedia.com.tw/products/USB_AUDIO_CODEC/CM6533)。它有两个独立的迷你插头 TRS 接口:一个用于立体声输出,一个用于立体声输入。就像过去一样。这对我们来说是完美适配!
## Vrms 是交流世界的王者
音频通过交流电传输。当我们开始处理坚固型电台时,我们问了一个显而易见的问题:电台的电压范围与计算机的音频兼容吗?计算机音频的典型电压范围到底是什么?
正弦波电压图(图片)
*正弦波电压图(**来源* (https://en.wikipedia.org/wiki/Root_mean_square#/media/File:Sine_wave_voltages.svg)*)*
但首先:单位。对于交流信号,电压通常使用 Vrms 测量。这就是典型的万用表 (https://en.wikipedia.org/wiki/Multimeter)在您选择“V”和“AC”时显示的内容。它是一个比 V 峰值更好的单位,因为它能更好地量化有效能量。Vrms 代表电压均方根 (https://en.wikipedia.org/wiki/Root_mean_square),但可以更简单地将其视为完美正弦波 (https://en.wikipedia.org/wiki/Sine_wave) 的 0.707 \* V峰值:
简单来说:在音频中我们使用交流电,既然是交流电,我们就需要处理 Vrms。
## 没有所谓的典型电压
“典型电压”这个问题是个雷区。人们常常混淆两种*不同*的电压:
首先,是**满量程电压**:在特定音量设置下使芯片饱和的电压。当 DAC(数模转换器)将数字值 ±1.0(归一化浮点下的满量程)映射到模拟电压时,满量程电压就是信号饱和并削波的点。可以通过将音量设为 100%,并在输出端连接万用表来测量这个指标。在消费级硬件上,我们经常测量到大约 1.25 Vrms。
其次,是**标称工作电压**:信号的基础幅度。硬件通常不定义这个,但有一个称为 -10dBV 的标称信号标准。它字面意思是标称电压应比 1V 低 10dB。计算一下——我们应期望标称信号为 0.316 Vrms。
为了应对意外的音量峰值,我们必须严格在满量程电压限制以下工作。产生比满量程电压更大的信号会导致削波 (https://en.wikipedia.org/wiki/Clipping_(audio)),这对信号处理来说是灾难性的。然而,我们的目标信号也不能太安静,因为低音量会使较安静的声音失去精度,并接近本底噪声。
换句话说:我们应该让信号正好处于量程的合适位置。好消息!有一个众所周知的指标可以衡量信号有效利用该范围的程度。这个特定指标定义为 dBFS(低于满量程的分贝数)。在实践中,我们发现我们至少要工作在 -12dBFS,这意味着大部分信号,或者说信号的平均电平,应为其满量程电压的 0.25。
结合满量程电压和标称工作电压,我们典型的测量结果就开始有意义了:满量程 1.25 Vrms,标称 0.316 Vrms。
> -10dBV(0.316Vrms)的标称信号在 -12dBFS 下,意味着满量程为 1.25Vrms。
我们测量的大部分硬件都使用 -10dBV 标准,并且工作在 -12dBFS。需要明确的是:没有任何消费级制造商明确说明这些标准。但通过解读文档的字里行间并运行一些实验,我们认为这大致准确。无论如何,3.5 mm 输出上的最大电压大致应测量到这个数值。
## 这个别扭的单位是早期电话标准的遗留物
我们已经讨论了“-10dBV 标准”,但还有更多。另一个流行标准是 1.228 Vrms 的**标称**信号,称为 +4dBu 电平。由于这是一个专业标准,需要更多的余量——12dBFS 是不够的。例如,+4dBu 工作在 -18dBFS 时,**满量程**可达 10 Vrms,我们在少数音频接口中观察到了这一点。
好吧,但是 1.228 Vrms 是一个奇怪的数字,在“+4dBu”中,dBu 是什么?参考是 0 dBu = 0.7746 Vrms。为什么是这个特定的 0.7746 Vrms?因为这是在 600 Ω 负载上产生 1 mW 功率所需的交流电压。为什么是 600 Ω?因为这就是早期电话线路的物理特性。
令人困惑的是:600 Ω 这个数字只解释了 0.7746 这个数值的来历,但它并不是 dBu 定义的一部分。在旧式电话世界中,一切都是 600 Ω 匹配的,因此电平以 dBm 的实际功率测量(0 dBm = 600 Ω 上的 1 mW = 该负载上的 0.7746 V)。现代设备不使用匹配的 600 Ω 负载,因此“负载上的功率”毫无意义。但大家仍然想要那个熟悉的 0.7746 V 电平。所以后来定义了 dBu,它是一个去除了负载的相同电压。它是“dBm 无负载”:纯粹电压,不涉及阻抗。“u”代表无负载。这个别扭的单位是早期电话标准的遗留物 (https://en.wikipedia.org/wiki/Line_level#Nominal_levels)。
## USB 适配器很*安静*
现在我们知道消费电子产品上典型的*期望*电压,我们可以讨论真实的硬件了。当然,它并不完美遵循 -10dBV。
我的测量设置
*我的测量设置*
首先,是我们的基于 CM6533 的 ADA-17 USB 适配器。将音量设为 100%,播放满量程正弦波,在高阻抗(空载)输出端,我们仅测量到 0.973 Vrms。小得出奇,但大致符合数据手册:
ADA-17 USB 适配器数据手册截图(来源)
*ADA-17 USB 适配器数据手册截图(**来源* (https://www.silicondevice.com/file.upload/images/Gid1503Pdf_CM6533_Series-Datasheet_v1.6.pdf)*)*
该芯片的记录出乎意料的详尽。尽管如此,它实际上无法达到 −10 dBV 标称标准在 12 dB 余量下所隐含的 1.26 Vrms。供电轨是最可能的原因。该芯片由嘈杂的 5 V USB 线路供电,内部稳压降至 3.6 V 给模拟部分使用。由于 Vpp = 2\*(Vrms/0.707),1.26 Vrms 需要 3.56 Vpp,这几乎不给信号峰值和 3.6 V 轨之间留下任何空间。我们测量到的 1.04 Vrms 折算为 2.94 Vpp,这适合预算,每边有 10% 的余量。
ADA-17,像大多数消费级硬件一样,并没有明确定义它遵守的标准。但至少我们学到了不要期望它提供正确的 -10dBV 标称值。
## Macbook 很*响亮*
然后是 MacBook。事实证明,现代 MacBook 是神奇的:它们支持三种输出电压范围。对于典型阻抗,它们提供 1.25 Vrms;对于 150-1k Ω 之间的特定阻抗 (来源 (https://support.apple.com/en-us/108351)),它们支持 3 Vrms。我们通过将左声道通过 660 Ω 电阻对地分流进行了测试,它确实有效:我们得到了最大 3 Vrms!太酷了。
这也回答了我们关于阻抗的测验问题:AUX 线/迷你插头并没有真正定义另一端应该是什么,但至少 Apple 假设低值(低于 150 Ω)用于经典耳机,而较高值(150 Ω - 1 kΩ)用于高阻抗耳机。
最后,Mac 也可以检测线路输出并相应地表现。对于 1k Ω 以上的阻抗,假定为线路输出。我测量到我的 Mac 发送 1.014 Vrms,非常接近最大 1 Vrms,这可以解释为试图在满量程时达到 0 dBV。
**解释**
**阻抗**
**估计标准**
**最大 Vrms**
标准耳机
<150Ω
-10dBV 标称
1.25 Vrms
高阻抗耳机
150-1kΩ
(Apple 特定)
3.00 Vrms
线路输出
>1kΩ
满量程 0 dBV
1.00 Vrms(测量值)
## 衰减登场
理论上和实证上,我们表明音频线的典型上限约为 1 Vrms。这是最大值,在实践中它几乎总是被衰减到所需的较低电压范围。这可以在线的任一端完成:在发射端或接收端。这正是音量滑块所做的事情。
但是,调整衰减(即输出音量)的效果是线性的吗?让我们拿起万用表做几个测试。实验中,我将播放一个完美的 300Hz 正弦波,改变两个设置:输出设备音量(在 Mac 上以百分比表示)和数字 Vrms 幅度。
先看 ADA-17。代码如下:
``
marek@mrm ~ % SwitchAudioSource -s "USB AUDIO DEVICE" -t output
output audio device set to "USB AUDIO DEVICE"
marek@mrm ~ % uv run --with sounddevice --with numpy python3 -c "
import sounddevice as sd, numpy as np, itertools
hz = 300
amp = 1
buf = (amp * np.sin(2*np.pi*hz*np.arange(48000)/48000)).astype(np.float32).reshape(-1,1)
with sd.OutputStream(samplerate=48000, channels=1) as s:
for b in itertools.repeat(buf): s.write(b)
``
设置音量:
``
marek@mrm ~ % osascript -e "set volume output volume 100"
``
以下是 ADA-17 的万用表交流电压读数:
正弦波幅度
音量=100%
(Vrms)
音量=75%
(Vrms)
音量=50%
(Vrms)
1.00
0.973V
0.532V
0.205V
0.75
0.729V
0.397V
0.152V
0.50
0.486V
0.265V
0.102V
0.25
0.242V
0.133V
0.052V
0.10
0.096V
0.051V
0.018V
我们可以观察到几件事:
- 数字信号幅度与测量的电压呈线性关系 → 数字幅度为 1.0 时电压的 10%(10% × 0.973V)与数字幅度为 0.1 时的电压 100%(测量值为 0.096V)相同。
- “音量”不是线性的。
- ADC 存在频率响应曲线(不同频率可能表现不同),但我们不在此深入探讨。
我们可以逆向推导出 ADA-17 的音量设置响应是二次的:
> *V = 1 \* P ^ 2 (其中 P 是 0...1 之间的浮点音量设置)*
ADA-17 音量/电压分析
*ADA-17 音量/电压分析*
我们对 Apple 的 3V 情况重复了相同的实验,结果几乎匹配,尽管最终的曲线是三次的:
以下是 3V 输出情况下的测量结果:Apple 工程学的杰作。
Macbook 音量/电压分析
*Macbook 音量/电压分析*
## 你桌上的幽灵低语
不起眼的迷你插头线缆是你桌上最奇怪的东西之一。它并不真正遵守任何严格的标准。每个声卡品牌在电压、阻抗检测甚至音量响应曲线上都可能有所不同。迷你插头设计于 140 年前——但它至今仍然有效,我们正在成功使用它将军队带入新的数字时代。我们是如何做到的?一旦电台连接到一台强大的笔记本电脑,我们就运行定制的语音转文本模型(以及更多其他功能)。但这留待下次再说。现在回去焊接了。
Lysk 工程师在等 Claude 算出烧坏声卡所需的电压
*Lysk 工程师在等 Claude 算出烧坏声卡所需的电压*
相似文章
极低频
本文探讨了潜艇通信面临的历史性挑战,重点关注 20 世纪初通过海水使用无线电和导电方法的尝试,并指出了信号穿透能力的局限性。
模拟 Airband 调幅无线电
文章解释了如何为飞行模拟语音聊天模拟真实的调幅无线电动态,涵盖了无线电物理学,如路径损耗、分贝和信噪比,并讨论了在替代 IVC 中的实现。
逆向工程阿波罗时代神秘的Up-Data Link Test Set
对罕见的阿波罗时代Up-Data Link Confidence Test Set进行逆向工程,揭示其未公开的模块和布线,以重建阿波罗通信系统。
这种数字无线电让信息传送到世界最偏远的地区
由Rhizomatica开发的HERMES系统,通过安全数据传输功能升级短波无线电,为偏远和离网社区在紧急情况和日常使用中实现更好的连接。
@TanejaPriyal: 我想理解LoRA不仅仅是“适配器比全微调更便宜”。于是,我写了一个两部分的系列文章,并进行了…
作者使用vLLM在一张GPU上对服务1000个LoRA适配器进行了基准测试,发现活跃适配器数量和流量模式才是真正的瓶颈,并提供了调优max_loras的建议。