用 SDR 接收本地广播、飞机与船舶信号:从“听电台”到“看地图”

很多人第一次接触 SDR,会先想到一个问题:它是不是就是一个更高级的收音机? 这个理解只对了一半。如果只是接收本地 AM/FM 广播,普通收音机往往已经足够好用;但 SDR 的真正价值,不只是“听声音”,而是把周围的无线世界以更丰富的形式呈现出来:声音、频谱、位置、文字、图像,甚至网页地图。 这篇文章就围绕几个常见问题展开:本地广播到底有多少可听台、RTL-SDR V3 适不适合、飞机和轮船能不能接收、网页端有没有现成方案,以及哪些信号是“能听”的,哪些其实是“能解码”的。 一、RTL-SDR V3 适不适合用来接收本地电台 RTL-SDR Blog V3 是一个经典的入门级 SDR 设备。它的优点很明确:价格低、生态成熟、教程多、兼容的软件丰富,拿来学习 SDR 的基本概念非常合适。 如果目标只是接收本地 FM/AM 广播,它当然可以做到。但问题的重点不在“能不能收到”,而在于“能不能收得尽量干净”。 在城市环境里,本地强信号广播台往往很多。对于入门级设备来说,真正的挑战不是主台能不能听到,而是弱台会不会被强台压制、串扰、过载,导致听起来不够清晰。也就是说,V3 更适合“能用、能学、能玩”,但并不等于“尽量全面且尽量完美”。 所以,如果只是听广播节目,普通收音机通常已经够用了。而 SDR 的意义,在于它不只接收广播,还能继续向更复杂的方向扩展。 二、大阪本地理论上能收到多少个广播电台 很多人以为接收设备足够强,就能在一个城市里收到几十上百个广播台。实际上并不是这样。 广播电台不是 Wi-Fi,也不是网页资源。一个城市真正持续播出的 AM/FM 广播台数量,本来就是有限的。 以大阪这样的地区来看,稳定能收到的主流广播台数量,理论上大致就是一批固定的本地与周边电台。把主力 FM、AM 以及部分邻近地区信号算进去,数量并不会夸张到离谱。所谓“接收全面”,本质上更多是指: 所以,从“听广播”的角度看,普通收音机确实就能完成大部分任务。如果只是为了听大阪本地节目,没必要把 SDR 当作唯一方案。 三、SDR 的价值不在“替代收音机” 如果只拿 SDR 来做广播接收,那它的能力其实没有被真正用出来。 普通收音机的定位,是家电。而 SDR 更像是一种无线实验平台。 它能做的事情包括: …

Ubuntu Server 首次初始化用户与新管理员用户创建实践

在一台树莓派上的 Ubuntu Server 系统中,首次启动后通常会创建一个默认的普通用户。这个用户往往承担“主用户”的角色:拥有独立家目录、默认 shell,并且通常具备较完整的 sudo 与硬件访问权限。 本文围绕一个实际问题展开:在不删除原有用户、不修改原有用户配置的前提下,新建一个新的管理员用户,并使其在实际使用层面与原始主用户基本等价。 一、首次初始化创建的用户,有什么特殊之处 系统首次启动时创建的普通用户,常见特征如下: 这类用户并不是 root,也不是隐藏系统用户,本质上仍然是普通用户。它的“特殊”主要体现在: 也就是说,它更像是“初始化阶段生成的默认管理员型普通用户”。 二、如何确认一个用户的权限画像 可以通过以下命令查看一个已有用户的核心信息: id <user>getent passwd <user>sudo -l -U <user> 这三条命令分别用于查看: 例如,一个典型的初始化用户,通常会显示: 如果出现 NOPASSWD: ALL,说明该用户执行 sudo 时不需要输入密码,属于非常高可用性的管理员账户。 三、UID/GID 到底意味着什么 很多人在创建新用户时,会注意到 UID 和 GID 与原有用户不同,于是担心“是不是权限不一样”。 实际上,UID/GID 更像是系统内部使用的编号,不是用户可见的身份标签,也不是“住址”。 可以这样理解: Linux 底层处理权限时,更看重的是 UID/GID,而不是用户名本身。但在单机日常运维场景下,只要满足以下条件,UID/GID 的具体数值通常不重要: 因此,如果只是想新建一个可正常使用的新管理员用户,并不需要追求 UID/GID 与旧用户相同。 四、两个用户“完全等价”到底指什么 严格来说,两个不同用户不可能在“身份层面”完全相同,因为: 但如果忽略 UID/GID,仅从实际使用功能来看,两者可以做到基本完全等价。判断标准包括: …

