wlanDMGHeaderBitRecover

Восстановите биты заголовка с поля заголовка DMG

Описание

пример

[headerBits,failHCS] = wlanDMGHeaderBitRecover(rxHeader,noiseVarEst,cfg) восстанавливает биты информации о заголовке и тестирует последовательность проверки заголовка (HCS), учитывая поле заголовка от передачи DMG (OFDM, одно поставщик услуг или управление PHY), шумовая оценка отклонения и объект настройки DMG.

пример

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

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

свернуть все

Полученный полевой сигнал заголовка 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
Поддержка комплексного числа: Да

Шумовая оценка отклонения, заданная как неотрицательный скаляр.

Типы данных: double

Настройка DMG PPDU, заданная как wlanDMGConfig объект.

Информация состояния канала, указанная как 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 итераций.

Максимальное количество декодирования итераций в имеющей малую плотность проверке четности (LDPC), заданной как положительное целое число. Этот аргумент применяется, когда кодирование канала установлено в LDPC для пользователя интереса.

Для получения информации об опциях кодирования канала смотрите 802.11™ предмет интереса настройки формата.

Типы данных: double

Включите раннее завершение декодирования LDPC, заданного как логическое значение 1 TRUE) или 0 ложь). Это свойство применяется, когда кодирование канала установлено в LDPC для пользователя интереса.

  • Когда установлено в false, Декодирование LDPC завершает количество итераций, заданных MaximumLDPCIterationCount, независимо от состояния проверки четности.

  • Когда установлено в true, Декодирование LDPC завершает работу, когда всем проверкам четности удовлетворяют.

Для получения информации об опциях кодирования канала смотрите 802,11 предмета интереса настройки формата.

Типы данных: логический

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

свернуть все

Восстановленные биты информации о заголовке, возвращенные как вектор-столбец 64 элементов для OFDM и ФИЗИКИ одно поставщика услуг и вектор-столбец 40 элементов для ФИЗИКИ управления.

Типы данных: int8

Чек HCS, возвращенный как логическое. Когда headerBits приводит к сбою проверку HCS, failHCS true.

Типы данных: логический

Больше о

свернуть все

Поле заголовка DMG

В формате 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 ГГц.

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

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

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

|

Введенный в R2017b