Генерация формы волны

После того, как вы создаете необходимые объекты настройки, описанные в, Создают Объекты Настройки, можно использовать объекты сгенерировать желаемую форму волны формата WLAN.

IEEE® 802.11™ [1] стандарты задает модуль данных о протоколе процедуры соответствия физического уровня (PLCP) (PPDU) как модуль передачи на физическом уровне. Для подробного описания структур поля PPDU для каждого формата передачи см. Пакетную Структуру WLAN.

Формат HE PPDU

В HE существует четыре поддерживаемые режима передачи: отдельный пользователь, отдельный пользователь расширил область значений, основанную на триггере, и многопользовательскую.

Формат DMG PPDU

В DMG существует три физических уровня (PHY) поддерживаемые схемы модуляции: управляйте, один поставщик услуг и OFDM.

Формат S1G PPDU

В S1G существует три режима передачи: S1G_LONG, S1G_SHORT и S1G_1M. Каждый режим передачи имеет определенную структуру преамбулы PPDU.

VHT, HT и Формат non-HT PPDUs

VHT, HT и non-HT PPDU форматы состоят из преамбулы и полей данных.

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

Сгенерируйте полную форму волны PPDU с помощью функции wlanWaveformGenerator, чтобы заполнить все поля PPDU (преамбула и данные) в одном вызове. wlanWaveformGenerator принимает, что немного потока, объект настройки формата (wlanHESUConfig, wlanHEMUConfig, wlanDMGConfig, wlanS1GConfig wlanVHTConfig, wlanHTConfig или wlanNonHTConfig) и пары Name,Value конфигурирует форму волны.

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

Сгенерируйте HE, DMG, S1G, VHT, HT-mixed и формы волны формата non-HT. Отличайтесь параметры конфигурации и постройте формы волны, чтобы подсветить различия в формах волны и частотах дискретизации.

В каждом разделе этого примера, вас:

  • Создайте специфичный для формата объект настройки.

  • Создайте вектор информационных битов для пакетной полезной нагрузки данных. Внутренне, циклы функции wlanWaveformGeneration через вектор битов как много раз по мере необходимости, чтобы сгенерировать конкретное количество пакетов.

  • Сгенерируйте специфичную для формата форму волны и постройте ее. Для графического вывода, потому что никакая фильтрация не применяется к форме волны и уровню сверхдискретизации, 1, установите уровень выборки, равный пропускной способности канала.

Сгенерируйте форму волны формата HE отдельного пользователя

Создайте объект настройки HE отдельного пользователя и форму волны. Используя пары Name,Value, задайте 4 пакета и 15 микросекунд времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

hesu = wlanHESUConfig
bits = [1;0;0;1;1];
hesuWaveform = wlanWaveformGenerator(bits,hesu, ...
    'NumPackets',4,'IdleTime',15e-6);
hesu = 

  wlanHESUConfig with properties:

       ChannelBandwidth: 'CBW20'
          ExtendedRange: 0
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
    PreHESpatialMapping: 0
                   STBC: 0
                    MCS: 0
                    DCM: 0
          ChannelCoding: 'LDPC'
             APEPLength: 100
          GuardInterval: 3.2000
              HELTFType: 4
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

Постройте форму волны формата 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 и форму волны. Используя пары Name,Value, задайте 3 пакета и 30 микросекунд времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

hemu = wlanHEMUConfig(192)
bits = [1;0;0;1;1];
hemuWaveform = wlanWaveformGenerator(bits,hemu, ...
    'NumPackets',3,'IdleTime',30e-6);
hemu = 

  wlanHEMUConfig with properties:

                     RU: {[1x1 wlanHEMURU]}
                   User: {[1x1 wlanHEMUUser]}
    NumTransmitAntennas: 1
                   STBC: 0
          GuardInterval: 3.2000
              HELTFType: 4
        SIGBCompression: 1
                SIGBMCS: 0
                SIGBDCM: 0
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

   Read-only properties:
       ChannelBandwidth: 'CBW20'
        AllocationIndex: 192

Постройте многопользовательскую форму волны формата 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 микросекунды времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

dmg = wlanDMGConfig('MCS',13)
bits = [1;0;0;1;1];
dmgWaveform = wlanWaveformGenerator(bits,dmg, ...
    'NumPackets',4,'IdleTime',2e-6);
dmg = 

  wlanDMGConfig with properties:

                        MCS: 13
             TrainingLength: 0
            TonePairingType: 'Static'
                 PSDULength: 1000
    ScramblerInitialization: 2
             AggregatedMPDU: 0
                   LastRSSI: 0
                 Turnaround: 0

Постройте форму волны формата 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

Создайте объект настройки S1G и форму волны. Используя пары Name,Value, задайте пропускную способность канала на 4 МГц, 3 пакета, и 15 микросекунд времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

