☰
6G太赫兹室内覆盖仿真实战:超大规模MIMO波束赋形与链路预算拆解
2026/10/7 4:22:29 网站建设 项目流程

做6G网络仿真,最怕的不是模型复杂,而是搭了一个看似很完整的框架,结果连一个能落地的案例都拿不出来。这个系列写到第六篇,前面几篇聊过信道模型、天线阵列、仿真工具的基本思路,这篇我直接拿一个在实验室实际跑过的案例出来拆:场景怎么定义、参数怎么定、信道怎么建模、结果怎么读,以及我在这中间踩过哪些坑。案例选的是室内办公环境下的300 GHz太赫兹频段覆盖仿真,用超大规模MIMO做波束赋形,这是6G预研里最常见的候选技术组合,也是“无线网络仿真”被问得最多的一块。

你如果正准备上手无线网络仿真,或者论文里缺一张像样的覆盖图、一版能解释的CDF曲线,这篇可以当作一个照着改的模板。我的建议是别一上来就追全协议栈仿真,先把物理层和覆盖这件事做扎实,后面再让调度、切换这些上层逻辑慢慢补进来,否则复杂度会把你压垮。下面就是这次仿真的完整拆解。

1. 从零定义一个6G仿真案例:先搞清楚要回答什么问题

1.1 为什么选室内太赫兹加超大规模MIMO这个组合

6G没有正式标准,业界做的都是候选技术预研。太赫兹通信和超大规模MIMO(XL-MIMO)是出现频率最高的两个方向:太赫兹提供超大带宽,理论速率能到几十甚至上百Gbps;超大规模MIMO用几十上百个天线阵元做波束赋形,用来对抗高频段严重的路径损耗。两个技术天然适合放在一起验证。

但正因为这两个方向太热,很多人仿真时容易犯一个毛病:什么都想加进去,结果仿真模型臃肿到跑不动,最后只能降低规模凑结果。我选“室内+太赫兹+XL-MIMO”这个组合,是三个层面的考虑:

  • 太赫兹频段覆盖范围小,在室内场景里最贴近实际部署,室外远距离覆盖在相当长时间内都不现实。
  • 室内电磁环境相对可控,反射、遮挡可以简化建模,方便把核心结论讲清楚。
  • 这个组合在论文和项目预研里被问到的概率最高,做一次仿真能同时满足链路预算、波束管理、覆盖评估多个目标。

选场景这件事,本质上是在回答一个问题:这次仿真到底要证明什么。我的答案是,验证“在300 GHz频段,用256阵元的面阵和多大的发射功率,能把一个40米乘30米办公区的覆盖做到什么程度”。这个问题足够具体,后面所有建模和参数选择都围着它转。

1.2 仿真场景与评价指标:40米乘30米办公区怎么量化

场景尺寸我定的是40 m × 30 m,高度3 m,模拟一个开放办公区。为什么取这个尺寸?因为太赫兹室内覆盖半径通常在10到20米,40米乘30米的空间足够容纳多台接入点(AP),又能看出边缘覆盖的差异,不会因为空间太小让所有位置的性能都差不多。

AP部署我采用三台,坐标分别放在(10,10)、(30,10)、(20,25),单位是米,高度统一2.8米。用户侧不是一个个独立终端,而是把整个地面网格化采样,每隔1米取一个位置点,那么40×30的区域就有大约1200个采样点。网格化采样比随机撒点更稳,结果可复现,画热图也方便。

评价指标设为这几个:

  • 覆盖概率:接收信噪比SNR大于解调门限的位置占总采样点的比例。
  • 边缘用户性能:CDF曲线上的5%分位点,也就是最差的那5%位置能拿到多少速率。
  • 平均频谱效率:整体区域的单位带宽速率,用来对比不同配置。
  • 波束训练开销:完成全区域波束扫描需要的时间开销。

这里有一个容易被忽略的点:在6G频段,“平均性能好”没有太大意义,因为覆盖概率和边缘用户性能才是决定系统能否商用的关键。老板或审稿人看到一张只写了平均覆盖率的图,第一反应就是问边缘怎么样。所以指标里一定留一个针对边缘的统计量。

2. 工具选型与信道建模:决定仿真成败的两个前置动作

2.1 工具选择逻辑:MATLAB为主、NS-3为辅

