第二章:无线信道特性——大尺度与小尺度衰落、多径与多普勒、建模与仿真

各位同学,大家好。今天我们聊聊无线信道。说实话,搞通信系统这么多年,我最大的感触就是:信道是通信系统的“命门”。你算法再牛,芯片再快,信道搞不清楚,一切白搭。我自己刚入行那会儿,就吃过这个亏——在实验室里跑仿真,信噪比漂亮得很,结果一上外场测试,数据掉得一塌糊涂。后来才明白,是信道模型没选对。

所以这一章,咱们把无线信道的几个核心特性掰开揉碎了讲。我会结合我项目里踩过的坑,帮大家把这块硬骨头啃下来。

无线信道特性 大尺度衰落 路径损耗 + 阴影衰落 小尺度衰落 多径效应 + 多普勒频移 建模与仿真工具 MATLAB / NS-3 / 实测 自由空间 对数正态 瑞利/莱斯 Jakes谱 MATLAB NS-3 核心:信道特性决定系统设计的边界

2.1 大尺度衰落:信号在“宏观”层面怎么变

大尺度衰落,说白了就是信号在长距离传输中,能量怎么慢慢“耗光”的。它主要包含两部分:路径损耗阴影衰落

路径损耗很好理解——信号越传越弱。自由空间里,接收功率和距离的平方成反比。但实际场景复杂得多,比如城市里高楼林立,损耗指数可能到4甚至5。我记得有一次做郊区基站覆盖规划,按自由空间模型算出来覆盖半径2公里,结果实测只有1.2公里。后来发现是那片区域有片密林,等效损耗指数到了3.8。嗯,从那以后我学乖了,做链路预算时一定留够余量。

阴影衰落呢?它是由大型障碍物(比如山丘、建筑群)引起的“慢变”波动。通常用对数正态分布来建模。标准差一般在4~12 dB之间,视环境而定。

实用公式(对数距离路径损耗模型):

PL(d) = PL(d0) + 10 * n * log10(d/d0) + Xσ

其中 n 是路径损耗指数,Xσ 是均值为0、标准差为σ的高斯随机变量(代表阴影衰落)。

我的经验:做室外宏站规划时,n取3.5~4.0比较保险。室内场景(比如商场、体育馆)n可以取2.0~3.0。但如果你做的是毫米波,那n值会大得多,甚至到6以上——别问我怎么知道的,都是泪。

2.2 小尺度衰落:信号在“微观”层面怎么抖

大尺度衰落是“慢变量”,小尺度衰落才是真正让通信系统设计头疼的东西。它由两个物理机制主导:多径效应多普勒频移

2.2.1 多径效应——信号自己跟自己打架

你想想看,发射机发出的信号,经过地面反射、墙壁反射、建筑物绕射……到达接收机时,已经变成了几十个甚至上百个“副本”。这些副本到达时间不同、相位不同、幅度不同,叠加在一起——有时候同相叠加(增强),有时候反相叠加(抵消)。

这就是多径效应。它会导致时延扩展频率选择性衰落

  • 时延扩展:最大多径时延与最早到达路径的时间差。如果这个值大于符号周期,就会产生码间干扰(ISI)
  • 相干带宽:Bc ≈ 1 / τ_max。如果信号带宽大于相干带宽,就会经历频率选择性衰落——不同频率分量衰减不一样。

避坑指南:我曾经在一个OFDM系统里,子载波间隔设得太小,结果多径时延扩展超过了循环前缀的长度。那叫一个惨——误码率直接飙到10^-2。后来我把循环前缀从1/4符号长度改到1/2,问题才解决。记住:循环前缀长度一定要大于最大时延扩展

2.2.2 多普勒频移——动起来就变调

多普勒效应大家中学都学过——火车靠近时汽笛声变尖,远离时变低沉。无线通信里也一样。当移动台(比如手机)以速度v运动时,接收信号的频率会发生偏移:

fd = (v / λ) * cosθ

其中θ是移动方向与入射波方向的夹角。最大多普勒频移 fd_max = v / λ。

