exponenta event banner

Абстракция физического уровня для моделирования на уровне системы

В этом примере демонстрируется абстракция физического уровня IEEE ® 802.11ax™ для моделирования на уровне системы. Модель качества связи и модель эффективности связи, основанные на методологии оценки TGax, представляются и проверяются путем сравнения с опубликованными результатами.

Введение

Моделирование полного физического уровня обработки в каждом передатчике и приемнике при моделировании больших сетей является дорогостоящим с точки зрения вычислений. Абстракция физического уровня или отображение линии связи с системой - это метод своевременного выполнения моделирования путем точного прогнозирования производительности линии связи вычислительно эффективным способом.

Этот пример демонстрирует абстракцию физического уровня для части данных пакета 802.11ax [1] на основе методологии оценки TGax [2].

Модель абстракции физического уровня состоит из двух частей [3, 4]:

  • Модель качества линии связи вычисляет отношение сигнала после выравнивания к помехе и шуму (SINR) на поднесущую. Для приемника это основано на характеристиках местоположения и передачи интересующего передатчика и мешающих передачах, а также на влиянии крупномасштабного и мелкомасштабного замирания.

  • Модель производительности линии связи предсказывает мгновенную частоту ошибок пакета (PER) и, следовательно, успешную передачу отдельного пакета, учитывая SINR на поднесущую и параметры кодирования, используемые для передачи.

Пример разделен на две части:

  • Часть А демонстрирует модель качества линии связи, используемую для получения SINR на поднесущую, и подтверждает ее достоверность путем сравнения результатов для сценария жилого помещения в соответствии с тестами блока 2 в методологии оценки TGax. Целью тестов блока 2 является согласование распределения малых и больших каналов замирания с конфигурациями MIMO участников TGax.

  • Часть B демонстрирует модель производительности канала, используемую для оценки PER, и сравнивает результат использования абстракции с моделированием уровня канала с замиранием модели канала TGax согласно тестам блока 0 в методологии оценки TGax. Целью тестов box 0 является выравнивание абстракций PHY участников TGax.

Деталь A - Модель качества связи

Модель качества линии связи реализует уравнение SINR блока 2 из методологии оценки TGax. SINR с множеством входов и множеством выходов (MIMO) на поднесущую (индекс m) и пространственный поток (индекс j) между передатчиком и приемником, представляющим интерес, задается посредством

SINRRXTXm, j = SRXTXm, jIsRXTXm, j + IoRXTXm, j + Nm, j.

SINR учитывает каналы с потерями в тракте и с замиранием между всеми передатчиками и приемником и предварительное кодирование, применяемое в передатчиках. Мощность интересующего сигнала задается

SRXTXm, j = PRXTXTRXmjHHRXTmWTXmj2,

где PRXTX - принимаемая мощность интересующего сигнала, TRX - линейный фильтр приемника, HRXTX - канальная матрица между передатчиком и приемником, представляющим интерес, и WTX - матрица предварительного кодирования, применяемая в передатчике.

Мощность внутрипользовательских помех задается

IsRXTXm,j=PRXTX‖TRXmjHHRXTXmWTXm‖2-SRXTXm,j.

Мощность межпользовательских помех задается

IoRXTXm,j=∑k∑i∈Ω (k) PRXTX [TRX (m)] jHHRXTXimWTXim‖2,

где Λ (k) - набор мешающих передатчиков в k-ом базовом сервисном наборе (BSS)

Мощность шума задается

Nm,j=‖TRXmj‖2N0,

где N0 - спектральная плотность мощности шума.

Создание матрицы каналов на поднесущую

Модель качества линии связи требует матрицы канала на поднесущую. Вычисление матрицы канала на основе коэффициентов усиления тракта, возвращаемых моделью канала замирания wlanTGaxChannel с помощью helperPerfectChannelEstimate() функция помощника. Эффективное генерирование выигрышей по путям путем установки ChannelFiltering имущество wlanTGaxChannel кому false.

sprev = rng('default'); % Seed random number generator and store previous state

% Get an HE OFDM configuration: 80 MHz channel bandwidth, 3.2 us guard
% interval
ofdmInfo = wlanHEOFDMInfo('HE-Data','CBW80',3.2);
k = ofdmInfo.ActiveFrequencyIndices;