树莓派通过 USB 连接便携式 Wi-Fi 时的网络行为分析

一、问题背景 某台树莓派通过 USB 连接了一台便携式网络设备。该设备支持通过 USB 向树莓派暴露一个共享网络接口,但在未插入可用 SIM 卡时,本身并不具备实际的外网接入能力。与此同时,树莓派还通过自身的无线网卡连接家庭无线网络实现上网。 因此,系统中出现了这样一种结构: 这类结构的关键问题在于:系统如何识别这些网络接口,它们何时会变成 UP,何时会保持 DOWN,以及后续是否可以把 USB 连接作为备用链路使用。 二、当前网络接口状态的含义 通过 ip a 查看系统网络接口时,可以看到几类典型状态: 1. 回环接口 回环接口用于本机内部通信,通常始终处于可用状态。 2. 有线网口 物理有线网口即使被系统启用,只要没有插入网线,也会出现如下特征: 这说明:网口本身存在,但底层链路没有建立。 3. 无线网卡 当无线网卡已经成功连接到无线接入点并获得地址后,通常会看到: 这说明: 4. USB 暴露出的虚拟网卡 便携式网络设备通过 USB 共享网络时,Linux 会将其识别为一个额外网卡,通常接口名类似于 enx…。在未形成有效共享链路时,可能会看到: 这表示: 三、为什么 USB 接口当前是 DOWN USB 暴露出的网络接口之所以存在,是因为系统已经识别到该设备支持网络共享模式。但接口是否真正可用,不取决于“是否插着 USB 线”这一点,而取决于更完整的条件链。 典型条件包括: 如果上述条件不完整,即使接口名已经出现,该接口仍可能保持 DOWN。 …

Ubuntu Server 下的树莓派双网卡接入实践:有线保底,Wi-Fi 按需启用

一、需求背景 在一台运行 Ubuntu Server 的树莓派上,已经存在稳定可用的有线网络连接。与此同时,还希望接入无线网络,以满足以下需求: 这一需求本质上不是“桌面式自动联网”,而是“服务器式可控联网”。 二、系统现状判断 首先需要确认系统中可用的网络工具,以及当前的网络管理方式。检查结果显示: 这说明该环境属于典型的 Ubuntu Server 风格: 因此,后续方案不采用 NetworkManager,不依赖图形界面,而是基于以下工具链完成: 三、总体策略 本次实践最终形成了如下结构: 1. 有线网络长期保留 有线接口始终保持可用,作为系统的远程管理保底入口。 这样做的意义很大: 2. 无线网络按需启用 无线不作为系统的开机自动连接项,而是在需要时手动触发: 3. 当双接口同时在线时,设为 Wi-Fi 优先 这是通过调整默认路由 metric 实现的: 最终实现的逻辑是: 有线常驻保底,Wi-Fi 按需启用;启用后 Wi-Fi 优先,有线备用。 四、工具安装与基础验证 为了支持命令行下的无线操作,需要安装以下工具: 安装完成后,需要验证几个关键点: 实际验证结果表明: 这说明系统层面已经具备无线接入能力。 五、扫描附近 Wi-Fi 在命令行环境下,第一步是先拉起无线接口,然后扫描附近无线网络。 扫描结果中能够看到多个 SSID,说明: 值得注意的是,扫描结果中个别中文 SSID 可能以转义形式显示。这并不意味着扫描失败,只是终端编码显示方式不同。 六、为什么不直接修改系统主配置 在服务器环境中,最常见的做法之一,是直接将 …

什么是线性介质:从“成正比”理解电磁学中的基本假设

