wlanFieldIndices

Сгенерируйте индексы поля PPDU

Описание

пример

ind = wlanFieldIndices(cfg) возвращает ind, структура, содержащая запуск и индексы остановки отдельных полей компонента, которые включают основополосную форму волны модуля данных о протоколе процедуры (PPDU) сходимости физического уровня.

Примечание

Для невысокопроизводительного формата (non-HT) эта функция поддерживает генерацию полевых индексов только для модуляции OFDM.

пример

ind = wlanFieldIndices(cfg,field) возвращает запуск и индексы остановки для заданного типа поля.

пример

ind = wlanFieldIndices(___,OversamplingFactor=osf) возвращает полевые индексы для сверхдискретизированной передачи с заданным фактором сверхдискретизации. Для получения дополнительной информации о сверхдискретизации, смотрите Основанную на БПФ Сверхдискретизацию.

Примеры

свернуть все

Восстановите информационные биты в поле HE-SIG-A HE WLAN, однопользовательского (HE-SU) форма волны.

Создайте объект настройки WLAN HE-SU-format с настройками по умолчанию и используйте его, чтобы сгенерировать форму волны HE-SU.

cfgHE = wlanHESUConfig;
cbw = cfgHE.ChannelBandwidth;
waveform = wlanWaveformGenerator(1,cfgHE);

Получите индексы поля WLAN, которые содержат поле HE-SIG-A.

ind = wlanFieldIndices(cfgHE);
rxSIGA = waveform(ind.HESIGA(1):ind.HESIGA(2),:);

Выполните демодуляцию ортогонального мультиплексирования деления частоты (OFDM), чтобы извлечь поле HE-SIG-A.

sigaDemod = wlanHEDemodulate(rxSIGA,'HE-SIG-A',cbw);

Возвратите предHE информация о OFDM и извлеките демодулируемые символы "SIG HE".

preHEInfo = wlanHEOFDMInfo('HE-SIG-A',cbw);
siga = sigaDemod(preHEInfo.DataIndices,:);

Восстановите информационный SIG HE "битов" и другая информация, не приняв шума канала. Отобразите результат проверки четности.

noiseVarEst = 0;
[bits,failCRC] = wlanHESIGABitRecover(siga,noiseVarEst);
disp(failCRC);
   0

Извлеките очень высокопроизводительное короткое учебное поле (VHT-STF) из формы волны VHT.

Создайте объект настройки VHT-формата для multiple-input/multiple-output (MIMO) передача с помощью полосы пропускания канала на 160 МГц. Сгенерируйте соответствующую форму волны VHT.

cfg = wlanVHTConfig('MCS',8,'ChannelBandwidth','CBW160', ... 
    'NumTransmitAntennas',2,'NumSpaceTimeStreams',2);
txSig = wlanWaveformGenerator([1;0;0;1],cfg);

Определите индексы поля PPDU компонента для формата VHT.

ind = wlanFieldIndices(cfg)
ind = struct with fields:
       LSTF: [1 1280]
       LLTF: [1281 2560]
       LSIG: [2561 3200]
    VHTSIGA: [3201 4480]
     VHTSTF: [4481 5120]
     VHTLTF: [5121 6400]
    VHTSIGB: [6401 7040]
    VHTData: [7041 8320]

Форма волны VHT PPDU состоит из восьми полей, включая семь полей преамбулы и одно поле данных.

Извлеките VHT-STF из переданной формы волны.

stf = txSig(ind.VHTSTF(1):ind.VHTSTF(2),:);

Проверьте, что VHT-STF имеет размерность 640 2, соответствуя количеству отсчетов (80 для каждого сегмента полосы пропускания на 20 МГц) и количество передающих антенн.

disp(size(stf))
   640     2

Сгенерируйте форму волны VHT. Извлеките и демодулируйте VHT длинное учебное поле (VHT-LTF), чтобы оценить коэффициенты канала. Восстановитесь поле данных при помощи канала оценивают и используют это поле, чтобы определить количество битовых ошибок.

Сконфигурируйте объект настройки VHT-формата с двумя путями.

vht = wlanVHTConfig('NumTransmitAntennas',2,'NumSpaceTimeStreams',2);

Сгенерируйте случайный PSDU и создайте соответствующую форму волны VHT.

txPSDU = randi([0 1],8*vht.PSDULength,1);
txSig = wlanWaveformGenerator(txPSDU,vht);

Передайте сигнал через TGac 2x2 канал MIMO.

tgacChan = wlanTGacChannel('NumTransmitAntennas',2,'NumReceiveAntennas',2, ...
    'LargeScaleFadingEffect','Pathloss and shadowing');
