Этот пример показывает, как сгенерировать передачу 802.11ac™ IEEE ®, содержащую 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. The wlanWaveformGenerator
функция может использоваться, чтобы сгенерировать форму волны, содержащую один или несколько пакетов. The wlanWaveformGenerator
функция использует модули служебных данных физического слоя (PSDU) для каждого пакета и выполняет соответствующую обработку физического слоя, чтобы создать форму волны. PSDU, содержащий MAC-заголовок и действительный FCS, может быть сгенерирован с помощью wlanMACFrame
функция. В этом примере синтезируется многопакетная форма волны основной полосы, содержащая пакеты MAC. Эта форма волны может быть загружена на генератор сигнала для передачи RF и использована для проверки PER приемника. Исходный код предоставляется для загрузки и воспроизведения формы волны с помощью генератора сигнала Keysight Technologies™ N5172B. Пример обработки проиллюстрирован на следующей схеме:
Специфичная для формата строение формы волны 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
The wlanWaveformGenerator
функция может быть сконфигурирована, чтобы сгенерировать один или несколько пакетов и добавить время простоя между каждым пакетом. В этом примере будут созданы четыре пакета с периодом простоя 20 микросекунд.
numPackets = 4; % Generate 4 packets idleTime = 20e-6; % 20 microseconds idle period after packet
Блок PSDU, переданный в каждом пакете, скремблируется с использованием случайного seed для каждого пакета. Это достигается путем определения вектора начальных чисел инициализации скремблера. Допустимая область значений seed находится между 1 и 127 включительно.
% Initialize the scrambler with a random integer for each packet
scramblerInitialization = randi([1 127],numPackets,1);
Для передачи данных IEEE 802.11ac системы координат MAC называется модуль данных MAC протокола (MPDU), заголовок MAC называется заголовком MPDU, а тело системы координат является агрегированным модулем данных MAC услуги (A-MSDU). Один или несколько MPDU разделены, заполнены и агрегированы для создания агрегированного MPDU (A-MPDU). Блок A-MPDU разделен и заполнен для формирования модуля служебных данных физического слоя (PSDU), который кодируется и модулируется для создания переданного пакета. Этот процесс инкапсуляции показан на следующей схеме:
В этом примере создается PSDU, содержащий один MPDU для каждого пакета. MPDU состоит из заголовка MPDU, системы координат A-MSDU, содержащего конкатенированные подкадры A-MSDU со случайными данными и действительными FCS. The 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
функция наряду с объектом строения пакета VHT vhtCfg
. Это конфигурирует генератор формы волны для синтеза формы волны VHT 802.11ac. Чтобы сгенерировать 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);
Форма волны основной полосы, созданная WLAN Toolbox, теперь может быть загружена на генератор сигнала для выполнения тестов приемника. Instrument Control Toolbox™ используется для формирования радиочастотного сигнала с центральной частотой 5,25 ГГц RF с помощью генератора N5172B сигналов Keysight Technologies.
% 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
Стандарт IEEE Std 802.11ac™-2013 IEEE на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Беспроводное управление доступом к локальной сети (MAC) и физический уровень (PHY) Спецификации - Поправка 4: Улучшения для очень высокой пропускной способности