在线性介质中,介质对外加电磁场的响应满足线性关系。这个概念看似简单,但它实际上是整个经典电磁学、波动理论以及叠加原理能够顺利成立的重要基础之一。 本文从直观理解、数学表达和物理意义三个层面,对“线性介质”进行整理。 一、什么是线性介质 所谓线性介质,指的是介质内部的响应与外加场强之间满足线性比例关系。 更直观地说,就是: 如果把外加场看作“输入”,把介质的响应看作“输出”,那么线性介质就是一种“输入和输出成正比”的介质。 例如: 这种关系没有突变,也没有额外的复杂非比例项。 二、线性介质的数学表达 在线性介质中,常见的本构关系可以写成: 电学关系 D=εE\mathbf{D} = \varepsilon \mathbf{E}D=εE 其中: 磁学关系 B=μH\mathbf{B} = \mu \mathbf{H}B=μH 其中: 这两组关系说明,在给定介质中,场量之间是简单比例关系。 如果进一步写到极化强度 P\mathbf{P}P 和磁化强度 M\mathbf{M}M,也可以表示为:P=ε0χeE\mathbf{P} = \varepsilon_0 \chi_e \mathbf{E}P=ε0​χe​E M=χmH\mathbf{M} = \chi_m \mathbf{H}M=χm​H 这里的 χe\chi_eχe​ 和 χm\chi_mχm​ 分别是电极化率和磁化率。 核心仍然不变:响应与激励成正比。 三、为什么“线性”很重要 线性这个条件之所以重要,不只是因为公式简单,而是因为它决定了很多经典电磁学结论是否成立。 1. 叠加原理成立 在线性介质中,如果两个电磁场分别是系统的解,那么它们的和仍然是解。 也就是说: 这就是干涉、驻波、衍射等波动现象能够用“场的相加”来分析的基础。 2. 不会凭空产生新频率 …

电磁波为什么能够相交干涉,却又各自沿原方向继续传播