rxSigNoNoise = tgacChan(txSig);

Добавьте AWGN в полученный сигнал. Установите шумовое отклонение для случая, в котором приемник имеет шумовую фигуру на 9 дБ.

nVar = 10^((-228.6+10*log10(290)+10*log10(80e6)+9)/10);
awgnChan = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar);
rxSig = awgnChan(rxSigNoNoise);

Определите индексы для VHT-LTF и извлеките поле из полученного сигнала.

indVHT = wlanFieldIndices(vht,'VHT-LTF');
rxLTF = rxSig(indVHT(1):indVHT(2),:);

Демодулируйте VHT-LTF и оцените коэффициенты канала.

dLTF = wlanVHTLTFDemodulate(rxLTF,vht);
chEst = wlanVHTLTFChannelEstimate(dLTF,vht);

Извлеките VHT-поле-данных и восстановите информационные биты.

indData = wlanFieldIndices(vht,'VHT-Data');
rxData = rxSig(indData(1):indData(2),:);
rxPSDU = wlanVHTDataRecover(rxData,chEst,nVar,vht);

Определите количество битовых ошибок.

numErrs = biterr(txPSDU,rxPSDU)
numErrs = 0

Создайте объект настройки ВЛАНЬ ХЭ МУ и используйте его, чтобы сгенерировать HE форма волны МУ с пакетным расширением и фактором сверхдискретизации.

cfg = wlanHEMUConfig(192);
cfg.User{1}.NominalPacketPadding = 16; 
bits = [1; 0; 0; 1];
osf = 3;
waveform = wlanWaveformGenerator(bits,cfg,OversamplingFactor=osf);

Возвратите и отобразите индексы поля PPDU.

ind = wlanFieldIndices(cfg,OversamplingFactor=osf);
disp(ind)
      LSTF: [1 480]
      LLTF: [481 960]
      LSIG: [961 1200]
     RLSIG: [1201 1440]
    HESIGA: [1441 1920]
    HESIGB: [1921 2400]
     HESTF: [2401 2640]
     HELTF: [2641 3600]
    HEData: [3601 11280]
      HEPE: [11281 11520]

Входные параметры

свернуть все

Формат передачи в виде одного из этих объектов настройки: wlanHESUConfig, wlanHEMUConfig, wlanHERecoveryConfig, wlanHETBConfig, wlanWURConfig, wlanVHTConfig, wlanHTConfig, wlanNonHTConfig, wlanDMGConfig, или wlanS1GConfig.

Пример: cfg = wlanVHTConfig

Имя поля PPDU в виде вектора символов. Допустимое множество значений для этого входа зависит от формата передачи, который вы задаете в cfg входной параметр.

Формат передачи (cfg)Допустимые значения имени поля (field)
wlanHESUConfig, wlanHEMUConfig, wlanHERecoveryConfig, или wlanHETBConfig

'L-STF', 'L-LTF', 'L-SIG', 'RL-SIG', 'HE-SIG-A', 'HE-SIG-B', 'HE-STF', 'HE-LTF', 'HE-Data', или 'HE-PE'

wlanWURConfig

'L-STF', 'L-LTF', 'L-SIG', 'BPSK-Mark1', 'BPSK-Mark2', 'WUR-Data', или 'WUR-Sync'

wlanDMGConfig

'DMG-STF', 'DMG-CE', 'DMG-Header', и 'DMG-Data' характерны для всего физического уровня направленного мультигигабита (DMG) (PHY) настройки.

Когда TrainingLength из wlanDMGConfig положительно, дополнительными допустимыми полями является 'DMG-AGC', 'DMG-AGCSubfields', 'DMG-TRN', 'DMG-TRNCE', и 'DMG-TRNSubfields'.

wlanS1GConfig

'S1G-STF', 'S1G-LTF1', и 'S1G-Data' характерны для всего sub-one-gigahertz (S1G) настройки.

Для 1 МГц или больше, чем короткая настройка преамбулы на 2 МГц, дополнительными допустимыми полями является 'S1G-SIG' и 'S1G-LTF2N'.

Для большего, чем настройка преамбулы 2 МГц длиной дополнительными допустимыми полями является 'S1G-SIG-A', 'S1G-DSTF', 'S1G-DLTF', и 'S1G-SIG-B'.

wlanVHTConfig

'L-STF', 'L-LTF', 'L-SIG', 'VHT-SIG-A', 'VHT-STF', 'VHT-LTF', 'VHT-SIG-B', или 'VHT-Data'

wlanHTConfig

'L-STF', 'L-LTF', 'L-SIG', 'HT-SIG', 'HT-STF', 'HT-LTF', или 'HT-Data'

