Генерация сигналов

После создания необходимых объектов строения, описанных в разделе Создать объекты конфигурации (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 пар, чтобы сконфигурировать форму волны.

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

Сгенерируйте 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 микросекундами времени простоя, разделяющего каждый пакет.

Формы сигналов отдельных полей PPDU

Можно также создать сигнал 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.

См. также

| |

Похожие темы


[1] IEEE Std 802.11-2016 Адаптировано и переиздано с разрешения IEEE. Копирайт IEEE 2016. Все права защищены.