仿真工具我在前几篇里聊过,但案例级别还是值得再说明一下选型逻辑。这次仿真我选了MATLAB,重点用Phased Array System Toolbox和5G Toolbox,信道部分没有完全用工具箱自带函数,太赫兹分子吸收和超宽带特性是拿脚本自己算的。

为什么不用NS-3?NS-3擅长的是协议和系统级仿真,调度、重传、MAC行为这些东西它支持很全,但物理层的信道精度和天线阵列自由度不如MATLAB灵活。我这个案例核心是覆盖和链路预算,物理层细节决定一切,MATLAB改起来最快。如果你之后要做完整的接入协议、多用户调度仿真,再把MATLAB算好的信道响应导给NS-3跑上层,这样的组合会更合适。

选型上还有一条经验:先确定你要回答的问题在哪一层,再选工具。信道物理层的事情别拿协议仿真器硬算,协议交互的事情也别在物理层工具箱里硬撑,后者会让代码复杂十倍。

2.2 太赫兹信道模型:路径损耗和分子吸收怎么建模

太赫兹信道建模跟sub-6 GHz最大的区别在于两点:自由空间路径损耗极高,分子吸收不能忽略。300 GHz对应波长1毫米,就算距离只有1米,自由空间损耗也高达82 dB。这个数字很多人第一次算出来都以为公式用错了,实际上它是高频段的物理现实。

分子吸收损耗来自大气中的氧气和水蒸气,在ITU-R P.676建议书里有完整模型,仿真时按频点查系数就行。常用的做法是查表后拟合成一个线性系数,写成下面这种简化路径损耗模型:

PL_total(dB) = FSPL(dB) + α(dB/km) × d(km)

FSPL(dB) = 20log10(4πd/λ)

其中α是分子吸收系数,单位是dB/km,注意不是dB/m。我之前见到不止一个人把单位看错,算出来损耗被放大了1000倍,覆盖图全红。这个单位问题我放到后面的排查章节再详细说。

在本案例中,我按300 GHz频点和正常室内温湿度条件,取α约为300 dB/km作为计算参考,也就是每米0.3 dB。实际仿真时我逐频点查表后内插,室内10米距离的吸收损耗大致在3 dB左右,相对82到100 dB的自由空间损耗不算大,但10 GHz以上带宽的频段选择还是要看吸收谷值,这是太赫兹频率规划的基本功。

2.3 天线阵列与波束码本设计:256阵元怎么装进仿真里

天线配置我选了8行乘32列的均匀平面阵列(UPA),总共256个阵元,阵元间距为半波长。在300 GHz下波长1毫米,半波长间距只有0.5毫米,整个阵列物理尺寸大约16毫米乘4毫米,比指甲盖还小。这刚好是太赫兹XL-MIMO的一个核心优势:可以在很小的物理空间里集成海量天线。

阵元数不是随便拍的。256个阵元的理想波束赋形增益是10log10(256) ≈ 24 dBi,这个增益直接进链路预算。如果阵元数降到128,增益就变成21 dBi,覆盖半径明显缩小。你可以把这个关系先算清楚,再回去决定天线方案。

波束码本设计要考虑方位角和俯仰角两个维度。8行负责俯仰,32列负责方位,理想情况下候选波束数量可以达到256个。但全扫描256个波束的开销太大,我用两级搜索:先粗扫64个波束确定大致方向,再在附近做精扫确认,总共大概80次波束测量。这个设计在后面的代码骨架里会体现。

这里最值得注意的一点是俯仰角范围。很多人在室内场景里只把俯仰波束设计在0到30度,结果覆盖图里靠近AP正下方的地方全是盲区。AP挂在天花板2.8米高,近处用户的俯仰角可以到60、70度,码本必须覆盖到接近90度才完整。

3. 仿真实施全流程:从信道生成到结果输出

3.1 五步仿真流程:每一步该干什么

这个案例的仿真流程我拆成了五步,每一步的输入输出都很明确。