% Configure channel to return path gains for one OFDM symbol
tgax = wlanTGaxChannel;
tgax.ChannelBandwidth = 'CBW80';
tgax.SampleRate = 80e6; % MHz
tgax.ChannelFiltering = false;
tgax.NumSamples = ofdmInfo.FFTLength+ofdmInfo.CPLength;

% Generate channel matrix per subcarrier for signal of interest
pathGains = tgax();    % Get path gains
chanInfo = info(tgax); % Get channel info for filter coefficients
chanFilter = chanInfo.ChannelFilterCoefficients;
Hsoi = helperPerfectChannelEstimate(pathGains,chanFilter, ...
    ofdmInfo.FFTLength,ofdmInfo.CPLength,ofdmInfo.ActiveFFTIndices);

% Generate channel matrix per subcarrier for interfering signal
reset(tgax); % Get a new channel realization
pathGains = tgax();  
Hint = helperPerfectChannelEstimate(pathGains,chanFilter, ...
    ofdmInfo.FFTLength,ofdmInfo.CPLength,ofdmInfo.ActiveFFTIndices);

Расчет SINR

Вычислите и визуализируйте SINR после выравнивания на поднесущую с помощью calculateSINR и plotSINR вспомогательные функции.

Psoi = -20; % Signal of interest received power (dBm)
Pint = -45; % Interfering signal received power (dBm)
N0 = -85;   % Noise power (dBm)
W = ones(ofdmInfo.NumTones,1); % Precoding matrix (assume no precoding)

sinr = calculateSINR(Hsoi,db2pow(Psoi-30),W,db2pow(N0-30),{Hint},db2pow(Pint-30),{W});

plotSINR(sinr,Hsoi,Psoi,Hint,Pint,N0,k);

Figure contains 2 axes. Axes 1 with title Per-subcarrier receive power contains 3 objects of type line. These objects represent Signal of interest, Interferer, Noise floor. Axes 2 with title Post-equalizer SINR contains an object of type line.

Блок 2 методологии оценки TGax - проверка калибровки SINR

Этот раздел подтверждает правильность вычисления SINR путем сравнения кумулятивной функции плотности (CDF) SINR на поднесущую с результатами калибровки, предоставленными рабочей группой TGax. Мы сравниваем расчет SINR с результатами, опубликованными TGax [5] для блока 2, тест 3: «Передача по нисходящей линии связи на базовое правило доступа к каналу» для сценария проживания.

Для получения дополнительной информации о сценарии и результатах долгосрочной калибровки SINR см. пример моделирования на уровне PHY 802.11ax.

Основные параметры моделирования определяются как принадлежащие физическому уровню (PHY), уровню управления доступом к среде (MAC), сценарию или моделированию. В этом примере предполагается, что параметры PHY и MAC одинаковы для всех узлов.

sinrCalibration = true; % Disable box 2 calibration
if sinrCalibration

PHYParams = struct;
PHYParams.TxPower = 20;      % Transmitter power in dBm
PHYParams.TxGain = 0;        % Transmitter antenna gain in dBi
PHYParams.RxGain = -2;       % Receiver antenna gain in dBi
PHYParams.NoiseFigure = 7;   % Receiver noise figure in dB
PHYParams.NumTxAntennas = 1; % Number of transmitter antennas
PHYParams.NumSTS = 1;        % Number of space-time streams
PHYParams.NumRxAntennas = 1; % Number of receiver antennas
PHYParams.ChannelBandwidth = 'CBW80'; % Bandwidth of system
PHYParams.TransmitterFrequency = 5e9; % Transmitter frequency in Hz

MACParams = struct;
MACParams.NumChannels = 3; % Number of non-overlapping channels
MACParams.CCALevel = -70;  % Transmission threshold in clear channel assessment algorithm (dBm)

Параметры сценария определяют размеры и планировку жилого дома по [6]. Следует отметить, что только один приемник (STA) может быть активен в любой момент времени.

ScenarioParams = struct;
ScenarioParams.BuildingLayout = [10 2 5]; % Number of rooms in [x,y,z] directions
ScenarioParams.RoomSize = [10 10 3];      % Size of each room in metres [x,y,z]
ScenarioParams.NumRxPerRoom = 1;          % Number of receivers per room.