wlanNonHTConfig

'L-STF', 'L-LTF', 'L-SIG', или 'NonHT-Data'

Типы данных: char | string

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Запустите и остановите индексы, возвращенные как структура или матрица с целочисленным знаком. Индексы соответствуют запуску и индексам остановки полей, включенных в основополосную форму волны, заданную cfg входной параметр.

Если вы задаете field введите, функция возвращает ind как N-by-2 матрица с целочисленным знаком, состоящая из запуска и индексы остановки заданного поля PPDU. Эта таблица обрисовывает в общих чертах размерность N N-by-2 матрица, которая возвращена на основе определенного формата и настройки.

ФорматНастройкаind или определенная полевая размерность

non-HT

1 2 матрица для каждого поля

HT

1 2 матрица для каждого поля

Режим Null data packet (NDP), если PSDULength свойство wlanHTConfig объектом является 0Пустая матрица

VHT и S1G

1 2 матрица для каждого поля

Режим NDP, если APEPLength свойство wlanVHTConfig или wlanS1GConfig объектом является 0Пустая матрица
WURcfg.NumUsers- 2 матрицы, когда вы задаете field введите как 'WUR-Sync' или 'WUR-Data'. В противном случае, 1 2 матрица для каждого поля.

HE(1)

1 2 матрица для каждого поля

Режим NDP, если APEPLength свойство wlanHESUConfig или wlanHESUConfig объектом является 0Пустая матрица
Когда midamble добавляется к Полю данных HE, чтобы улучшить оценки канала для сценариев высокого Доплера

R-by-2 матрица, когда вы задаете field введите как 'HE-Data', где R является количеством блоков данных, разделенных midamble периодами

DMG(2)

1 2 матрица для каждого поля

Когда TrainingLength свойство wlanDMGConfig объект положителен1 2 матрица, когда вы задаете field введите как 'DMG-AGC' или 'DMG-TRN'
'DMG-AGCSubfields' TrainingLength- 2 матрицы.
TrainingLength- 2 матрицы, когда вы задаете field введите как 'DMG-TRNSubfields'
(TrainingLength/4) Матрица-by-2, когда вы задаете field введите как 'DMG-TRNCE'
Когда TrainingLength свойство wlanDMGConfig объектом является 0Пустая матрица, когда вы задаете field введите как 'DMG-AGC', 'DMG-TRN', 'DMG-AGCSubfields', 'DMG-TRNSubfields', или 'DMG-TRNCE'.
  1. Как описано в Разделе 27.3.11.16 из [1], можно добавить midamble в Поле данных HE, чтобы улучшить оценки канала для сценариев высокого Доплера.

  2. Для DMG, 'DMG-AGC' поле содержит подполя N TrainingLength, где N TrainingLength является 0–64 подполями. 'DMG-TRN' поле содержит N TrainingLength + (N TrainingLength/4) подполя. Как показано в этом рисунке, индексах для 'DMG-AGC' и 'DMG-TRN' перекройтесь с индексами их соответствующих подполей, 'DMG-AGCSubfields' и 'DMG-TRNSubfields'.

Типы данных: uint32 | struct

Алгоритмы

свернуть все

Основанная на БПФ сверхдискретизация

Сигнал oversampled является сигналом, произведенным на частоте, которая выше, чем уровень Найквиста. Сигналы WLAN максимизируют занимаемую полосу при помощи маленьких защитных полос, которые могут создать проблемы для реконструкционных фильтров и фильтров сглаживания. Сверхдискретизация ширины защитной полосы увеличений относительно общей полосы пропускания сигнала, таким образом, увеличение количества отсчетов в сигнале.

Эта функция выполняет сверхдискретизацию при помощи большего ОБПФ и нулевой клавиатуры при генерации формы волны OFDM. Эта схема показывает процесс сверхдискретизации для формы волны OFDM с поднесущими БПФ N, включающими N g поднесущие защитной полосы по обе стороны от поднесущих занимаемой полосы N-Стрит.

FFT-based oversampling.

Ссылки

[1] IEEE P802.11ax™/D4.1. “Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования. Поправка 1: Улучшения для Высокой эффективности WLAN”. Спроектируйте Стандарт для Информационных технологий — Телекоммуникации и обмен информацией между системами. Локальные сети и городские компьютерные сети — Конкретные требования.

[2] Станд. IEEE 802.11™-2016 (Версия Станд. IEEE 802.11-2012). “Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования”. Стандарт IEEE для Информационных технологий — Телекоммуникации и обмен информацией между системами. Локальные сети и городские компьютерные сети — Конкретные требования.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2015b
Для просмотра документации необходимо авторизоваться на сайте