统御之环:以硬核方式将无线电连接至笔记本电脑

Lobsters Hottest 新闻

摘要

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 算出烧坏声卡所需的电压*

相似文章

极低频

Hacker News Top

本文探讨了潜艇通信面临的历史性挑战,重点关注 20 世纪初通过海水使用无线电和导电方法的尝试,并指出了信号穿透能力的局限性。

模拟 Airband 调幅无线电

Hacker News Top

文章解释了如何为飞行模拟语音聊天模拟真实的调幅无线电动态,涵盖了无线电物理学,如路径损耗、分贝和信噪比,并讨论了在替代 IVC 中的实现。