多普勒频移会导致时间选择性衰落。它的影响可以用相干时间来衡量:Tc ≈ 1 / (2 * fd_max)。如果符号周期大于相干时间,信道就在一个符号内发生了变化——这叫快衰落

典型场景:

场景速度载频2.4GHz载频28GHz
步行3 km/hfd ≈ 6.7 Hzfd ≈ 78 Hz
车载60 km/hfd ≈ 133 Hzfd ≈ 1.55 kHz
高铁300 km/hfd ≈ 667 Hzfd ≈ 7.78 kHz

看到了吧?毫米波下多普勒频移大得多,这也是为什么5G NR对高速场景做了专门优化。

2.3 信道建模与仿真工具

理论讲完了,怎么用?我个人习惯用MATLAB做快速原型验证,用NS-3做系统级仿真。下面给两个实用例子。

2.3.1 MATLAB:瑞利衰落信道仿真

瑞利衰落是最经典的小尺度衰落模型——适用于没有直射路径(NLOS)的场景。下面这段代码我用了好多年,基本没出过问题:

% 瑞利衰落信道仿真(Jakes模型)
fs = 1e6;          % 采样率 1 MHz
fd = 100;          % 最大多普勒频移 100 Hz
N = 10000;         % 采样点数
t = (0:N-1)/fs;

% 生成复高斯随机过程
h = (randn(1,N) + 1j*randn(1,N)) / sqrt(2);

% 应用Jakes多普勒谱(低通滤波)
% 这里用简化的方法:直接乘多普勒相位旋转
theta = 2*pi*fd*t;
h_doppler = h .* exp(1j*theta);

% 绘制幅度响应
figure;
plot(t*1e3, 20*log10(abs(h_doppler)));
xlabel('时间 (ms)'); ylabel('幅度 (dB)');
title('瑞利衰落信道幅度响应 (fd=100Hz)');
grid on;

小技巧:实际项目中,我一般会叠加一个莱斯因子K(直射路径功率与散射路径功率之比)。当K=0时就是纯瑞利,K越大越接近高斯信道。做无人机通信时,K值通常在10~20 dB之间——因为空中遮挡少,直射路径占主导。

2.3.2 NS-3:系统级信道配置

做系统仿真时,NS-3的ThreeGppChannelModel很好用。它实现了3GPP TR 38.901标准中的信道模型,支持UMa、UMi、RMa等场景。

// NS-3 配置示例(C++)
#include "ns3/three-gpp-channel-model.h"

// 创建信道模型
Ptr<ThreeGppChannelModel> channel = CreateObject<ThreeGppChannelModel>();

// 配置场景为城市宏蜂窝(UMa)
channel->SetAttribute("Scenario", StringValue("UMa"));

// 设置载频和带宽
channel->SetAttribute("Frequency", DoubleValue(3.5e9)); // 3.5 GHz
channel->SetAttribute("Bandwidth", DoubleValue(100e6)); // 100 MHz

// 更新信道条件(每100ms更新一次)
Simulator::Schedule(Seconds(0.1), &ThreeGppChannelModel::UpdateCondition, channel);

注意:NS-3的3GPP信道模型计算量比较大。我试过在普通笔记本上跑100个UE的仿真,CPU直接拉满。建议先在小规模场景下调通逻辑,再上大规模仿真。或者用ThreeGppSpectrumPropagationLossModel做简化——速度快很多,精度也够用。

2.4 小结:信道特性决定了系统设计的边界

讲到这里,大家应该明白了:大尺度衰落决定覆盖范围,小尺度衰落决定传输质量。做资源调度时,这两者都要考虑进去。

  • 大尺度衰落:影响链路预算、基站部署密度、切换策略。
  • 小尺度衰落:影响调制编码方案(MCS)选择、HARQ重传策略、MIMO预编码设计。
  • 多普勒频移:影响信道估计更新速率、导频密度、子载波间隔选择。

我个人建议:做系统设计时,先跑一遍静态链路预算(大尺度),再叠加小尺度衰落做蒙特卡洛仿真。这样既能保证覆盖,又能评估链路质量波动的影响。嗯,这套方法论我用了十年,基本没翻过车。


专注资料整理