Восстановите биты заголовка с поля заголовка DMG
[
восстанавливает биты информации о заголовке и тестирует последовательность проверки заголовка (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):
Одно поставщик услуг 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
объект.
csi
— Информация о состоянии каналаИнформация состояния канала, указанная как 336 1 действительный вектор-столбец. Значение 336 задает количество поднесущих данных в поле данных DMG. csi
требуется только для OFDM PHY.
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'MaximumLDPCIterationCount','12','EarlyTermination','false'
задает максимум 12 итераций декодирования для LDPC и отключает раннее завершение декодирования LDPC так, чтобы это завершило эти 12 итераций.'MaximumLDPCIterationCount'
— Максимальное количество декодирования итераций в LDPCМаксимальное количество декодирования итераций в имеющей малую плотность проверке четности (LDPC), заданной как положительное целое число. Этот аргумент применяется, когда кодирование канала установлено в LDPC для пользователя интереса.
Для получения информации об опциях кодирования канала смотрите 802.11™ предмет интереса настройки формата.
Типы данных: double
'EarlyTermination'
— Включите раннее завершение декодирования LDPCfalse
или 0
(значение по умолчанию) | true
или 1
Включите раннее завершение декодирования LDPC, заданного как логическое значение 1
TRUE
) или 0
ложь
). Это свойство применяется, когда кодирование канала установлено в 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 ГГц.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.