前面把空间和频率都榨干,本节补上另一套几乎相反的思路:把信号故意摊成比原带宽宽得多的频谱,靠"摊开"换取抗干扰与抗多址——这就是扩频与 CDMA;再讲窄带数据怎么靠多个节点协作、或靠干扰消除互相帮衬变强。它提醒你"带宽不一定越大越好"的特例也有逻辑。
前面几章教我们把带宽一点点收窄、把频谱用得更挤,可扩频偏偏反着来:先把信号摊得比原来宽十倍百倍。站在频谱效率的账本上,这简直是自讨没趣;可站在抗干扰的战场上看,宽有宽的好——把信号摊薄,就像把一只固定大小的墨水滴进一大摊水里,原本能一口吞掉它的窄带电钻,现在只能污染一小片。这一节就把"摊薄换啥"这笔账翻出来:处理增益从哪来、抗窄带干扰和多径怎么靠它、多用户怎么共用一条宽谱,再补上干扰消除与协作中继这两招"把对手变成帮手"的手段。
阅读完本节,你应当能够:
前面总在收窄带宽、提高频谱效率,可扩频拧过来:拿一条远高于数据的"码片序列"去乘信号,把信号带宽撑宽十倍百倍。乍看荒唐,可它有四个连环好处的账:
这些好处归根结底来自一个叫处理增益的数:约等于"扩频后带宽 / 数据带宽",也可写成 10·log10(码片速率/数据速率) dB。处理增益就是扩频链路的"干扰容忍预算"——它告诉你把多强的干扰摊薄后还能扛住。

扩展谱像摊开的一大摊颜料,横跨老宽一段频率;混进来的窄带干扰只能盖住当中一小片。解扩时,整段宽谱被相关器"收拢"回窄带,那点干扰也跟着被摊回噪声水平——只伤一个码片级的能量,这就是处理增益在物理上的形状。
把"相乘摊宽、相关揪回"落到动手:
import numpy as np N = 16 # 码片/符号,即扩频因子 pn = np.random.choice([-1.0, 1.0], N) data = np.array([1.0, -1.0, 1.0, -1.0]) tx = np.kron(data, pn) # 每符号乘一串 PN 码片(扩频) narrow = 0.9 * np.sin(2*np.pi*np.arange(len(tx))*0.3) # 混入一段窄带正弦干扰 rx = tx + narrow + 0.1*np.random.randn(len(tx)) # 解扩:按符号切回,再与 PN 相关 R = np.reshape(rx, (-1, N)) @ pn print("解扩后(应接近原始符号):", np.round(R / (np.dot(pn, pn)), 3)) # 验证一步:按符号判回 received = np.round(R / (pn @ pn)) print("判回符号:", received)
那个窄带正弦在"相关解扩"后基本没多少残留——因为干扰与 PN 码不相关。这就是"摊宽换干扰容忍"的物理演示,也呼应了第5.3 匹配滤波、第1.2 相关性的同一条主线。
扩频靠"摊薄",另一种更主动的招是干扰消除(IC)。思路是"先大致解出别人,再用它把别人从自己信号里撇掉"。经典分两类:串行干扰消除(SIC)按强弱逐个解、逐个撇;并行干扰消除(PIC)一次性估计所有干扰再全部扣掉。蜂窝上行多用户就是用类似手法把同频干扰一个接一个掰除,容量也因此抬升。代价是要先靠估计把别人的信号还原准,估计偏了反而引噪——给第4.2 的估计质量又上了一当提醒。
单节点深衰落救不回来时,协作通信上场。最简单的中继分两类:
靠让单条链路"多一跳",协作能绕过阴影或跳过多径深谷,这是 5G 里各种中继、甚至无人机中继的技术底子。
第6章四根柱子立完,物理层的脊梁有了。第7章把它们装进蜂窝、Wi-Fi、物联网、卫星——看真实系统怎么选型落地。