第一步是几何计算,对所有采样点计算它到每台AP的距离和到达角度,得到距离矩阵和角度矩阵。第二步是信道计算,把距离代入自由空间损耗公式,加上分子吸收损耗和可选的阴影衰落,得到每个位置的大尺度信道衰减。第三步是波束增益计算,根据到达角度在码本里选增益最大的候选波束,记录对应的波束索引和增益值。第四步是链路预算,叠加发射功率、发射天线增益、接收天线增益、信道衰减,得到每个位置的接收信噪比。第五步是统计输出,把信噪比换算成覆盖率、频谱效率,画热图和CDF曲线。

流程图谁都会画,但有一个实操顺序值得反复提醒:先在小规模网格上把整个流程跑通,再放大到全场景。我一般先用5×5的网格跑一版,确认每条输出曲线都有对应数值,再放开到全尺寸,否则调试时一个矩阵维度错了,你根本分不清是几何问题还是天线问题。

3.2 核心参数配置与链路预算计算

参数配置是仿真记录里必须可追溯的部分。我这次案例的核心参数如下表。

参数取值说明
载频300 GHz太赫兹频段代表频点
带宽1 GHz兼顾仿真开销和系统容量
发射功率20 dBm100 mW量级,太赫兹功放实际水平
发射天线8×32 UPA256阵元,阵元间距半波长
发射增益24 dBi理想波束赋形上限
接收天线单天线初版按0 dBi处理
噪声系数7 dB接收机典型值
解调门限3 dB低阶调制下的最低工作点
分子吸收系数300 dB/km按ITU-R模型内插

链路预算的计算方法可以直接用手算验证。1 GHz带宽下热噪声功率是-174 dBm/Hz加上90 dB,得到-84 dBm,加上7 dB噪声系数,等效底噪是-77 dBm。

以10米距离为例,自由空间损耗是102 dB,分子吸收约3 dB,总损耗105 dB。接收功率等于20 dBm加24 dBi减去105 dB,得到-61 dBm,那么信噪比就是-61减去-77,等于16 dB。这个值可以支持较高阶调制。距离拉到20米,自由空间损耗到108 dB,吸收约6 dB,总损耗114 dB,接收功率变成-70 dBm,信噪比降到7 dB。再远到30米,信噪比已经到0.5 dB附近,超出可用范围。

这就是为什么太赫兹室内覆盖必须密集部署AP:单台AP的有效半径大概就20米左右,想覆盖30米以上的区域,要么加AP,要么给终端加阵列天线,没有第三条路。

3.3 代码骨架:信道生成、波束扫描、覆盖统计

下面这段MATLAB风格的代码是我从仿真脚本里抽出来的骨架,逻辑可以复现,但去掉了工程细节,方便你看清主流程。

% 参数定义 fc = 300e9; % 载频 c = 3e8; lambda = c / fc; d_el = lambda / 2; % 阵元间距 Nx = 32; Ny = 8; % 面阵规模 B = 1e9; % 带宽 NF_dB = 7; noise_dBm = -174 + 10*log10(B) + NF_dB; tx_power_dBm = 20; tx_gain = 10*log10(Nx*Ny); % 采样网格 gx = 0:1:40; gy = 0:1:30; [GX, GY] = ndgrid(gx, gy); % AP坐标: 3个接入点 ap_xyz = [10 10 2.8; 30 10 2.8; 20 25 2.8]; SNR_dB = zeros(size(GX)); best_ap = zeros(size(GX)); for idx = 1:size(GX,1)*size(GX,2) % 当前位置 ux = GX(idx); uy = GY(idx); uz = 1.5; best_snr = -inf; for ap = 1:size(ap_xyz,1) dist = norm([ux uy uz] - ap_xyz(ap,:)); az = atan2(ux-ap_xyz(ap,1), uy-ap_xyz(ap,2)); el = atan2(uz-ap_xyz(ap,3), sqrt((ux-ap_xyz(ap,1))^2 + ... (uy-ap_xyz(ap,2))^2)); % 自由空间损耗 fspl = 20*log10(4*pi*dist/lambda); % 分子吸收, alpha单位dB/km alpha = 300; absorb = alpha * dist / 1000; path_loss = fspl + absorb; % 阵列增益: 理想情况下取码本最大波束增益 beam_gain = tx_gain; % 简化, 详细波束扫描见工程脚本 snr = tx_power_dBm + beam_gain - path_loss - noise_dBm; if snr > best_snr best_snr = snr; best_ap(idx) = ap; end end SNR_dB(idx) = best_snr; end % 覆盖判断 coverage_prob = mean(SNR_dB(:) > 3);

