针对matlab系统级仿真例程“Physical Layer Abstraction for System-Level Simulation”的深度解读。此示例演示了用于系统级仿真的IEEE 802.11ax物理层抽象模型。通过与已发布的性能曲线结果进行比较,以验证该系统仿真的正确性。
1.引言
当仿真大型网络时,对每个发射端和接收端进行完整的物理层建模仿真,要求极高的计算成本和时间成本。物理层抽象(PLA,Physical layer abstraction)技术,即链路级到系统级的接口映射技术是一种通过有效映射,准确预测链路性能和降低仿真时间的高效方法。此示例演示了基于TGax评估方法[2]的802.11ax[1]数据包中996个有效数据子载波的PLA。
2.系统级仿真的流程
以最简单的网络系统进行详细的代码分析,该系统中仅有一个发射端UE,一个接收端UE,一个干扰端UE。PLA的流程主要分为以下4个步骤:1)获得每个子载波的信道矩阵H;2)计算信道均衡后的信号干扰噪声比 (SINR)。对于接收端,SINR的值取决于目标发射端的位置和信道传输特性、信号干扰情况以及大尺度、小尺度衰落的影响;3)利用PLA技术得到一个有效SINR值;4)预测瞬时数据包错误率(Packet Error Rate, PER),从而预测单个数据包是否成功传输。
2.1 生成每个子载波的信道矩阵
在此小节需要得到每个子载波的频率信道响应。使用helperPerfectChannelEstimate()辅助函数从衰落信道模型wlanTGaxChannel返回的路径增益pathgains计算信道矩阵。通过设置wlanTGaxChannel的ChannelFiltering属性为false,有效地产生路径增益pathgain。
sprev = rng('default'); % 种子随机数生成器并存储以前的状态
% Get an HE OFDM configuration: 80 MHz channel bandwidth, 3.2 us guard
% interval,获取HE OFDM配置,80M信道带宽,3.2us保护间隔
% CHANBW must be 'CBW20', 'CBW40', 'CBW80', or 'CBW160'.影响FFT、CP长度,子信道的个数。一个
% 子信道带宽=20MHz
% HEGI is the guard interval in microseconds and must be one of 0.8, 1.6, and 3.2.影响CP长度
% RU is a row vector specifying the RU information [size index].
% Size must be one of 26, 52, 106, 242, 484, 996 or 1992, and must be appropriate for the specified channel bandwidth.
ofdmInfo = wlanHEOFDMInfo('HE-Data','CBW80',3.2);%模拟的一个OFDM符号
k = ofdmInfo.ActiveFrequencyIndices; %[-NFFT/2, NFFT/2-1]
%配置信道参数以返回一个OFDM符号的路径增益pathgains
tgax = wlanTGaxChannel;
tgax.ChannelBandwidth = 'CBW80';% 信道带宽
tgax.SampleRate = 80e6; % Hz,输入信号的采样率
tgax.ChannelFiltering = false;
% This syntax applies when you set the ChannelFiltering property to 0 (false).
% 时域样本数,启用此参数,必须ChannelFiltering property is false。
tgax.NumSamples = ofdmInfo.FFTLength+ofdmInfo.CPLength;
%为目标信号生成每个子载波的信道矩阵
pathGains = tgax(); % Get path gains,信道应该为频率选择性衰落信道,无多普勒频移
chanInfo = info(tgax); % Get channel info for filter coefficients,获取滤波器系数的信道信息
chanFilter = chanInfo.ChannelFilterCoefficient