Генерация сигналов 802.11ac с системами координат MAC

В этом примере показано, как сгенерировать передачу IEEE® 802.11ac™, содержащую системы координат MAC, подходящие для выполнения радио-тестов приемника пакетного коэффициента ошибок (PER).

Введение

WLAN Toolbox™ может использоваться, чтобы сгенерировать стандартные совместимые формы волны для выполнения тестов приемника. Основной сценарий тестирования приемника WLAN показывают в схеме ниже.

Устройство под тестом (DUT) стимулировано с тестовыми векторами RF, обычно через соединенную проводом ссылку. Пакетный коэффициент ошибок (PER) является метрикой, используемой, чтобы проверить производительность приемника в данном, получают степень сигнала в присутствии шума, интерференции или других нарушений. PER задан как количество неправильно декодируемых пакетов, разделенных на общее количество переданных пакетов.

Последовательность проверки системы координат (FCS) в системе координат MAC используется, чтобы определить, декодировалась ли система координат MAC правильно приемником, и поэтому был ли пакет получен по ошибке. Общая система координат MAC для IEEE 802.11ac содержит следующие поля:

  • Заголовок MAC

  • Структурируйте тело

  • FCS

Данные, чтобы передать от более высокого слоя содержатся в теле системы координат системы координат MAC. Передатчик использует контроль циклическим избыточным кодом по заголовку MAC и полю тела системы координат, чтобы сгенерировать значение FCS. Приемник вычисляет CRC и сравнивает это с полученным полем FCS, чтобы определить, произошла ли ошибка во время передачи.

В этом примере сгенерирована форма волны IEEE 802.11ac, состоящая из нескольких пакетов формата VHT. wlanWaveformGenerator функция может использоваться, чтобы сгенерировать форму волны, содержащую один или несколько пакетов. wlanWaveformGenerator функция использует модули эксплуатационных данных физического уровня (PSDUs) для каждого пакета и выполняет соответствующую обработку физического уровня, чтобы создать форму волны. PSDU, содержащий заголовок MAC и допустимый FCS, может быть сгенерирован с помощью wlanMACFrame функция. В этом примере синтезируется мультипакетная основополосная форма волны, содержащая пакеты MAC. Эта форма волны может загружаться на генератор сигнала для передачи RF и использоваться для тестирования PER приемника. Исходный код предоставляется загрузке, и проигрывайте форму волны с помощью генератора сигнала Keysight Technologies™ N5172B. Обработка в качестве примера проиллюстрирована в следующей схеме:

IEEE 802.11ac Настройка формата VHT

Специфичная для формата настройка формы волны VHT синтезирована с wlanWaveformGenerator функция описана объектом настройки формата VHT, wlanVHTConfig. Свойства объекта содержат настройку. В этом примере объект сконфигурирован для пропускной способности на 160 МГц, 1 антенны передачи, 1 пространственно-временного потока и уровня QPSK 1/2 (MCS 1).

vhtCfg = wlanVHTConfig;             % Create packet configuration
vhtCfg.ChannelBandwidth = 'CBW160'; % 160 MHz channel bandwidth
vhtCfg.NumTransmitAntennas = 1;     % 1 transmit antenna
vhtCfg.NumSpaceTimeStreams = 1;     % 1 space-time stream
vhtCfg.MCS = 1;                     % Modulation: QPSK Rate: 1/2

Настройка генерации сигналов

wlanWaveformGenerator функция может быть сконфигурирована, чтобы сгенерировать один или несколько пакетов и добавить время простоя между каждым пакетом. В этом примере будут созданы четыре пакета с периодом неактивности с 20 микросекундами.

numPackets = 4;   % Generate 4 packets
idleTime = 20e-6; % 20 microseconds idle period after packet

PSDU, переданный в каждом пакете, скремблирован с помощью случайного seed для каждого пакета. Это выполняется путем определения вектора из seed инициализации скремблера. Допустимая область значений seed между 1 и 127 включительно.

% Initialize the scrambler with a random integer for each packet
scramblerInitialization = randi([1 127],numPackets,1);

Создайте PSDU для каждого пакета

Для передачи данных IEEE 802.11ac систему координат MAC называют Модулем данных о протоколе MAC (MPDU), заголовок MAC называют заголовком MPDU, и тело системы координат является агрегированным модулем эксплуатационных данных MAC (A-MSDU). Один или несколько MPDUs разграничены, дополнены и агрегированы, чтобы создать агрегированный MPDU (A-MPDU). A-MPDU разграничен и дополнен, чтобы сформировать модуль эксплуатационных данных физического уровня (PSDU), который кодируется и модулируется, чтобы создать переданный пакет. Этот процесс инкапсуляции показывают в следующей схеме:

В этом примере PSDU создается содержащий один MPDU для каждого пакета. MPDU состоит из заголовка MPDU, система координат A-MSDU, содержащая, конкатенировала подкадры A-MSDU со случайными данными и допустимым FCS. wlanMACFrame функция создает A-MPDU с разделителями EOF и дополнением, т.е. PSDU, как задано в [1]. Это также возвращает длину A-MPDU, который называют как Длина APEP, которая используется, чтобы установить APEPLength свойство объекта настройки VHT. PSDU сгенерирован для каждого пакета и конкатенирован в векторный data для передачи с wlanWaveformGenerator функция. Обработка, чтобы создать конкатенированные биты PSDU data показан в схеме ниже:

% Create frame configuration
macCfg = wlanMACFrameConfig('FrameType', 'QoS Data');
macCfg.FrameFormat = 'VHT';     % Frame format
macCfg.MSDUAggregation = true;  % Form A-MSDUs internally
bitsPerByte = 8;                % Number of bits in 1 byte
data = [];

for i=1:numPackets
    % Get MSDU lengths to create a random payload for forming an A-MPDU of
    % 4048 octets (pre-EOF padding)
    msduLengths = wlanMSDULengths(4048, macCfg, vhtCfg);
    msdu = cell(numel(msduLengths), 1);

    % Create MSDUs with the obtained lengths
    for j = 1:numel(msduLengths)
        msdu{j} = randi([0 255], 1, msduLengths(j));
    end

    % Generate PSDU bits containing A-MPDU with EOF delimiters and padding
    [psdu, apepLength] = wlanMACFrame(msdu, macCfg, vhtCfg, 'OutputFormat', 'bits');

    % Set the APEP length in the VHT configuration
    vhtCfg.APEPLength = apepLength;

    % Concatenate packet PSDUs for waveform generation
    data = [data; psdu]; %#ok<AGROW>
end

Сгенерируйте основополосную форму волны

Конкатенированные биты PSDU для всех пакетов, data, передаются в качестве аргумента wlanWaveformGenerator функция наряду с пакетным объектом vhtCfg настройки VHT. Это конфигурирует генератор формы волны, чтобы синтезировать 802.11ac форма волны VHT. Чтобы сгенерировать 802.11n™ HT или другие формы волны формата, используйте объект настройки другого формата, например, wlanHTConfig или wlanNonHTConfig. Генератор формы волны дополнительно сконфигурирован с помощью пар "имя-значение", чтобы сгенерировать несколько пакетов с заданным временем простоя между пакетами и начальных состояний скремблера.

% Generate baseband VHT packets
txWaveform = wlanWaveformGenerator(data,vhtCfg, ...
    'NumPackets',numPackets,'IdleTime',idleTime, ...
    'ScramblerInitialization',scramblerInitialization);

fs = wlanSampleRate(vhtCfg);
disp(['Baseband sampling rate: ' num2str(fs/1e6) ' Msps']);
Baseband sampling rate: 160 Msps

Величина основополосной формы волны отображена ниже. Отметьте количество пакетов и сконфигурированное время простоя.

figure;
plot(abs(txWaveform));
xlabel('Sample index');
ylabel('Magnitude');
title('Baseband IEEE 802.11ac Waveform');
legend('Transmit antenna 1');

Спектр частоты сгенерированной формы волны области времени, txWaveform, может быть просмотрен с помощью DSP System Toolbox™ dsp.SpectrumAnalyzer. Как ожидалось пропускная способность сигнала на 160 МГц ясно отображается в основной полосе.

spectrumAnalyzer = dsp.SpectrumAnalyzer;
spectrumAnalyzer.SampleRate = fs;
spectrumAnalyzer.SpectrumType = 'Power density';
spectrumAnalyzer.RBWSource = 'Property';
spectrumAnalyzer.RBW = 100e3;
spectrumAnalyzer.AveragingMethod = 'Exponential';
spectrumAnalyze.ForgettingFactor = 0.99;
spectrumAnalyzer.YLabel = 'PSD';
spectrumAnalyzer.YLimits = [-80 -40];
spectrumAnalyzer.Title = 'Baseband IEEE 802.11ac Waveform';
spectrumAnalyzer(txWaveform);

Сгенерируйте беспроводной сигнал Используя генератор сигнала RF

Основополосная форма волны, созданная WLAN Toolbox, может теперь быть загружена на генератор сигнала, чтобы выполнить тесты приемника. Instrument Control Toolbox™ используется, чтобы сгенерировать сигнал RF с центральной частотой RF на 5,25 ГГц с помощью генератора сигнала Keysight Technologies N5172B.

% Control whether to download the waveform to the waveform generator
playOverTheAir = false;

% Download the baseband IQ waveform to the instrument. Generate the RF
% signal at a center frequency of 5.25 GHz and output power of -10 dBm.
if playOverTheAir
    fc = 5.25e9; %#ok<UNRCH> % Center frequency
    power = -10;     % Output power
    loopCount = Inf; % Number time to loop

    % Configure the signal generator, download the waveform and loop
    rf = rfsiggen();
    rf.Resource = 'TCPIP0::192.168.0.1::inst0::INSTR';
    rf.Driver = 'AgRfSigGen';
    connect(rf);                  % Connect to the instrument
    download(rf,txWaveform.',fs); % Download the waveform to the instrument
    start(rf,fc,power,loopCount); % Start transmitting waveform

    % When you have finished transmitting, stop the waveform output
    stop(rf);
    disconnect(rf);
end

Выбранная библиография

  1. Станд. IEEE 802.11ac™-2013 Стандарт IEEE для Информационных технологий - Телекоммуникаций и обмена информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования - Поправка 4: Улучшения для Очень Высокой Пропускной способности для Операции в Полосах ниже 6 ГГц.