NumDrops и NumTxEventsPerDrop параметры управляют длиной моделирования. В этом примере эти параметры настраиваются для короткого моделирования. «Отбрасывание» случайным образом помещает передатчики и приемники в сценарий и выбирает канал для BSS. Событие «передачи» случайным образом выбирает передатчики и приемники для передач согласно основным правилам оценки свободного канала (CCA), определенным в методологии оценки.

SimParams = struct;
SimParams.Test = 3; % Downlink transmission per basic channel access rule
SimParams.NumDrops = 3;
SimParams.NumTxEventsPerDrop = 2;

Функция box2Simulation запускает моделирование путем выполнения следующих шагов:

  1. Произвольно отбрасывают передатчики (AP) и приемники (STA) в рамках сценария.

  2. Вычислите масштабные потери в тракте и создайте частотно-селективные каналы замирания TGax для всех не пренебрежимо малых линий связи.

  3. Для каждого события передачи определите активные передатчики и приемники на основе правил CCA.

  4. Вычислите и верните SINR на поднесущую и эффективное SINR для каждого активного приемника согласно блоку 2, тест 3 в методологии оценки TGax.

box2Results = box2Simulation(PHYParams,MACParams,ScenarioParams,SimParams);

Постройте график CDF SINR на поднесущую и эффективного SINR (как определено во вставке 2, тест 3) по представленным результатам калибровки.

tgaxCalibrationCDF(box2Results.sinr(:), ...
    ['SS1Box2Test' num2str(SimParams.Test) 'A'],'CDF of SINR per subcarrier');
tgaxCalibrationCDF(box2Results.sinrEff(:), ...
    ['SS1Box2Test' num2str(SimParams.Test) 'B'],'CDF of effective SINR per reception');

end
  Running drop #1/3 ...
    Generating 3518 fading channel realizations ...
    Running transmission event #1/2 ...
    Running transmission event #2/2 ...
  Running drop #2/3 ...
    Generating 3366 fading channel realizations ...
    Running transmission event #1/2 ...
    Running transmission event #2/2 ...
  Running drop #3/3 ...
    Generating 3750 fading channel realizations ...
    Running transmission event #1/2 ...
    Running transmission event #2/2 ...

Figure contains an axes. The axes with title Calibration: CDF of SINR per subcarrier contains 11 objects of type line. These objects represent Calibrated Curves, WLAN Toolbox.

Figure contains an axes. The axes with title Calibration: CDF of effective SINR per reception contains 12 objects of type line. These objects represent Calibrated Curves, WLAN Toolbox.

Увеличьте количество капель для более точного сравнения.

Часть B - Модель производительности связи

Модель рабочих характеристик линии связи предсказывает мгновенный PER, заданный SINR на поднесущую, вычисленный в части А, и параметры кодирования, используемые для передачи.

Эффективное отображение и усреднение SINR используется для сжатия SINR после выравнивания на поднесущую в одно эффективное SNR. Эффективным SNR является SNR, который обеспечивает эквивалентную производительность PER с аддитивным каналом белого гауссова шума (AWGN), как и с каналом замирания. Предварительно вычисленная таблица поиска, сгенерированная с помощью WLAN Toolbox™, обеспечивает PER для SNR в канале AWGN для данного канального кодирования, схемы модуляции и скорости кодирования. После получения PER случайная величина определяет, был ли пакет принят с ошибкой.

Процедура оценки PER методологии оценки TGax используется в этом примере с учетом одного события помехи.

Эффективное SINR вычисляется с использованием принятой функции отображения взаимной скорости передачи информации битов (RBIR);

SINReff=αϕ-11NssNsc∑j=1Nss∑m=1NscϕSINR (m, j) β, M, M.

  • (x, M) - функция отображения RBIR, которая преобразует SINR каждой поднесущей в «информационную меру» для схемы модуляции M. Функция отображения RBIR для BPSK, QPSK, 16QAM, 64QAM и 256QAM представлена в [7].

  • (x, M) - функция обратного отображения RBIR, которая преобразует «меру информации» обратно в область SNR.

  • Nss - количество пространственных потоков.

  • Nsc - количество поднесущих.

  • SINR - это SINR после эквалайзера m-й поднесущей и j-го пространственного потока.

  • α и β - параметры настройки. Методология оценки TGax предполагает отсутствие настройки, поэтому в этом примере мы предполагаем, что они установлены в 1.