这段代码里我特意简化了波束增益的计算,直接取理想最大值。真实工程脚本中,这里要替换成遍历码本、计算每个候选波束方向上的阵列响应并取最大值的循环。关于码本的实现,Phased Array System Toolbox里有现成的相移波束赋形函数可以用,但注意它给的是理想方向图,如果要考虑阵元互耦,就得换全波仿真软件把方向图导出来再灌进系统仿真,那是另一个量级的复杂度。

3.4 结果怎么解读:覆盖热图、CDF曲线和边缘用户

仿真跑完,第一步输出的是覆盖热图。从热图上看,三台AP覆盖范围内大部分区域信噪比都超过10 dB,近AP位置可以达到18到20 dB,AP间的交界区域在8 dB左右,是靠波束增益撑住的。区域四角是覆盖质量最差的地方,尤其右下角离三台AP都远,信噪比在3 dB上下浮动。

覆盖率统计下来,三台AP、256阵元、20 dBm发射功率、1 GHz带宽这套配置,在3 dB门限下的覆盖概率大约在95%左右。如果把AP数从三台减到两台,覆盖率直接掉到约80%,说明在这个尺寸的空间里,低于三台AP很难保证基本覆盖。

第二张必出的图是信噪比或吞吐量的CDF曲线。CDF曲线的横轴是信噪比或速率,纵轴是累积概率,看的是“有多少比例的用户低于某个值”。我这版仿真跑出来,5%边缘信噪比大概在2到3 dB,正好贴着解调门限。如果你部署方案里边缘用户信噪比普遍低于门限,那就必须返工改参数,这个红线要在设计阶段划清楚。

第三部分是速率换算。1 GHz带宽下,近AP区域信噪比16到20 dB,考虑256QAM以上调制,单用户峰值速率可以做到5到6 Gbps量级;边缘信噪比3 dB的话,速率掉到1到2 Gbps。这个数量级供参考,具体数据依赖编码和调制实现细节。

4. 仿真踩坑实录:四个最常遇到的问题与排查方法

4.1 仿真爆炸:内存和计算复杂度失控

我第一次跑这个案例,把网格、链路、天线全部写成矩阵一次性算,结果1 GHz带宽下,光是对每一个采样点保留每个AP的完整信道矩阵就占了几十个GB内存,笔记本直接罢工。

后来改成逐点循环,每个点只计算自己需要的那部分信道响应,内存瞬间降下来。再进一步,把波束扫描部分从“全码本遍历”改成“粗扫加精扫”,计算量降了三分之二。结论是:不要为了代码好看而把整个场景矢量化,内存和算力是你的第一约束。

实在要省时间,建议先在小规模网格上跑通,确认输出正常,再逐步放大。我见过有人一上来就开全尺寸网格,结果凌晨三点发现天线增益少算了一个对数项,全部重跑。

4.2 覆盖图边缘全是洞:波束码本方向覆盖不足

有版仿真结果里,AP正下方和两个AP连线的中间区域出现了一些低信噪比“洞”。刚开始我怀疑是路径损耗算错了,查了一圈发现是波束码本的俯仰角范围设得太窄。

AP吸顶安装,用户靠近AP时到达俯仰角很大,如果码本只覆盖0到30度,这些近垂直方向的用户就选不到好波束,只能拿旁瓣和低增益拼凑,导致覆盖图出现奇怪的空洞。把俯仰角范围扩到0到90度之后,问题立刻消失。这个坑太典型了,几乎每个第一次做室内高频覆盖仿真的人都会碰到。

排查方法是:把每个采样点的最佳波束索引导出来画一张“波束覆盖图”,如果一个方向上的波束几乎没被选中过,优先怀疑码本方向范围有问题。

4.3 结果与理论链路预算对不上:分子吸收系数单位搞错

有一版结果覆盖概率低到不可理喻,所有距离都像是衰减了几千倍。查了半天是分子吸收系数单位问题:理论公式里α单位是dB/km,我引入代码时按dB/m理解,相当于额外多算了1000倍的损耗,整个覆盖区域边缘瞬间全黑。

