Skip to content

欠采样:带通信号的欠采样

上一讲拿 1 Hz 正弦、0.909 Hz 采样率试了欠采样。频率折到 0.091 Hz,波形信息没丢。可那只是一根谱线,真实的信号在频域里占一整段范围,比如 5 Hz 到 7 Hz。这时候欠采样还能不能用,全看这段频带离 0 Hz 够不够远。离得够远,才有搬下来的空间。

假设一个信号只占 5 Hz5\text{ Hz}7 Hz7\text{ Hz} 这段频带。先看两端的 5 Hz 和 7 Hz,它们只是边界标记,不是说真实信号只有两根谱线。两端折回来以后没撞在一起,里面的频率才可能整体保住。

先用 4 Hz 采样率同时采这两个边界正弦。

5 Hz 和 7 Hz 正弦与 4 Hz 采样点
5 Hz 和 7 Hz 正弦与 4 Hz 采样点

按采样(三)讲的折回规则,频率超过 fs/2f_s/2 之后会被当成低频。

5 Hz 离最近的采样频率整数倍 1×4=4 Hz1 \times 4 = 4\text{ Hz} 差 1 Hz,折回到

54=1 Hz|5 - 4| = 1\text{ Hz}

7 Hz 离 2×4=8 Hz2 \times 4 = 8\text{ Hz} 也差 1 Hz,折回到

78=1 Hz|7 - 8| = 1\text{ Hz}

两端都落到 1 Hz。本来相隔 2 Hz 的两个边界,采样后挤到了同一个位置。频带的宽度没了。

换成 5 Hz 采样率,结果就不一样了。5 Hz 落到 55=0 Hz|5-5|=0\text{ Hz},7 Hz 落到 75=2 Hz|7-5|=2\text{ Hz}。两端仍然相隔 2 Hz。

两种采样率下边界音的折回位置
两种采样率下边界音的折回位置
采样率5 Hz 折到7 Hz 折到折回后两端间距结果
4 Hz1 Hz1 Hz0 Hz塌缩,不可用
5 Hz0 Hz2 Hz2 Hz间距保持

5 Hz 正弦用 5 Hz 采样,如果相位从零点开始,采出来的全是 0。换成余弦也一样,是一串常数。这个端点贴在折回后的 0 Hz 边界上了,没办法当独立正弦去恢复。

5 Hz 采样下两个边界音的时域序列
5 Hz 采样下两个边界音的时域序列

5 Hz 这个端点退到 0 Hz 附近,不能单独当一根正弦恢复。但 5 Hz 到 7 Hz 这段频带没有像 4 Hz 采样那样塌成一个点。实际系统不会把有用信息压在边界上,会给两端留出保护带。比如信号放在 [5.1,6.9] Hz[5.1,6.9]\text{ Hz},5 Hz 采样后落到 [0.1,1.9] Hz[0.1,1.9]\text{ Hz},离 0 Hz 和 fs/2f_s/2 都有一点余量。

两端之间的频率,比如 5.5 Hz、6 Hz、6.5 Hz,也按同样的规则搬。先看正频率这一侧。5 Hz 采样时,这段频带里的 ff 都满足 f>fsf>f_s,折回位置是

falias=ffs=f5f_{\text{alias}} = f - f_s = f - 5

代入几个点:

50,5.50.5,61,6.51.5,725 \to 0, \quad 5.5 \to 0.5, \quad 6 \to 1, \quad 6.5 \to 1.5, \quad 7 \to 2
正负两侧频带一起搬到基带
正负两侧频带一起搬到基带

真实信号频谱通常有左右对称的一对频带。右侧 [5,7] Hz[5,7]\text{ Hz} 减去 5 Hz 搬到 [0,2] Hz[0,2]\text{ Hz}。左侧 [7,5] Hz[-7,-5]\text{ Hz} 加上 5 Hz 搬到 [2,0] Hz[-2,0]\text{ Hz}。两侧一起落到基带,宽度还是 2 Hz。

带通信号欠采样,利用的是采样产生的频谱副本。它把高频处的一段窄频带搬到低频区。搬下来以后只要不和别的副本重叠,这段频带里的信息就还能分开。

采样在频域里做的事,就是把原频谱按 fsf_s 为间隔复制出一排副本。欠采样能不能用,就看这些副本搬来搬去以后会不会压到一起。

5 Hz 采样时,正频率 [5,7] Hz[5,7]\text{ Hz} 向左平移一个 fsf_s,落到 [0,2] Hz[0,2]\text{ Hz}。负频率 [7,5] Hz[-7,-5]\text{ Hz} 向右平移一个 fsf_s,落到 [2,0] Hz[-2,0]\text{ Hz}。这两份副本都在 [2.5,2.5] Hz[-2.5,2.5]\text{ Hz} 的基带窗口里,彼此没压住。低通滤波器可以把这一对基带副本取出来。