PER для PERPL0 длины опорных данных получается путем поиска соответствующей таблицы AWGN, LUT, учитывая схему модуляции и кодирования (MCS), схему кодирования канала и длину опорных данных (PL0).

PERPL0 = LUTSNReff ; MCS,   схема кодирования, PL0,

где длина опорных данных зависит от канального кодирования и длины данных для передачи PL.

PL0 = 32  байт , BCC  и PL < 400  байт 1458   байт, BCC  и  PL≥400  байт 1458  байт, LDPC.

Окончательный оценочный PER затем корректируется на длину данных:

PERPL = 1-PERPL0PLPL0.

Описанный способ предполагает, что SINR является постоянным для длительности пакета. Методология оценки TGax описывает способы борьбы с изменяющимися во времени помехами и оценки частоты ошибок блоков данных протокола управления доступом к среде (MPDU) в пределах агрегированного MPDU (A-MPDU).

Расчет эффективного SINR

Рассчитайте эффективный SINR и PER с помощью tgaxLinkPerformanceModel пример вспомогательного объекта.

Abstraction = tgaxLinkPerformanceModel;

effectiveSINR способ вычисляет эффективное SINR с учетом схемы модуляции и SINR после эквалайзера на поднесущую и пространственный поток.

format = 'HE_SU';
mcs = 6; % MCS 6 is 64-QAM
[snreff,rbir_sc,rbir_av] = effectiveSINR(Abstraction,sinr,format,mcs);

RBIR (информационная мера) на поднесущую, полученная отображением SINR на поднесущую, и среднее RBIR показаны на первой подграфике рисунка. Эффективное значение SINR на поднесущую получается путем обратного отображения среднего значения RBIR и показано на втором подграфе.

plotRBIR(sinr,snreff,rbir_av,rbir_sc,k);

Figure contains 2 axes. Axes 1 with title RBIR contains 2 objects of type line. These objects represent RBIR per subcarrier, Average RBIR. Axes 2 with title SINR contains 2 objects of type line. These objects represent SINR per subcarrier, Effective SINR.

Оценка частоты ошибок пакетов

Учитывая эффективное SNR, оцените PER путем линейной интерполяции и экстраполяции предварительно вычисленной кривой уровня линии связи AWGN в логарифмической области и корректировки длины данных. estimatePER метод возвращает окончательный PER, perи используемая таблица поиска AWGN, lut .

channelCoding = "LDPC";
dataLength = 1458; % Bytes
[per,~,~,lut] = estimatePER(Abstraction,snreff,format,mcs,channelCoding,dataLength);

% Plot the AWGN lookup table and the estimated PER
figure;
semilogy(lut(:,1),lut(:,2));
grid on
hold on
plot(snreff,per,'d');
legend('AWGN LDPC lookup table','Estimated PER from effective SINR')
title('Packet error rate')
xlabel('SNR (dB)')
ylabel('PER')

Figure contains an axes. The axes with title Packet error rate contains 2 objects of type line. These objects represent AWGN LDPC lookup table, Estimated PER from effective SINR.

Блок 0 методологии оценки TGax - проверка эффективности SNR по сравнению с производительностью PER

Чтобы проверить весь метод абстракции физического уровня, PER из моделирования канального уровня сравнивается с оценками PER с помощью абстракции. Это следует за шагами 2 и 3 в блоке 0 тестирования в методологии оценки TGax. Однопользовательская линия связи 802.11ax моделируется с идеальной синхронизацией, оценкой канала и без нарушений, кроме замирающей модели канала TGax и AWGN. Учитываются только ошибки в части данных пакета.

В этом примере SNR для моделирования выбираются на основе MCS, количества передающих и приемных антенн и модели канала для данной конфигурации PHY. Предполагается, что количество пространственно-временных потоков равно количеству передающих антенн. Моделирование конфигурируется для короткого прогона; для получения более значимых результатов необходимо увеличить количество моделируемых пакетов.

verifyAbstraction = true; % Disable box 0 simulation
if verifyAbstraction

% Simulation Parameters
mcs = [4 8]; % Vector of MCS to simulate between 0 and 11
numTxRx = [1 1]; % Matrix of MIMO schemes, each row is [numTx numRx]
chan = "Model-D"; % String array of delay profiles to simulate
maxNumErrors = 1e1;  % The maximum number of packet errors at an SNR point
maxNumPackets = 1e2; % The maximum number of packets at an SNR point

