3.2 采样定理与频谱搬移


3.2 采样定理与频谱搬移

本节摘要:奈奎斯特采样定理规定:采样率必须高于信号最高频率的两倍,否则高频成分会"折叠"成低频假信号,即混叠。复数(I/Q)采样有一条重要的宽限:只要求采样率高于信号带宽,而不必高于最高频率的两倍——这正是 SDR 能用 2.048 MSPS 处理 GHz 级信号的原因。本节用频谱搬移图解释这条宽限,并给出混叠的实验复现。

从一个问题开始

一个尖锐的疑问值得放在最前面:R820T2 能调谐到 1700 MHz,RTL2832U 却只有 2.048 MSPS——采样率比信号频率低了几百倍,凭什么不算欠采样?

答案藏在"采样发生在哪一级"。RTL-SDR 并没有对 1700 MHz 的射频直接采样:R820T2 先把目标信号混频搬到了约 3.57 MHz 的低中频,RTL2832U 采样的对象是这个已经搬移过的信号,其"带宽"只有两三 MHz。采样的对象从"频率很高的窄带信号"变成了"频率不高、带宽同样窄的信号",2.048 MSPS 自然够用。理解了"采样前先搬移",采样定理在 SDR 里的所有应用都会豁然开朗。

采样定理的两种表述

经典表述针对实数采样:采样率 fs 必须大于信号最高频率 fmax 的两倍。这个"两倍"来自混叠的几何:采样相当于把频谱以 fs 为周期不断复制搬移,各份副本若互相重叠,重叠区的频率成分就混在一起无法分离。实数信号的频谱正负对称,占满正负两个半轴,副本之间要留出干净空隙,就需要两倍最高频率。

复数采样放宽到另一种表述:fs 大于信号带宽 B 即可。原因是 I/Q 记录了相位,频谱不再正负对称——正频率与负频率各装各的信息,带宽 B 的复数信号只需 B 的频谱空间。对 RTL-SDR 这类输出复数样本的设备,这条表述才是实际使用的:2.048 MSPS 对应 2.048 MHz 的可用带宽,中心频率靠调谐器搬移来选。记住这组对应关系,后面调采样率时你就是在"缩放视野窗口"。

图:采样即频谱周期性复制——搬移与混叠的几何

图:采样即频谱周期性复制——搬移与混叠的几何

混叠复现实验:亲手制造一次折叠

混叠不该只停留在定义上,两分钟就能让它现形。用 8 kHz 采样率去采一个 6 kHz 正弦:6 kHz 高于 8 kHz 的一半(4 kHz),于是折叠到 8 减 6 等于 2 kHz 处——你会在频谱上看到一个 2 kHz 的"幽灵"。

import numpy as np import matplotlib.pyplot as plt fs = 8000 t = np.arange(0, 0.1, 1 / fs) x = np.sin(2 * np.pi * 6000 * t) # 6 kHz,超过 fs/2 = 4 kHz N = 4096 spec = np.abs(np.fft.rfft(x[:N] * np.hanning(N))) f = np.fft.rfftfreq(N, 1 / fs) peak_f = f[np.argmax(spec)] print(f"输入 6000 Hz,实测频谱峰在 {peak_f:.0f} Hz") # 输出约 2000 Hz plt.plot(f, spec); plt.xlabel("频率 Hz"); plt.ylabel("幅度") plt.title("混叠:6 kHz 折叠到 2 kHz"); plt.show()

在 SDR 实操中,混叠最常出现在两类场合。一是抗混叠滤波没做就抽取(上一节的顺序铁律);二是调谐器自身对超范围强信号的响应——R820T2 在极端情况下会对带外强台产生混叠产物,表现为"频谱上出现本不该有的信号"。看到可疑信号时,先怀疑混叠再怀疑奇迹:换个采样率看它是否移动,移动的就是折叠像。

频谱搬移:SDR 的调谐本质

把"搬移"讲透需要一点乘法数学。信号乘以余弦本振,在频域等于频谱向左右各平移一个本振频率——这就是混频。R820T2 内部把调谐频率的信号搬到 3.57 MHz,RTL2832U 再用数字混频把低中频搬到零频;你的软件里做的每次"数字下变频",同样是一次频谱平移。第 4 章 FM 解调、第 5 章 GNU Radio 的 Frequency Xlating FIR 模块,本质上都在重复这一个动作:乘复指数,把感兴趣的部分平移到中心。

频谱搬移还解释了一个实操细节:同一信号换不同的中心频率设置,它在频谱图上的位置跟着变,但形状不变——因为搬移只改变坐标,不改变信号内容。调谐的本质是"选择把哪一段频谱平移到视野中央",而不是"过滤"。

常见问题

问题:复数采样为什么可以只满足"fs 大于带宽"?

实数采样丢失相位信息,正负频率频谱被迫对称、必须都装进采样窗口;复数(I/Q)采样记录了相位,正负频率各自独立承载信息,窗口只需要覆盖信号自己的带宽。一句话:相位信息把频谱空间省了一半。这也是所有 SDR 源都输出 I/Q 而不是单路实数的原因。

问题:怎么判断频谱图上的信号是不是混叠的折叠像?

换采样率或换中心频率再看:折叠像会随参数变化移动甚至消失,真实信号只会随调谐移动、不随采样率消失。第二个特征是位置:折叠像常出现在视野边缘或中心附近,与调谐器的实际响应对不上。可疑时先怀疑混叠,再谈新发现。

问题:直流尖峰怎么消除?

零中频的本振泄漏集中在零频,处理办法有三:调谐时故意偏移几十 kHz,软件里再数字变频回来(offset tuning,最常用);或开启硬件的直流消除寄存器(RTL-SDR 驱动支持);或在校准时记录零频幅度,处理时减掉。第一种最通用,GNU Radio 里一个 Xlating FIR 就顺手完成。

问题:调谐器会"偷懒"吗——设定频率和实际频率不一致怎么办?

会。R820T2 的频率合成器按固定步进(约 1 kHz 量级)逼近设定值,落点可能有微小偏差,叠加晶振频偏后实际中心可能偏离数百赫兹到数十千赫。这就是 2.2 节强调频偏校准的原因:校准曲线测好后,所有调谐都在软件里反向补偿。

问题:书本上的"带通采样"在 RTL-SDR 里用得上吗?

用不上也不必用。带通采样(欠采样)是故意用低于最高频率两倍的速率去采窄带射频信号,吃的是 ADC 模拟带宽的余量;RTL-SDR 的调谐器已经把信号搬到了低中频,采样对象本来就不高。带通采样真正的主场是无混频器的直采架构——理解它的价值在于看懂第 7 章直采设备的参数表。

本节要点回顾

  • 奈奎斯特准则的复数版:fs 大于带宽 B 即可,RTL-SDR 的 2.048 MSPS 对应 2.048 MHz 视野。
  • 采样的频域本质:频谱以 fs 为周期复制,重叠即混叠,欠采样信号会折叠成低频幽灵。
  • 混叠鉴别法:改采样率看可疑信号是否移动。
  • 调谐的本质是频谱搬移:混频即乘本振,平移频谱到零频或低中频。

下一节进入实操主体:把 I/Q 文件变成平均频谱图与瀑布图,用真实频段的照片认出广播、航空与遥测信号。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U