电磁波的“叠加”和“干涉”是波动理论里非常核心、也非常容易让人产生直觉冲突的内容。一个很自然的问题是: 如果两束电磁波传播方向不同,在空间中相交并发生干涉,那么它们相交之后,为什么还能继续沿原来的方向传播?它们是如何“记住”原来方向的? 这个问题看似简单,实际上触及了电磁波传播的本质。本文就围绕这个问题,做一个清晰的整理。 一、电磁波的叠加:本质是场的矢量相加 电磁波不是某种“实体小球”的流动,而是空间中的电场和磁场随时间和空间变化的传播过程。 如果在同一时空位置上,同时存在两束电磁波,那么总场就是它们各自场的和:Etotal=E1+E2\mathbf{E}_{\text{total}}=\mathbf{E}_1+\mathbf{E}_2Etotal​=E1​+E2​ Btotal=B1+B2\mathbf{B}_{\text{total}}=\mathbf{B}_1+\mathbf{B}_2Btotal​=B1​+B2​ 这里要注意两点: 第一,电场和磁场都是矢量,所以不是简单地把大小相加,而是要考虑方向。 第二,真正叠加的是场本身,而不是“强度”直接相加。 这就是电磁波叠加原理的基本内容。 二、为什么电磁波可以叠加 原因在于:在通常情况下,电磁波满足的麦克斯韦方程组是线性的。 线性意味着什么? 如果某一组电场、磁场是方程的解,另一组也是方程的解,那么这两组场相加之后,仍然是方程的解。 也就是说: 所以,电磁波相遇时并不是像两个物体碰撞那样“互相改造”,而只是各自的场在局部区域同时存在,形成一个合成后的总场。 三、干涉是如何出现的 设想两束同频率、同偏振的简谐电磁波:E1=E0cos⁡(kx−ωt)E_1=E_0\cos(kx-\omega t)E1​=E0​cos(kx−ωt) E2=E0cos⁡(kx−ωt+ϕ)E_2=E_0\cos(kx-\omega t+\phi)E2​=E0​cos(kx−ωt+ϕ) 它们叠加后的总场为:E=E1+E2E=E_1+E_2E=E1​+E2​ 利用三角恒等式可得:E=2E0cos⁡(ϕ2)cos⁡(kx−ωt+ϕ2)E=2E_0\cos\left(\frac{\phi}{2}\right)\cos\left(kx-\omega t+\frac{\phi}{2}\right)E=2E0​cos(2ϕ​)cos(kx−ωt+2ϕ​) 这个结果说明: 这就是干涉现象。 四、要区分“场的叠加”和“强度的变化” 很多困惑都来自把“场”和“强度”混在了一起。 电磁波强度通常与场的平方成正比,例如:I∝E2I \propto E^2I∝E2 因此,叠加后的总强度不是简单的 I1+I2I_1+I_2I1​+I2​,而是:I∝(E1+E2)2I \propto (E_1+E_2)^2I∝(E1​+E2​)2 展开后得到:I∝E12+E22+2E1E2I \propto E_1^2+E_2^2+2E_1E_2I∝E12​+E22​+2E1​E2​ 最后这一项 2E1E22E_1E_22E1​E2​ 就是所谓的干涉项。它使得某些区域更亮,某些区域更暗,也使得相交区域内的场分布显得复杂。 但这里需要强调一点: 复杂的是局部的总场分布,不代表两束波失去了各自原本的传播特征。 五、两束电磁波相交时,真正发生了什么 假设两束波分别沿不同方向传播,对应两个不同的波矢:k1,k2\mathbf{k}_1,\quad \mathbf{k}_2k1​,k2​ 那么它们可以写成类似这样的形式:E1∝cos⁡(k1⋅r−ωt)E_1 \propto \cos(\mathbf{k}_1\cdot …

如何比较深入地学习无线电原理

很多人接触无线电,往往是从设备开始:收音机、对讲机、RTL-SDR、树莓派、天线、频谱图。这样入门并没有问题,但如果目标不是“会用”,而是“真正理解”,那么学习路径就不能只围绕设备和操作展开。 真正的无线电原理,核心并不神秘。它本质上是在研究一件事: 信息如何变成电信号,如何被搬运到高频载波上,如何通过空间传播出去,又如何在接收端被还原回来。 只要沿着这条主线学习,整个无线电知识体系就会逐渐连成一个整体,而不是零散的名词堆积。 一、先建立最底层直觉:什么是无线电 无线电不是“空气中突然有了信号”,而是电磁现象的一种工程应用。 从最底层看,必须先理解以下几点: 这一步很关键。因为如果这一层没有直觉,后面的调制、接收机、滤波器、混频、中频、SDR,都会变成机械记忆。 无线通信之所以存在,是因为原始信息本身通常并不适合直接远距离辐射。例如人的语音频率太低,不适合高效地通过普通天线发射。于是就需要把低频信息“搬运”到高频载波上,再通过天线辐射出去,在接收端再恢复出来。 这就是无线电的第一性原理。 二、频率、波长、周期、带宽:必须牢固掌握的基础 无线电世界最核心的语言,不是设备型号,而是频率。 1. 频率 频率表示每秒振动多少次,单位是 Hz。 2. 周期 周期表示完成一次振动需要多长时间,通常记作:T=1fT = \frac{1}{f}T=f1​ 3. 波长 波长表示波传播一个周期所对应的空间长度,在真空中满足:λ=cf\lambda = \frac{c}{f}λ=fc​ 其中 ccc 为光速。 这条公式非常重要。因为频率不仅是一个抽象数值,它直接决定很多实际特性: 例如: 只要把这个数量级记住,很多工程问题就开始有直觉了。 4. 带宽 带宽常常被误解。严格来说,一个理想单频正弦波只有一个频率点,不占“宽度”。但真实世界中的信息信号几乎一定会占据一段频率范围,这一段范围就是带宽。 带宽和信息复杂度密切相关。信息越丰富,通常需要占据的频率范围越大。后面学习调制、滤波、采样、频谱时,这个概念会不断出现。 三、正弦波、振幅、相位、叠加:无线电的基本语言 无线电里最基本的数学对象就是正弦波。很多复杂信号,最后都能拆回到一组正弦波。 理解正弦波时,至少要真正理解四个量: 其中,相位尤其容易被初学者轻视,但实际上后面很多关键技术都离不开它,例如: 还要理解“叠加”这个思想。两个波可以在同一点同时存在,它们的效果会按线性方式叠加。正是因为可以叠加,才会出现: 如果这一关没有通过,后面看到频谱图、瀑布图、IQ 图,往往只能“看见现象”,却不知道为什么会这样。 四、为什么要调制:无线电系统的真正入口 调制不是某种额外的技巧,而是无线通信存在的核心原因之一。 原始信息往往不能直接高效发射,或者发射效果很差,所以需要让一个高频载波按照信息变化的规律发生变化。这个过程就是调制。 最基本的三种思路是: 所以,调制的本质不是“加密”或者“特殊处理”,而是让高频信号携带低频信息。 学习顺序上,最好先学模拟调制,再学数字调制。因为模拟调制更直观,更容易把“信息附着在载波上”的概念建立起来。 五、先学 …

一次 Linux LVM 根卷组重命名后的启动链路修复记录

背景 某台 Linux 主机使用 LVM 管理根分区,系统原本可以正常启动。后续为了统一命名规范,对卷组名称进行了重命名。重命名本身成功,LVM 层状态正常,但随后出现了两个典型问题: 这类问题的本质并不在于 LVM 重命名失败,而在于启动链路中的历史引用没有被同步更新。也就是说,LVM 元数据已经变了,但 GRUB、内核命令行、initramfs、fstab 等位置仍然残留旧名字。 本文记录一次完整的排查与修复过程,并总结出一套可复用的方法。 现象 在卷组重命名之后,LVM 状态看起来已经正常,例如: 但是执行以下命令时会出错: update-initramfs -u -k all 报错类似: cryptsetup: ERROR: Couldn’t resolve device /dev/mapper/旧卷组-rootcryptsetup: WARNING: Couldn’t determine root device 继续执行: update-grub 又会报错: /usr/sbin/grub-probe: error: failed to get canonical path of `/dev/mapper/旧卷组-root’. 这说明系统运行态已经基于新逻辑卷工作,但启动配置里仍然有旧名字残留。 问题本质 LVM 的卷组名变更,只会修改 …

互联网的诞生:从 ARPANET 到 World Wide Web

互联网已经成为现代社会最重要的基础设施之一。然而在二十世纪中期,计算机仍然是彼此孤立的大型设备。互联网的出现并非一次性发明,而是几十年技术积累的结果。从早期计算机互联需求,到 ARPANET 的建立,再到 TCP/IP、DNS 与 World Wide Web 的出现,一条清晰的技术演化路径逐渐形成。 本文按照时间顺序,简要梳理互联网诞生的关键历史节点。 一、互联网出现之前:孤立的计算机时代(1950s–1960s) 二十世纪五十至六十年代,计算机具有以下特征: 通常一台计算机会服务一个机构,例如大学实验室、科研机构或军方单位。不同机构之间的数据交换主要依赖磁带、纸带等离线方式。 随着科研合作需求增加,一个问题逐渐显现: 如何让不同计算机之间实现远程通信和资源共享。 这一需求成为计算机网络研究的起点。 二、ARPANET:互联网的起点(1969) 互联网历史通常以 ARPANET 作为起点。 ARPANET 由美国国防部的 ARPA(Advanced Research Projects Agency) 资助建设,其目标是让不同科研机构的计算机能够互联。 1969 年,ARPANET 建立了最初的四个节点: 这些节点通过专用通信线路连接,形成最早的计算机网络。 互联网历史上的第一条消息 1969 年 10 月 29 日,UCLA 向 Stanford Research Institute 发送远程登录指令: login 系统在发送过程中崩溃,仅成功传输前两个字符: lo 因此,互联网历史上的第一条网络信息实际上是: lo 这一事件后来成为互联网发展史中广为流传的一个细节。 三、关键技术:分组交换(Packet …

构建全球域名变化观测系统:从 Root DNS 到 Zone File 监控

一、DNS 根服务器体系 DNS(Domain Name System)是互联网最核心的基础设施之一。在 DNS 架构中,最顶层是 Root DNS(根服务器)。 全球共有: 13 个逻辑根服务器 它们分别为: 需要注意的是: 当前全球 root server 节点数量已经超过: 因此根服务器实际上分布在全球各地,例如: 日本的 M-root 由 WIDE Project 运营。 二、Root Zone 的规模 Root DNS 的数据量其实非常小。 Root zone 文件记录的内容是: 也就是说,它只保存: 当前 root zone 文件大小大约: 包含 DNSSEC 后约: 因此: 整个 Root DNS 可以轻松镜像。 获取地址: 三、监控 Root …