这种错误最坑的地方在于,它不会让代码报错,反而是“逻辑很顺”地跑完,最后结果完全不符合物理直觉。我后来给自己定了一个规矩:凡是导入新模型,先用一个已知简单场景对标理论计算,比如单点、10米、无阴影场景下手算一遍链路预算,对得上再扩大场景。10分钟就能排查掉80%的单位和换算错误。

4.4 只看平均指标被批评:学会用CDF和可视化说话

前几版报告里我只放了平均覆盖率和平均速率,评审意见直接写着“边缘性能存疑”。后来补上了信噪比CDF曲线和覆盖热图,问题才讲清楚。平均指标会掩盖“一角覆盖特差”的真实情况,而CDF曲线能把分布完整呈现出来。

热图适合看空间分布,哪个角落覆盖差一目了然;CDF适合看统计分布,边缘用户和整体分布的位置直接可读。这两张图建议作为仿真案例的基本输出组合,缺一张都容易被挑战。

5. 案例扩展思路:从单场景仿真到完整网络评估

5.1 多AP协作与干扰管理

这套覆盖仿真只能回答单AP链路的覆盖问题,还谈不上完整的网络级评估。下一个自然扩展是引入多个AP之间的干扰:用户同时收到多个AP的信号,需要判断是选择强服务AP,还是做多点协作发送,或者在系统级做用户调度避免碰撞。

干扰模型改动不大,在链路预算里把其他AP的信号当作干扰项算信干噪比SINR就行。但调度带来的复杂度会明显增加,这就是进入NS-3或自研系统级仿真的领域了。建议在MATLAB先把SINR分布做出来,确认潜在干扰强度,再决定是否需要做协作。

5.2 智能超表面(RIS)增强覆盖对比

RIS在6G里出镜率极高,它本质上是“把反射面做成可调的天线阵列”。仿真时可以把RIS当成一个挂在墙上的无源反射节点:入射链路算基站到RIS的损耗,反射链路算RIS到用户的损耗,中间再叠一个RIS反射增益。常见的做法是把RIS建模成带相位控制的低增益天线,反射增益一般在5到15 dBi区间,具体取决于RIS单元数量和排列。

这个扩展对覆盖仿真最典型的收益是补盲区:在LOS被遮挡的位置挂一块RIS,把覆盖图的“洞”补上。做这个对比时要控制变量,只切换有无RIS,其他参数保持不变,否则结果没法解释。

5.3 仿真前先分清层级:信道、协议、电磁三个方向不是一回事

很多刚接触仿真的同学会混淆“无线网络仿真”这个概念。这里其实分多个层级:我前面做的太赫兹覆盖仿真属于物理层无线信道仿真;类似ensp里的无线配置实例、RADIUS认证接入属于协议与管理层仿真;像电源网络带磁珠的平面阻抗仿真(PowerSI那类)属于电磁兼容与完整性方向。这些方向工具完全不同,结论也不通用。

动手前先想清楚你的问题在哪个层级。物理层覆盖问题用链路预算和信道模型;网络接入和漫游认证问题用协议仿真器;硬件布板问题用电磁场仿真工具。我见过不少项目从一开始就选错了工具,后面花再多精力也难出成果。选对层级,比选对工具还要重要。

5.4 刚开始做6G仿真的人,我建议你先问自己三个问题

第一,你要回答的核心问题是什么,是覆盖、容量、干扰还是协议流程?第二,你手里的数据在什么层级能拿到,是信道响应、调度记录还是电磁场分布?第三,仿真结果能不能用一张图或一张表说清楚,如果不能,问题定义还不够聚焦。

我个人的习惯是,每次跑完仿真,把随机种子、所有中间变量、脚本版本都存档。两周后回来复盘时,能省下好几个小时的“我当时到底怎么算出这个数”的回忆时间。仿真这事,看起来难在建模,实际上难在可复现、可解释、可迭代。把这些基本功做好,6G网络仿真并没有想象中那么神秘。

最后再分享一个小技巧:动手写代码前,先在手边做一份“参数清单和链路预算Excel”,把上面那张参数表配一个手算链路。仿真出的任何结果,先跟手算数量级对一遍,对得上再继续扩展场景。我第一次跑太赫兹覆盖仿真就是因为偷懒跳过这步,浪费了整整两天调试一个单位错误。希望你不用再踩这个坑。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询