После создания необходимых объектов строения, описанных в разделе Создать объекты конфигурации (Create Configuration Objects), можно использовать объекты для генерации желаемой формы волны в формате WLAN.
IEEE® 802.11™[1] стандарты определяют модуль данных протокола физического слоя (PPDU) как модуль передачи на физическом слое. Подробное описание структур полей PPDU для каждого формата передачи см. в разделе Структура WLAN PPDU.
Формат HE
В HE поддерживаются четыре режима передачи: один пользователь, один пользователь с расширенной областью значений, основанный на триггерах и многопользовательский.
DMG PPDU
В DMG поддерживаются три схемы модуляции физического слоя (PHY): управление, одна несущая и OFDM.
S1G формат
В S1G существуют три режима передачи: S1G_LONG, S1G_SHORT и S1G_1M. Каждый режим передачи имеет определенную структуру преамбулы PPDU.
Форматы VHT, HT и не-HT
Форматы VHT, HT и PPDU, отличные от HT, состоят из полей преамбулы и данных.
Используйте функции WLAN Toolbox™, чтобы сгенерировать полную форму волны PPDU или отдельные формы волны поля PPDU.
Сгенерируйте полный сигнал PPDU при помощи wlanWaveformGenerator
функция для заполнения всех полей PPDU (преамбулы и данные) за один вызов. wlanWaveformGenerator
функция принимает поток битов, объект строения формата и Name,Value
пар, чтобы сконфигурировать форму волны.
Сгенерируйте HE, DMG, S1G, VHT, HT-смешанные и не-HT форматные формы волны. Измените параметры конфигурации и постройте график формы волны, чтобы выделить различия в формах волны и частоте дискретизации.
В каждом разделе этого примера вы:
Создайте специфичный для формата объект строения.
Создайте вектор информационных бит для полезной нагрузки пакетных данных. Внутренне, wlanWaveformGeneration
функция закольцовывается через вектор бит столько раз, сколько необходимо для генерации заданного количества пакетов.
Сгенерируйте сигнал конкретного формата и постройте график. Для графического изображения, поскольку к форме волны не применяется фильтрация, а скорость сверхчастоты дискретизации равна 1, установите частоту дискретизации равной ширине полосы пропускания канала.
Сгенерируйте однопользовательскую форму сигнала HE
Создайте объект строения HE с одним пользователем (HE SU) и форму волны. Использование Name,Value
пар, задайте 4 пакета и 15 микросекунд времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgHESU = wlanHESUConfig; bits = [1;0;0;1;1]; hesuWaveform = wlanWaveformGenerator(bits,cfgHESU, ... 'NumPackets',4,'IdleTime',15e-6);
Постройте график формы волны в формате HE для одного пользователя, масштабируя ось X относительно полосы пропускания канала.
fs = 20e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(hesuWaveform)-1)/fs)*1e6; plot(time,abs(hesuWaveform)) xlabel ('Time (microseconds)'); ylabel('Magnitude');
График показывает четыре пакета в формате HE с одним пользователем, причем каждый пакет разделен 15 микросекундами времени простоя.
Сгенерируйте многопользовательскую форму сигнала HE
Создайте объект строения HE multiuser (HE MU) и форму волны. Использование Name,Value
пар, задайте 3 пакета и 30 микросекунд времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgHEMU = wlanHEMUConfig(192); bits = [1;0;0;1;1]; hemuWaveform = wlanWaveformGenerator(bits,cfgHEMU, ... 'NumPackets',3,'IdleTime',30e-6);
Постройте график многопользовательской формы волны HE, масштабируя ось X относительно полосы пропускания канала.
fs = 20e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(hemuWaveform)-1)/fs)*1e6; plot(time,abs(hemuWaveform)) xlabel ('Time (microseconds)'); ylabel('Magnitude');
График показывает три многопользовательских пакета формата HE с каждым пакетом, разделенным 30 микросекундами времени простоя.
Сгенерируйте сигнал формата DMG
Создайте объект строения DMG и форму волны. Использование Name,Value
пар, присвойте 13 для MCS, которая задает форму волны OFDM, 4 пакета и 2 микросекунды времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgDMG = wlanDMGConfig('MCS',13); bits = [1;0;0;1;1]; dmgWaveform = wlanWaveformGenerator(bits,cfgDMG, ... 'NumPackets',4,'IdleTime',2e-6);
Постройте график формы волны в формате DMG, масштабируя ось X относительно полосы пропускания канала.
fs = 2640e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(dmgWaveform)-1)/fs)*1e6; plot(time,abs(dmgWaveform)) xlabel ('Time (microseconds)'); ylabel('Magnitude');
График показывает четыре пакета формата DMG, каждый пакет разделен 2 микросекундами времени простоя.
Сгенерируйте S1G формат волны
Создайте объект строения sub-1-GHz (S1G) и форму волны. Использование Name,Value
пар, задайте полосу пропускания канала 4 МГц, 3 пакета и 15 микросекунд времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgS1G = wlanS1GConfig('ChannelBandwidth','CBW4'); bits = [1;0;0;1;1]; s1gWaveform = wlanWaveformGenerator(bits,cfgS1G, ... 'NumPackets',3,'IdleTime',15e-6);
Постройте график формы волны S1G формата, масштабируя ось X относительно полосы пропускания канала.
fs = 4e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(s1gWaveform)-1)/fs)*1e6; plot(time,abs(s1gWaveform)) xlabel ('Time (microseconds)'); ylabel('Magnitude');
График показывает три пакета S1G формата с каждым пакетом, разделенным 15 микросекундами времени простоя.
Сгенерируйте сигнал формата VHT
Создайте объект строения VHT и форму волны. Использование Name,Value
пар, задайте 5 пакетов и 20 микросекунд времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgVHT = wlanVHTConfig; bits = [1;0;0;1;1]; vhtWaveform = wlanWaveformGenerator(bits,cfgVHT, ... 'NumPackets',5,'IdleTime',20e-6);
Постройте график формы волны в формате VHT, масштабируя ось X относительно полосы пропускания канала.
fs = 80e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(vhtWaveform)-1)/fs)*1e6; plot(time,abs(vhtWaveform)) xlabel ('Time (microseconds)'); ylabel('Magnitude');
График показывает пять пакетов в формате VHT, каждый пакет разделен 20 микросекундами времени простоя.
Сгенерируйте сигнал формата HT
Создайте объект строения HT и форму волны. Использование Name,Value
пар, задайте 5 пакетов и 30 микросекунд времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgHT = wlanHTConfig; bits = [1;0;0;1;1]; htWaveform = wlanWaveformGenerator(bits,cfgHT, ... 'NumPackets',5,'IdleTime',30e-6);
Постройте график формы волны в формате HT, масштабируя ось X относительно полосы пропускания канала.
fs = 20e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(htWaveform)-1)/fs)*1e6; plot(time,abs(htWaveform)) xlabel ('Time (microseconds)'); ylabel('Magnitude');
График показывает пять пакетов в формате HT с 30 микросекундами простоя, разделяющими каждый пакет.
Сгенерируйте сигнал DSSS в формате, отличном от HT
Создайте объект строения, отличный от HT, и сгенерируйте сигнал DSSS в формате, отличном от HT, со скоростью передачи данных 2 Мбит/с. Использование Name,Value
пар, задайте 2 пакета и 5 микросекунд времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgNonHT = wlanNonHTConfig('Modulation','DSSS','DataRate','2Mbps'); bits = [1;0;0;1;1]; nhtDSSSWaveform = wlanWaveformGenerator(bits,cfgNonHT, ... 'NumPackets',2,'IdleTime',5e-6);
Постройте график формы волны DSSS, не являющейся форматом HT, масштабируя ось X относительно полосы пропускания канала. Как указано в IEEE 802.11-2012, раздел 17.1.1, пропускная способность канала для DSSS составляет 11 МГц.
fs = 11e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(nhtDSSSWaveform)-1)/fs)*1e6; plot(time,real(nhtDSSSWaveform),'.') xlabel ('Time (microseconds)'); ylabel('Re[nhtDSSSWaveform]'); axis([8190,8200,-1.1,1.1])
Выборочные значения в DSSS-модуляции составляют -1 или 1. График показывает действительные значения для секции формы волны, которая включает в себя хвостовой конец первого пакета, период бездействия 5 микросекунд и начало второго пакета для модулированной волны DSSS в формате Non-HT.
Сгенерируйте сигнал OFDM формата, отличного от HT
Создайте объект строения, отличный от HT, и форму волны. Использование Name,Value
пар, задайте 4 пакета и 45 микросекунд времени простоя. Отобразите объект строения и проверьте его свойства и настройки.
cfgNonHT = wlanNonHTConfig; bits = [1;0;0;1;1]; nhtWaveform = wlanWaveformGenerator(bits,cfgNonHT, ... 'NumPackets',4,'IdleTime',45e-6);
Постройте график формы волны OFDM в формате, отличном от HT, масштабируя ось X относительно полосы пропускания канала.
fs = 20e6; % Set sampling frequency equal to the channel bandwidth time = ((0:length(nhtWaveform)-1)/fs)*1e6; plot(time,abs(nhtWaveform)) xlabel ('Time (microseconds)'); ylabel('Magnitude');
График показывает четыре пакета, модулированных OFDM в формате, отличном от HT, с 45 микросекундами времени простоя, разделяющего каждый пакет.
Можно также создать сигнал VHT, HT или не-HT PPDU путем генерации и конкатенации сигналов для отдельных полей PPDU.
Формат PDDU | Индивидуумы полей |
---|---|
VHT | wlanLSTF , wlanLLTF , wlanLSIG , wlanVHTSTF , wlanVHTLTF , wlanVHTSIGA , wlanVHTSIGB , и wlanVHTData |
HT | wlanLSTF , wlanLLTF , wlanLSIG , wlanHTSTF , wlanHTLTF , wlanHTSIG , и wlanHTData |
Не-HT для модуляции OFDM | wlanLSTF , wlanLLTF , wlanLSIG , и wlanNonHTData |
Генерация отдельных сигналов поля PPDU позволяет экспериментировать с отдельными полями без генерации целого PPDU.
wlanHTConfig
| wlanNonHTConfig
| wlanVHTConfig
[1] IEEE Std 802.11-2016 Адаптировано и переиздано с разрешения IEEE. Копирайт IEEE 2016. Все права защищены.