Восстановите биты данных с поля данных DMG
восстанавливает биты данных, учитывая поле данных от передачи DMG (OFDM, одно поставщик услуг или управление PHY), шумовая оценка отклонения и объект настройки DMG.DataBits
= wlanDMGDataBitRecover(rxDataSig
,noiseVarEst
,cfg
)
использует информацию состояния канала, указанную в DataBits
= wlanDMGDataBitRecover(rxDataSig
,noiseVarEst
,csi
,cfg
)csi
улучшать demapping поднесущих OFDM.
задает дополнительные опции в аргументах пары "имя-значение", с помощью входных параметров от предыдущих синтаксисов. Когда пара "имя-значение" не задана, ее значение по умолчанию используется.DataBits
= wlanDMGDataBitRecover(___,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
функция, чтобы сгенерировать индексы поля PPDU.
ind = wlanFieldIndices(cfgDMG); rxData = rx(ind.DMGData(1):ind.DMGData(2));
Измените полученную форму волны данных в блоки. Установите размер блока данных на 512 и защитную длину интервала к 64. Удалите последний защитный интервал из полученной формы волны данных. Получившаяся форма волны данных является 512 Nblks
матрица, где Nblks
количество данных DMG blocks.
blkSize = 512; Ngi = 64; rxData = rxData(1:end-Ngi); rxData = reshape(rxData,blkSize,[]);
Удалите защитный интервал из каждого блока. Получившийся сигнал является 448 Nblks
матрица, как ожидалось для временного интервала поле данных DMG сигнализируют для SC о PHY.
rxSym = rxData(Ngi+1:end,:); size(rxSym)
ans = 1×2
448 9
Восстановите PSDU с поля данных DMG.
rxBits = wlanDMGDataBitRecover(rxSym,nVar,cfgDMG);
Сравните его с исходными информационными битами.
disp(isequal(txBits,rxBits));
1
Восстановите биты информации о данных поля данных 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
функция, чтобы сгенерировать индексы поля PPDU.
ind = wlanFieldIndices(cfgDMG); rxData = rx(ind.DMGData(1):ind.DMGData(2));
Установите длину БПФ на 512 и циклическую длину префикса до 128 для демодуляции OFDM.
Nfft = 512; Ncp = 128;
Выполните демодуляцию OFDM. Измените полученную форму волны, чтобы иметь символы для каждого столбца OFDM и удалить циклический префикс. Затем масштабируйте последовательность активным тоном 352 и извлеките символы частотного диапазона.
ofdmSym = reshape(rxData,Nfft+Ncp,[]); dftSym = ofdmSym(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),:);
Восстановите PSDU с поля данных DMG. Примите оценку CSI из всех единиц.
csi = ones(length(dataSCIndex),1); rxBits = wlanDMGDataBitRecover(rxSym,nVar,csi,cfgDMG);
Сравните его с исходными информационными битами.
disp(isequal(txBits,rxBits));
1
Восстановите биты информации о данных с поля данных 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); rxSym = rx(ind.DMGHeader(1):ind.DMGData(2));
De-rotate полученный сигнал пи/2 и despread это с распространяющимся фактором 32. Используйте wlanGolaySequence
функция, чтобы сгенерировать последовательность Golay.
rxSym = rxSym.*exp(-1i*pi/2*(0:size(rxSym,1)-1).'); SF = 32; Ga = wlanGolaySequence(SF); rxSymDespread = (reshape(rxSym,SF,length(rxSym)/SF)'*Ga)/SF;
Восстановите PSDU с поля данных DMG.
rxBits = wlanDMGDataBitRecover(rxSymDespread,nVar,cfgDMG);
Сравните его с исходными информационными битами.
disp(isequal(txBits,rxBits));
1
rxDataSig
— Полученный сигнал поля данных DMGПолученный сигнал данных DMG, заданный как действительная или комплексная матрица. Содержимое и размер rxDataSig
зависьте от физического уровня (PHY):
Одно поставщик услуг PHY — rxDataSig
временной интервал сигнал поля данных DMG, заданный как 448 NBLKS матрицей действительных или комплексных чисел. Значение 448 является количеством символов в символе данных DMG и N, BLKS является количеством блоков данных DMG.
OFDM PHY — rxDataSig
демодулируемое поле данных DMG символы OFDM, заданные как 336 NSYM матрицей действительных или комплексных чисел. Значение 336 является количеством поднесущих данных в поле данных DMG и N, SYM является количеством символов OFDM.
Управляйте PHY — rxDataSig
сигнал временной области, содержащий заголовок и поля данных, заданные как вектор-столбец 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 предмета интереса настройки формата.
Типы данных: логический
DataBits
— Восстановленные информационные биты в поле данных DMGВосстановленные информационные биты от поля данных DMG, возвращенного как вектор-столбец длины 8 × cfgDMG.PSDULength
. Смотрите wlanDMGConfig
для PSDULength
детали.
Типы данных: int8
Формат DMG поддерживает три физических уровня (PHY) схемы модуляции: управляйте, один поставщик услуг и OFDM. data field является переменным в длине. Это выполняет ту же функцию для трех ФИЗИК и несет пользовательскую полезную нагрузку данных.
Для SC PHY каждый блок в поле данных является 512 символами долго и с защитным интервалом (GI) 64 символов с Последовательностью Golay. Для OFDM каждый символ OFDM в поле данных является 640 выборками долго и с циклическим префиксом (CP) 128 выборок, чтобы предотвратить интерференцию межсимвола.
IEEE 802.11ad™-2012 задает общие аспекты пакетной структуры DMG PPDU в Разделе 21.3. Специфичные для модуляции аспекты PHY структуры поля данных заданы в этих разделах:
Пакетная структура управления DMG PHY задана в Разделе 21.4.
Пакетная структура DMG OFDM PHY задана в Разделе 21.5.
SC DMG пакетная структура PHY задан в Разделе 21.6.
[1] Станд. IEEE 802.11ad™-2012 Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации — Поправка 3: Улучшения для Очень Высокой Пропускной способности в Полосе на 60 ГГц.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.