5 Hz 与 4 Hz 采样下的频谱副本关系
5 Hz 与 4 Hz 采样下的频谱副本关系

4 Hz 采样时,副本间隔变成 4 Hz,基带窗口也缩到 [2,2] Hz[-2,2]\text{ Hz}。这时候不能理解成某一小段频谱自己对折回去。真正发生的是正频率、负频率和相邻周期的副本一起挤进基带,在 [2,1] Hz[-2,-1]\text{ Hz}[1,2] Hz[1,2]\text{ Hz} 附近压到同一段位置。重叠以后,接收机分不清哪些能量原来来自 5 Hz 附近,哪些来自 7 Hz 附近。

这也解释了低通低频信号为什么不能这样欠采样。如果信号从 0 Hz 一直占到 fHf_H,频谱本来就贴着基带,没有空出来的高频位置可搬。只要 fs<2fHf_s<2f_H,基带副本就会和相邻副本重叠,混叠躲不掉。带通欠采样能成立,靠的是目标频带和 0 Hz 之间有空隙。

判断副本会不会重叠,有个方便的办法。把频率轴按 fs/2f_s/2 宽度切开,每一段叫一个奈奎斯特区。

[(n1)fs2,  nfs2],n=1,2,3,\left[\frac{(n-1)f_s}{2}, \; \frac{n f_s}{2}\right], \quad n = 1,2,3,\ldots

整段频带落在同一个奈奎斯特区里,搬到基带后就不会跟自己或邻居副本撞在一起。一旦跨过区边界,折回后的内容就会互相压住。

两种采样率的奈奎斯特区划分
两种采样率的奈奎斯特区划分

5 Hz 采样时,区宽 5/2=2.5 Hz5/2=2.5\text{ Hz},第三区是 [5,7.5] Hz[5,7.5]\text{ Hz},信号频带 [5,7][5,7] 整段落在里面。

4 Hz 采样时,区宽 4/2=2 Hz4/2=2\text{ Hz}。第三区是 [4,6] Hz[4,6]\text{ Hz},第四区是 [6,8] Hz[6,8]\text{ Hz}[5,7][5,7] 被 6 Hz 这条区边界切成了两半。

把几个点直接算出来会更清楚。正频率这一侧,4 Hz 采样时:

51,5.51.5,6±2,6.51.5,715 \to 1,\quad 5.5 \to 1.5,\quad 6 \to \pm 2,\quad 6.5 \to -1.5,\quad 7 \to -1

6 Hz 左边的 [5,6] Hz[5,6]\text{ Hz} 落到 [1,2] Hz[1,2]\text{ Hz},右边的 [6,7] Hz[6,7]\text{ Hz} 落到 [2,1] Hz[-2,-1]\text{ Hz}。负频率那一侧也会有对称的副本落进来。

从频谱副本看更清楚。采样后,接收机通常只在 [fs/2,fs/2][-f_s/2,f_s/2] 这个低通窗口里取信号。fs=4 Hzf_s=4\text{ Hz} 时,低通窗口就是 [2,2] Hz[-2,2]\text{ Hz}。正频带的两个副本是

[5,7]4=[1,3],[5,7]8=[3,1][5,7]-4=[1,3],\qquad [5,7]-8=[-3,-1]

负频带的两个副本是

[7,5]+4=[3,1],[7,5]+8=[1,3][-7,-5]+4=[-3,-1],\qquad [-7,-5]+8=[1,3]

低通滤波器只留这些副本落在 [2,2] Hz[-2,2]\text{ Hz} 里的部分。所以 [2,1] Hz[-2,-1]\text{ Hz}[1,2] Hz[1,2]\text{ Hz} 这两段里面,正频带副本和负频带副本压到一起了。重叠已经发生在低通窗口内部,后面不可能再分开。

4 Hz 采样时进入低通窗口的频谱副本
4 Hz 采样时进入低通窗口的频谱副本

一段频带 [fL,fH][f_L,f_H] 要完整落在第 nn 个奈奎斯特区内,需要满足

(n1)fs2fL,fHnfs2\frac{(n-1)f_s}{2} \leq f_L, \qquad f_H \leq \frac{n f_s}{2}

整理成对采样率的限制:

2fHnfs2fLn1\frac{2f_H}{n} \leq f_s \leq \frac{2f_L}{n-1}

nn 就是候选区号,一个一个试。每行检查有没有采样率能让 [5,7] Hz[5,7]\text{ Hz} 整段落进第 nn 个奈奎斯特区。

n=1n=1 是普通低通采样,要求 [5,7] Hz[5,7]\text{ Hz} 落在第一区 [0,fs/2][0,f_s/2] 里,也就是 fs14 Hzf_s\geq 14\text{ Hz}。欠采样从 n=2n=2 往后看:

区号 nn采样率下限 2fH/n2f_H/n采样率上限 2fL/(n1)2f_L/(n-1)允许范围结论
27 Hz10 Hz[7,10] Hz[7,10]\text{ Hz}能用,例如 8 Hz
34.67 Hz5 Hz[4.67,5] Hz[4.67,5]\text{ Hz}能用,例如 5 Hz
43.5 Hz3.33 Hz无解不能用

这张表给了一组候选方案。有允许范围的行都能用。fs=8 Hzf_s=8\text{ Hz} 落在 n=2n=2 那一行,fs=5 Hzf_s=5\text{ Hz} 落在 n=3n=3 那一行,都行。

8 Hz8\text{ Hz} 验证一下。低通窗口是

[fs/2,fs/2]=[4,4] Hz[-f_s/2,f_s/2]=[-4,4]\text{ Hz}

原来的正频带 [5,7] Hz[5,7]\text{ Hz} 向左平移一个 fsf_s,落到

[5,7]8=[3,1] Hz[5,7]-8=[-3,-1]\text{ Hz}

原来的负频带 [7,5] Hz[-7,-5]\text{ Hz} 向右平移一个 fsf_s,落到

[7,5]+8=[1,3] Hz[-7,-5]+8=[1,3]\text{ Hz}

这两段都完整落在 [4,4] Hz[-4,4]\text{ Hz} 里面,中间还隔了一段空隙。图里画了一排副本,低通滤波器只取中间窗口里的那两段。

8 Hz 采样时的频谱副本
8 Hz 采样时的频谱副本

n=4n=4 这行写”无解”,意思是第 4 区走不通。下限 3.5 Hz 比上限 3.33 Hz 还大,没有任何采样率能同时满足两端条件。再往后的区号更不可能。前面试的 4 Hz 不在任何允许范围里,所以副本必然重叠。

最低采样率不一定等于两倍带宽。这里带宽 B=2 HzB=2\text{ Hz},两倍带宽是 4 Hz,但可用下限是 4.67 Hz。4 Hz 采样时,6 Hz 正好是区边界,[5,7] Hz[5,7]\text{ Hz} 会被这条边界切开。要避免重叠,就得把整段频带塞进某个奈奎斯特区,还得保证两端都不跨线。

频带落在奇数区还是偶数区,决定搬到基带后的方向。[5,7] Hz[5,7]\text{ Hz} 在 5 Hz 采样下落在第三区。第三区是奇数区,搬到基带后 5 Hz 在低端,7 Hz 在高端,顺序不变。

落在偶数区的话,搬下来时会发生镜像。原来的低频端跑到高端,高频端跑到低端,频谱翻过来了。

奇数区与偶数区的频谱方向
奇数区与偶数区的频谱方向

翻转本身不等于信息丢了。只要接收机知道这段频带来自偶数区,后面把频谱再翻回来就行。真正丢信息的是副本重叠。重叠以后,不同原始频率已经混在同一个低频位置上,没办法分开了。

通信和雷达接收机,载波频率在几百 MHz 到几 GHz,但真正承载信息的带宽只有几 MHz。前端用模拟带通滤波器只留目标频带,再用欠采样把这段频带搬到较低频率。不用按最高频率的两倍去采样。

拿中心频率 900 MHz、带宽 5 MHz 的信号来说,它大致占

[897.5,902.5] MHz[897.5,902.5]\text{ MHz}

按普通低通信号处理,采样率要高于两倍最高频率,大概是 1805 MHz1805\text{ MHz},ADC 压力很大。但这信号本身只有 5 MHz 宽。带通欠采样的目标,是选一个远低于 1805 MHz 的采样率,让这段 5 MHz 频带的某个副本落到中低频位置,而且不和其他副本重叠。

实际设计不会只看 2B=10 MHz2B=10\text{ MHz} 这一个数。还得检查所选采样率对应的奈奎斯特区,确认 [897.5,902.5] MHz[897.5,902.5]\text{ MHz} 整段落在同一个区内,还要给模拟滤波器留出过渡带。像 15 MHz、20 MHz 这种整数采样率,区边界会落在 900 MHz 附近,反而容易把这段频带切开。工程上要选一个避开区边界的采样率,比如略高于这几个数的值,前提都是副本不重叠、目标频带能被滤出来。

这就是带通欠采样和单频欠采样的区别。单频例子只要知道一个频率会折到哪就行。带通信号得保证整段频带搬下来以后宽度还在、隔离还在。来自偶数区的话,频谱方向翻转也可以后面再处理。ADC 前面的带通滤波器就是这个条件的一部分,负责挡掉目标频带以外的信号。不然带外能量也会一起折进基带,跟目标信号混在一起。