Восстановите биты заголовка с поля заголовка DMG
[headerBits,failHCS] = wlanDMGHeaderBitRecover(rxHeader,noiseVarEst,cfg)
headerBits = wlanDMGHeaderBitRecover(rxHeader,noiseVarEst,csi,cfg)
headerBits = wlanDMGHeaderBitRecover(___,Name,Value)
[
восстанавливает биты информации о заголовке и тестирует последовательность проверки заголовка (HCS), учитывая поле заголовка от передачи DMG (OFDM, одно поставщик услуг или управление PHY), шумовая оценка отклонения и объект настройки DMG.headerBits
,failHCS
] = wlanDMGHeaderBitRecover(rxHeader
,noiseVarEst
,cfg
)
использует информацию состояния канала, указанную в headerBits
= wlanDMGHeaderBitRecover(rxHeader
,noiseVarEst
,csi
,cfg
) csi
, чтобы улучшить demapping поднесущих OFDM.
задает аргументы пары "имя-значение" использования дополнительных опций, с помощью входных параметров от предыдущих синтаксисов. Когда пара "имя-значение" не задана, ее значение по умолчанию используется.headerBits
= wlanDMGHeaderBitRecover(___,Name,Value
)
Восстановите биты заголовка с поля заголовка DMG одно поставщика услуг (SC) PHY.
Передатчик
Создайте объект настройки DMG со схемой модуляции и кодирования (MCS) для SC PHY.
cfgDMG = wlanDMGConfig('MCS',10);
Создайте входную последовательность битов, задав его как вектор-столбец с элементами cfgDMG.PSDULength*8
. Сгенерируйте форму волны передачи DMG.
txBits = randi([0 1],cfgDMG.PSDULength*8,1,'int8');
tx = wlanWaveformGenerator(txBits,cfgDMG);
Канал AWGN
Установите ОСШ 10 дБ, вычислите шумовую степень (шумовое отклонение) и добавьте AWGN в форму волны передачи при помощи функции awgn
.
SNR = 10; nVar = 10^(-SNR/10); rx = awgn(tx,SNR);
Получатель
Извлеките поле заголовка при помощи функции wlanFieldIndices
.
ind = wlanFieldIndices(cfgDMG); rxHeader = rx(ind.DMGHeader(1):ind.DMGHeader(2));
Измените полученную форму волны в блоки. Установите размер блока данных на 512 и защитную длину интервала к 64. Удалите последний защитный интервал из полученной формы волны заголовка. Получившийся сигнал 448 2 матрица.
blkSize = 512; rxHeader = reshape(rxHeader,blkSize,[]); Ngi = 64; rxSym = rxHeader(Ngi+1:end,:); size(rxSym)
ans = 1×2
448 2
Восстановите биты заголовка с поля заголовка DMG.
[rxBits,failHCS] = wlanDMGHeaderBitRecover(rxSym,nVar,cfgDMG);
Отобразитесь HCS проверяют восстановленные биты заголовка.
disp(failHCS);
0
Восстановите биты информации о заголовке с поля заголовка DMG OFDM PHY.
Передатчик
Создайте объект настройки DMG со схемой модуляции и кодирования (MCS) для OFDM PHY.
cfgDMG = wlanDMGConfig('MCS',14);
Создайте входную последовательность битов данных, задав его как вектор-столбец с элементами cfgDMG.PSDULength*8
. Сгенерируйте форму волны передачи DMG.
txBits = randi([0 1],cfgDMG.PSDULength*8,1,'int8');
tx = wlanWaveformGenerator(txBits,cfgDMG);
Канал
Передайте сигнал через канал без шума (обнулите шумовое отклонение).
rx = tx; nVar = 0;
Получатель
Извлеките поле данных с помощью функции wlanFieldIndices
.
ind = wlanFieldIndices(cfgDMG); rxHeader = rx(ind.DMGHeader(1):ind.DMGHeader(2));
Установите длину БПФ на 512 и циклическую длину префикса до 128 для демодуляции OFDM.
Nfft = 512; Ncp = 128;
Выполните демодуляцию OFDM. Удалите циклический префикс, масштабируйте последовательность активным тоном 352 и извлеките символы частотного диапазона.
dftSym = rxHeader(Ncp+1:end,:); dftSym = dftSym/(Nfft/sqrt(352)); freqSym = fftshift(fft(dftSym,[],1),1);
Извлеките несущие данные поднесущие и отбросьте пилотов. Установите самый высокий индекс поднесущей на 177.
pilotSCIndex = [-150; -130; -110; -90; -70; -50; -30; -10; 10; 30; 50; 70; 90; 110; 130; 150]; noDataSCIndex = [pilotSCIndex; [-1; 0; 1]]; Nsr = 177; dataSCIndex = setdiff((-Nsr:Nsr).',sort(noDataSCIndex)); rxSym = freqSym(dataSCIndex+(Nfft/2+1),:);
Восстановите биты заголовка с поля заголовка DMG. Примите оценку CSI из всех единиц.
csi = ones(length(dataSCIndex),1); [rxBits,failHCS] = wlanDMGHeaderBitRecover(rxSym,nVar,csi,cfgDMG);
Отобразитесь HCS проверяют восстановленные биты заголовка.
disp(failHCS);
0
Восстановите биты информации о заголовке поля заголовка DMG от управления PHY.
Передатчик
Создайте объект настройки DMG со схемой модуляции и кодирования (MCS) для управления PHY.
cfgDMG = wlanDMGConfig('MCS',0);
Создайте входную последовательность битов данных, задав его как вектор-столбец с элементами cfgDMG.PSDULength*8
. Сгенерируйте форму волны передачи DMG.
txBits = randi([0 1],cfgDMG.PSDULength*8,1,'int8');
tx = wlanWaveformGenerator(txBits,cfgDMG);
Канал
Передайте сигнал через канал без шума (обнулите шумовое отклонение).
rx = tx; nVar = 0;
Получатель
Извлеките поле заголовка при помощи функции wlanFieldIndices
.
ind = wlanFieldIndices(cfgDMG); rxHeader = rx(ind.DMGHeader(1):ind.DMGHeader(2));
De-rotate полученный сигнал пи/2 и despread это с распространяющимся фактором 32. Используйте функцию wlanGolaySequence
, чтобы сгенерировать последовательность Golay.
rxSym = rxHeader.*exp(-1i*pi/2*(0:size(rxHeader,1)-1).'); SF = 32; Ga = wlanGolaySequence(SF); rxDespread = reshape(rxSym,SF,length(rxSym)/SF)'*Ga/SF;
Восстановите биты заголовка с поля заголовка DMG.
[rxBits,failHCS] = wlanDMGHeaderBitRecover(rxDespread,nVar,cfgDMG);
Отобразитесь HCS проверяют восстановленные биты заголовка.
disp(failHCS);
0
rxHeader
— Полученный полевой сигнал заголовка DMGПолученный полевой сигнал заголовка DMG, заданный как действительная или комплексная матрица. Содержимое и размер rxHeader
зависят от физического уровня (PHY):
Single-Carrier PHY — rxHeader
является временным интервалом полевой сигнал заголовка DMG, заданный как 448 NBLKS матрицей действительных или комплексных чисел. Значение 448 является количеством символов в символе заголовка DMG и N, BLKS является количеством блоков заголовка DMG.
OFDM PHY — rxHeader
является сигналом частотного диапазона, заданным как 336 1 вектор-столбец действительных или комплексных чисел. Значение 336 является количеством поднесущих данных в поле заголовка DMG.
Управляйте PHY — rxHeader
является сигналом временного интервала, содержащим поле заголовка, заданное как вектор-столбец B-1 N действительных или комплексных чисел. N B является количеством despread символов.
Типы данных: double
Поддержка комплексного числа: Да
noiseVarEst
— Шумовая оценка отклоненияШумовая оценка отклонения, заданная как неотрицательный скаляр.
Типы данных: double
cfg
— Настройка DMG PPDUwlanDMGConfig
Настройка DMG PPDU, заданная как объект wlanDMGConfig
. Функция wlanDMGDataBitRecover
использует следующие свойства объектов:
MCS
— Модуляция и индекс схемы кодирования0
(значение по умолчанию) | целое число от 0 до 24 | '9.1'
| '12.1'
| '12.2'
| '12.3'
| '12.4'
| '12.5'
| '12.6'
Модуляция и индекс схемы кодирования, заданный как целое число от 0 до 24 или один из расширенных индексов MCS: '9.1'
, '12.1'
, '12.2'
, '12.3'
, '12.4'
, '12.5'
или '12.6'
. Расширенное (нецелое число) индекс MCS может только быть задано как скаляр строки или вектор символов. Целочисленный индекс MCS может быть задан как вектор символов, скаляр строки или целое число. Индекс MCS
указывает на схему модуляции и кодирования, используемую в передаче текущего пакета.
Модуляция и схема кодирования управления PHY
Индекс MCS | Модуляция | Кодирование уровня | Комментарий |
---|---|---|---|
0 |
DBPSK |
1/2 |
Уровень кода и скорость передачи данных могут произойти ниже из-за сокращения кодовой комбинации. |
Модуляция и схемы кодирования модуляции одно поставщика услуг
Индекс MCS | Модуляция | Кодирование уровня | N CBPS | Повторение |
---|---|---|---|---|
1 | BPSK π/2 |
1/2 |
1 |
2 |
2 |
1/2 |
1 | ||
3 |
5/8 | |||
4 |
3/4 | |||
5 |
13/16 | |||
6 | QPSK π/2 |
1/2 |
2 | |
7 |
5/8 | |||
8 |
3/4 | |||
9 |
13/16 | |||
9.1 |
7/8 | |||
10 | π/2 16QAM |
1/2 |
4 | |
11 |
5/8 | |||
12 |
3/4 | |||
12.1 | 13/16 | |||
12.2 |
7/8 | |||
12.3 | π/2 64QAM |
5/8 |
6 | |
12.4 |
3/4 | |||
12.5 |
13/16 | |||
12.6 |
7/8 | |||
N CBPS является количеством закодированных битов на символ. |
Модуляция и схемы кодирования модуляции OFDM
Индекс MCS | Модуляция | Кодирование уровня | N BPSC | N CBPS | N DBPS |
---|---|---|---|---|---|
13 |
SQPSK |
1/2 |
1 |
336 |
168 |
14 |
5/8 |
210 | |||
15 |
QPSK |
1/2 |
2 |
672 |
336 |
16 |
5/8 |
420 | |||
17 |
3/4 |
504 | |||
18 |
16QAM |
1/2 |
4 |
1344 |
672 |
19 |
5/8 |
840 | |||
20 |
3/4 |
1008 | |||
21 |
13/16 |
1092 | |||
22 |
64QAM |
5/8 |
6 |
2016 |
1260 |
23 |
3/4 |
1512 | |||
24 |
13/16 |
1638 | |||
N BPSC является количеством закодированных битов на одного поставщика услуг. N CBPS является количеством закодированных битов на символ. N DBPS является количеством битов данных на символ. |
Типы данных: double
| char
| string
TrainingLength
— Количество учебных полей0
(значение по умолчанию) | целое число от 0 до 64Количество учебных полей, заданных как целое число от 0 до 64. TrainingLength
должен быть кратным четыре.
Типы данных: double
PacketType
— Пакетный тип поля обучения'TRN-R'
(значение по умолчанию) | 'TRN-T'
Пакетный тип поля обучения, заданный как 'TRN-R'
или 'TRN-T'
. Это свойство применяется когда TrainingLength
> 0
.
'TRN-R'
указывает, что пакет включает или запрашивает подполя получать-обучения, и 'TRN-T'
указывает, что пакет включает учебные передачей подполя.
Типы данных: char | string
BeamTrackingRequest
— Запросите отслеживание лучаfalse
(значение по умолчанию) | true
Запросите отслеживание луча, заданное как логическое. Установка BeamTrackingRequest
к true
указывает, что отслеживание луча требуют. Это свойство применяется когда TrainingLength
> 0
.
Типы данных: логический
TonePairingType
— Настройте соединяющийся тип'Static'
(значение по умолчанию) | 'Dynamic'
Настройте соединяющийся тип, заданный как 'Static'
или 'Dynamic'
. Это свойство применяется, когда MCS
от 13 до 17. А именно, TonePairingType
применяется при использовании OFDM и или SQPSK или модуляция QPSK.
Типы данных: char | string
DTPGroupPairIndex
— Индекс пары группы DTP(0:1:41)
(значение по умолчанию) | 42 1 целочисленный векторИндекс пары группы DTP, заданный как 42 1 целочисленный вектор для каждой пары. Значения элемента должны быть от 0 до 41 без копий. Это свойство применяется, когда MCS
от 13 до 17 и когда TonePairingType
является 'Dynamic'
.
Типы данных: double
DTPIndicator
— DTP обновляют индикаторfalse
(значение по умолчанию) | true
DTP обновляют индикатор, заданный как логическое. Переключите DTPIndicator
между пакетами, чтобы указать, что динамическое тональное отображение пары было обновлено. Это свойство применяется, когда MCS
от 13 до 17 и когда TonePairingType
является 'Dynamic'
.
Типы данных: логический
PSDULength
— Количество байтов несут в пользовательской полезной нагрузке1000
(значение по умолчанию) | целое число от 1 до 262 143Количество байтов несут в пользовательской полезной нагрузке, заданной как целое число от 1 до 262 143.
Типы данных: double
ScramblerInitialization
— Начальное состояние скремблера2
(значение по умолчанию) | целое число от 1 до 127Начальное состояние скремблера скремблера данных для каждого пакета, сгенерированного, заданного как целое число в зависимости от значения MCS
:
Если MCS
является 0
, начальное состояние скремблера ограничивается значениями от 1 до 15, соответствуя 4 1 вектор-столбец..
Если MCS
является '9.1'
, '12.1'
, '12.2'
, '12.3'
, '12.4'
, '12.5'
или '12.6'
, допустимая область значений начального скремблера от 0 до 31, соответствуя вектор-столбцу 5 на 1.
Для остающихся значений MCS
допустимая область значений от 1 до 127, соответствуя 7 1 вектор-столбец.
Значение по умолчанию 2 является состоянием в качестве примера, данным в Станд. IEEE 802.11™-2012, Поправка 3, Раздел L.5.2.
Типы данных: double
| int8
AggregatedMPDU
— Индикатор агрегации MPDUfalse
(значение по умолчанию) | true
Индикатор агрегации MPDU, заданный как логическое. Установка AggregatedMPDU
к true
указывает, что текущий пакет использует агрегацию A-MPDU.
Это свойство не применимо, когда MCS
0.
Типы данных: логический
LastRSSI
— Полученный уровень мощности последнего пакета0
(значение по умолчанию) | целое число от 0 до 15Полученный уровень мощности последнего пакета, заданного как целое число от 0 до 15.
При передаче кадра ответа сразу после короткого межкадрового пробела (SIFS) период STA DMG устанавливает LastRSSI
, как задано в IEEE® 802.11ad™-2012, Раздел 9.3.2.3.3, чтобы сопоставить с параметром TXVECTOR LAST_RSSI кадра ответа к степени, которая была измерена на полученном пакете, как сообщается в поле RCPI кадра, который выявил кадр ответа. Кодирование значения для TXVECTOR следующие:
Значения степени, равные или выше –42 dBm, представлены как значение 15.
Значения степени между –68 dBm и –42 dBm представлены как вокруг ((степень – (–71 dBm))/2).
Значения степени, меньше чем или равные –68 dBm, представлены как значение 1.
Для всех других случаев STA DMG должен установить параметр TXVECTOR LAST_RSSI переданного кадра к 0.
Параметр LAST_RSSI в RXVECTOR сопоставляет с LastRSSI
и указывает на значение поля LAST_RSSI от заголовка PCLP полученного пакета. Кодирование значения для RXVECTOR следующие:
Значение 15 представляет степень, больше, чем или равный –42 dBm.
Значения от 2 до 14 представляют уровни мощности (–71+value×2)
dBm.
Значение 1 представляет степень, меньше чем или равную –68 dBm.
Значение 0 указывает, что предыдущий пакет не был получен в период SIFS перед текущей передачей.
Для получения дополнительной информации смотрите IEEE 802.11ad-2012, Раздел 21.2.
Это свойство не применимо, когда MCS
0.
Типы данных: double
Turnaround
— Оборотная индикацияfalse
(значение по умолчанию) | true
Оборотная индикация, заданная как логическое. Установка Turnaround
к true
указывает, что STA требуется, чтобы прислушиваться к поступлению PPDU сразу после передачи PPDU. Для получения дополнительной информации смотрите IEEE 802.11ad-2012, Раздел 9.3.2.3.3.
Типы данных: логический
csi
— Образуйте канал информация состоянияИнформация состояния канала, указанная как 336 1 действительный вектор-столбец. Значение 336 задает количество поднесущих данных в поле данных DMG. csi
требуется только для OFDM PHY.
Типы данных: double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'MaximumLDPCIterationCount','12','EarlyTermination','false'
задает максимум 12 итераций декодирования для LDPC и отключает раннее завершение декодирования LDPC так, чтобы это завершило эти 12 итераций.'MaximumLDPCIterationCount'
— Максимальное количество декодирования итераций в LDPCМаксимальное количество декодирования итераций в LDPC, заданном как положительное скалярное целое число. Этот параметр применим, когда кодирование канала установлено в LDPC для пользователя интереса.
Для получения информации об опциях кодирования канала смотрите 802,11 предмета интереса настройки формата.
Типы данных: double
'EarlyTermination'
— Включите раннее завершение декодирования LDPCfalse
(значение по умолчанию) | true
Включите раннее завершение декодирования LDPC, заданного как логическое. Этот параметр применим, когда кодирование канала установлено в LDPC для пользователя интереса.
Когда установлено в false
, декодирование LDPC завершает количество итераций, заданных MaximumLDPCIterationCount
, независимо от состояния проверки четности.
Когда установлено в true
, декодирование LDPC останавливается, когда все проверки четности удовлетворены.
Для получения информации об опциях кодирования канала смотрите 802,11 предмета интереса настройки формата.
headerBits
— Восстановленные биты информации о заголовкеВосстановленные биты информации о заголовке, возвращенные как вектор-столбец 64 элементов для OFDM и ФИЗИКИ одно поставщика услуг и вектор-столбец 40 элементов для ФИЗИКИ управления.
Типы данных: int8
failHCS
— Проверка HCSfalse
| true
Чек HCS, возвращенный как логическое. Когда headerBits
приводит проверку HCS к сбою, failHCS
является true
.
Типы данных: логический
В формате DMG header field отличается в размере и содержимом для каждого поддерживаемого физического уровня (PHY) схема модуляции. Это поле содержит дополнительную важную информацию для получателя.
Общий размер поля заголовка составляет 40 битов для ФИЗИКИ управления и 64 бита для SC и ФИЗИКИ OFDM.
Самые важные поля, характерные для трех режимов PHY:
Инициализация скремблера — Задает начальное состояние для скремблера.
MCS — Задает схему модуляции и кодирования, используемую в поле данных. Это не присутствует в управлении PHY.
Длина (данные) — Задает длину поля данных.
Пакетный тип — Задает, предназначается ли beamforming учебное поле для получателя или передатчика.
Учебная длина — Задает, используется ли beamforming учебное поле и если так, его длина.
HCS — Обеспечивает контрольную сумму на CRC для заголовка.
IEEE 802.11ad-2012 задает подробные аспекты полевой структуры заголовка DMG. В частности, специфичные для модуляции аспекты PHY поля заголовка заданы в этих разделах:
Структура заголовка управления DMG PHY задана в Разделе 21.4.3.2.
Структура заголовка DMG OFDM PHY задана в Разделе 21.5.3.1.
SC DMG структура заголовка PHY задан в Разделе 21.6.3.1.
[1] Станд. IEEE 802.11ad™-2012 Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации — Поправка 3: Улучшения для Очень Высокой Пропускной способности в Полосе на 60 ГГц.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.