% Fixed PHY configuration for all simulations
cfgHE = wlanHESUConfig;
cfgHE.ChannelBandwidth = 'CBW20'; % Channel bandwidth
cfgHE.APEPLength = 1000;          % Payload length in bytes
cfgHE.ChannelCoding = 'LDPC';     % Channel coding

% Generate a structure array of simulation configurations. Each element is
% one SNR point to simulate.
simParams = getBox0SimParams(chan,numTxRx,mcs,cfgHE,maxNumErrors,maxNumPackets);

% Simulate each configuration
results = cell(1,numel(simParams));
% parfor isim = 1:numel(simParams) % Use 'parfor' to speed up the simulation
for isim = 1:numel(simParams)
    results{isim} = box0Simulation(simParams(isim));
end

Пригодность абстракции определяется путем сравнения PER, вычисленного путем моделирования и абстракции на уровне канала. На первом рисунке сравниваются PER в каждом моделируемом SNR.

plotPERvsSNR(simParams,results);

На втором рисунке сравнивается количество успешно декодированных пакетов моделирования уровня линии связи с эффективным SNR относительно опорной кривой AWGN. Если абстракция успешна, PER должен следовать кривой AWGN.

plotPERvsEffectiveSNR(simParams,results);
end
Model-D 1-by-1, MCS 4, SNR 11 completed after 14 packets, PER:0.78571
Model-D 1-by-1, MCS 4, SNR 15 completed after 22 packets, PER:0.5
Model-D 1-by-1, MCS 4, SNR 19 completed after 100 packets, PER:0.05
Model-D 1-by-1, MCS 4, SNR 23 completed after 100 packets, PER:0.02
Model-D 1-by-1, MCS 4, SNR 27 completed after 100 packets, PER:0
Model-D 1-by-1, MCS 8, SNR 21.5 completed after 13 packets, PER:0.84615
Model-D 1-by-1, MCS 8, SNR 25.5 completed after 23 packets, PER:0.47826
Model-D 1-by-1, MCS 8, SNR 29.5 completed after 100 packets, PER:0.03
Model-D 1-by-1, MCS 8, SNR 33.5 completed after 100 packets, PER:0.02
Model-D 1-by-1, MCS 8, SNR 37.5 completed after 100 packets, PER:0

Figure contains an axes. The axes with title Abstracted vs Simulated PHY, 1x1, Model-D contains 4 objects of type line. These objects represent Simulated, MCS 4, Abstracted, MCS 4, Simulated, MCS 8, Abstracted, MCS 8.

Figure contains an axes. The axes with title Simulated link PER vs effective SNR, 1x1, Model-D contains 4 objects of type line. These objects represent MCS 4, MCS 8, AWGN.

rng(sprev) % Restore random state

В этом примере параметры настройки α и β установлены на 1. При желании они могут быть настроены на дальнейшее повышение точности абстракции. Показаны результаты моделирования 1000 ошибок пакетов или 100000 пакетов для MCS от 0 до 9 для 1458-байтового пакета без настройки.

Дальнейшие исследования

Сведения о том, как описанную в этом примере абстракцию физического уровня 802.11ax можно использовать при моделировании на системном уровне, см. в примере моделирования на системном уровне 802.11ax с абстракцией на физическом уровне.

Избранная библиография

  1. IEEE P802.11ax™/D4.1 Проект стандарта для информационных технологий - Телекоммуникации и обмен информацией между системами - Локальные и городские сети - Особые требования - Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY) - Поправка 6: Усовершенствования для высокой эффективности WLAN.

  2. IEEE 802.11-14/0571r12 - Методика оценки 11ax.

  3. Brueninghaus, Karsten, et al. IEEE 2005 16-й Международный симпозиум по персональной, внутренней и мобильной радиосвязи. Том 4. IEEE, 2005.

  4. Мехлфюрер, Кристиан и др. «Венские имитаторы LTE - обеспечение воспроизводимости в исследованиях беспроводной связи». EURASIP Journal on Advances in Signal Processing 2011.1 (2011): 29.

  5. IEEE 802.11-14/0800r30 - Результаты калибровки блока 1 и блока 2.

  6. IEEE 802.11-14/0980r16 - Сценарии моделирования TGax.

  7. IEEE 802.11-14/1450r0 - Результаты калибровки блока 0