s1g = wlanS1GConfig('ChannelBandwidth','CBW4')
bits = [1;0;0;1;1];

s1gWaveform = wlanWaveformGenerator(bits,s1g, ...
    'NumPackets',3,'IdleTime',15e-6);
s1g = 

  wlanS1GConfig with properties:

       ChannelBandwidth: 'CBW4'
               Preamble: 'Short'
               NumUsers: 1
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                   STBC: 0
                    MCS: 0
             APEPLength: 256
          GuardInterval: 'Long'
             PartialAID: 37
       UplinkIndication: 0
                  Color: 0
        TravelingPilots: 0
     ResponseIndication: 'None'
     RecommendSmoothing: 1

   Read-only properties:
          ChannelCoding: 'BCC'
             PSDULength: 261

Постройте форму волны формата 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 микросекунд времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

vht = wlanVHTConfig
bits = [1;0;0;1;1];
vhtWaveform = wlanWaveformGenerator(bits,vht, ...
    'NumPackets',5,'IdleTime',20e-6);
vht = 

  wlanVHTConfig with properties:

       ChannelBandwidth: 'CBW80'
               NumUsers: 1
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                   STBC: 0
                    MCS: 0
          ChannelCoding: 'BCC'
             APEPLength: 1024
          GuardInterval: 'Long'
                GroupID: 63
             PartialAID: 275

   Read-only properties:
             PSDULength: 1035

Постройте форму волны формата 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 микросекунд времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

ht = wlanHTConfig
bits = [1;0;0;1;1];
htWaveform = wlanWaveformGenerator(bits,ht, ...
    'NumPackets',5,'IdleTime',30e-6);
ht = 

  wlanHTConfig with properties:

       ChannelBandwidth: 'CBW20'
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                    MCS: 0
          GuardInterval: 'Long'
          ChannelCoding: 'BCC'
             PSDULength: 1024
         AggregatedMPDU: 0
     RecommendSmoothing: 1

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

Сгенерируйте формат Non-HT форма волны DSSS

Создайте настройку non-HT, возражают и генерируют формат non-HT форма волны DSSS со скоростью передачи данных на 2 Мбит/с. Используя пары Name,Value, задайте 2 пакета и 5 микросекунд времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

nht = wlanNonHTConfig('Modulation','DSSS','DataRate','2Mbps')
bits = [1;0;0;1;1];
nhtDSSSWaveform = wlanWaveformGenerator(bits,nht, ...
    'NumPackets',2,'IdleTime',5e-6);
nht = 

  wlanNonHTConfig with properties:

      Modulation: 'DSSS'
        DataRate: '2Mbps'
        Preamble: 'Long'
    LockedClocks: 1
      PSDULength: 1000

Постройте Формат non-HT форма волны DSSS, масштабируя ось X относительно пропускной способности канала. Как задано в IEEE 802.11-2012, Раздел 17.1.1, пропускная способность канала составляет 11 МГц для DSSS.

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 микросекундами и начало второго пакета для формата non-HT, DSSS модулировал форму волны.

Сгенерируйте формат Non-HT форма волны OFDM

Создайте объект настройки non-HT и форму волны. Используя пары Name,Value, задайте 4 пакета и 45 микросекунд времени простоя. Отобразитесь настройка возражают и осматривают ее свойства и настройки.

nht = wlanNonHTConfig
bits = [1;0;0;1;1];
nhtWaveform = wlanWaveformGenerator(bits,nht, ...
    'NumPackets',4,'IdleTime',45e-6);
nht = 

  wlanNonHTConfig with properties:

             Modulation: 'OFDM'
       ChannelBandwidth: 'CBW20'
                    MCS: 0
             PSDULength: 1000
    NumTransmitAntennas: 1

Постройте формат non-HT форма волны OFDM, масштабируя ось 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');

График показывает четыре формата non-HT, OFDM модулировал пакеты с 45 микросекундами времени простоя, разделяя каждый пакет.

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

Можно также создать VHT, HT или non-HT PPDU форма волны путем генерации и конкатенации форм волны для отдельных полей PPDU.

Формат PPDUОтдельные полевые функции

VHT

wlanLSTF, wlanLLTF, wlanLSIG, wlanVHTSTF, wlanVHTLTF, wlanVHTSIGA, wlanVHTSIGB и wlanVHTData

HT

wlanLSTF, wlanLLTF, wlanLSIG, wlanHTSTF, wlanHTLTF, wlanHTSIG и wlanHTData

Non-HT для модуляции OFDM

wlanLSTF, wlanLLTF, wlanLSIG и wlanNonHTData

При генерации отдельных форм волны поля PPDU, позволяет вам экспериментировать с отдельными полями, не генерируя целый PPDU.

Смотрите также

| | |

Похожие темы


[1]  Станд. IEEE 802.11-2016 Адаптированных и переизданные с разрешением от IEEE. Авторское право IEEE 2016. Все права защищены.