Сгенерируйте форму волны non-HT-Data
Сгенерируйте форму волны для non-HT-Data на 20 МГц для 36 Мбит/с.
Создайте объект настройки non-HT и присвойте MCS
к 5.
cfg = wlanNonHTConfig('MCS',5);
Присвойте случайные данные PSDU и сгенерируйте форму волны поля данных.
psdu = randi([0 1],cfg.PSDULength*8,1); y = wlanNonHTData(psdu,cfg); size(y)
ans = 1×2
4480 1
Сконфигурируйте параметры передачи путем создания wlanNonHTConfig
объект, задавая пропускную способность канала 80 МГц и статической операции пропускной способности.
cfg = wlanNonHTConfig('ChannelBandwidth','CBW80','SignalChannelBandwidth',true, ... 'BandwidthOperation','Static');
Сгенерируйте случайный PSDU соответствующей длины.
psdu = randi([0 1],8*cfg.PSDULength,1,'int8');
Сгенерируйте начальную псевдослучайную последовательность скремблера.
[range,numBits] = scramblerRange(cfg); scramInit = randi(range);
Сгенерируйте сигнал Поля данных non-HT.
y = wlanNonHTData(psdu,cfg,scramInit);
psdu
— Биты PSDUcfg
— Параметры передачи Non-HTwlanNonHTConfig
объектПараметры передачи Non-HT в виде wlanNonHTConfig
объект.
scramInit
— Начальное состояние скремблера или начальная псевдослучайная последовательность скремблера
(значение по умолчанию) | целое число в интервале [1, 127] | вектор-столбец с бинарным знакомНачальное состояние скремблера или начальная псевдослучайная последовательность скремблера для каждого сгенерированного пакета.
Когда вы отключаете пропускную способность, сигнализирующую путем установки SignalchannelBandwidth
свойство cfg
введите к 0
ложь
), этот вход представляет начальное состояние скремблера. В этом случае этот вход должен быть целым числом в интервале [1, 127], или как соответствующий вектор-столбец с бинарным знаком длины семь. Значение по умолчанию, 93
, состояние в качестве примера в разделе I 1.5.2 [1].
Когда вы включаете пропускную способность, сигнализирующую путем установки SignalchannelBandwidth
свойство cfg
введите к 1
TRUE
), этот вход представляет псевдослучайную последовательность скремблера, описанную в Таблице 17-7 [1]. В этом случае этот вход должен быть целым числом в интервале [min, max], или соответствующий вектор-столбец с бинарным знаком длины N B. Значения min, max и N B зависят от значений BandwidthOperation
и ChannelBandwidth
свойства cfg
введите согласно этой таблице.
Значение cfg . BandwidthOperation | Значение cfg . ChannelBandwidth | Значение min | Значение max | Значение N B |
---|---|---|---|---|
'Absent' | 'CBW20' | 1 | 31 | 5 |
'Absent' | 'CBW5' , 'CBW10' , 'CBW40' , 'CBW80' , или 'CBW160' | 0 | 31 | 5 |
'Static' или 'Dynamic' | 'CBW20' | 1 | 15 | 4 |
'Static' или 'Dynamic' | 'CBW5' , 'CBW10' , 'CBW40' , 'CBW80' , или 'CBW160' | 0 | 15 | 4 |
Если вы не задаете этот вход, функция использует N B старшие значащие биты значения по умолчанию, 93
.
Разделите 17.3.5.5 из [1], задает скремблирование, и дескремблирование процесса применилось к передаваемым данным. Заголовок и поля данных, которые следуют за полем инициализации скремблера (включая дополнительные биты данных) скремблированы XORing каждый бит с длиной 127 периодических последовательностей, сгенерированных полиномиальным S(x) = x 7 + x 4 + 1. Октеты PSDU помещаются в небольшой поток, и, в каждом октете, бит 0 (LSB) является первыми и битными 7 (MSB), является последним. Этот рисунок демонстрирует генерацию последовательности и операцию "исключающее ИЛИ".
Преобразование из целого числа вдребезги использует ориентацию лево-MSB. Для инициализации скремблера с десятичным 1
, биты сопоставлены с показанными элементами.
Элемент | X7 | X6 | X5 | X4 | X3 | X2 | X1 |
---|---|---|---|---|---|---|---|
Битовое значение | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Чтобы сгенерировать поток битов, эквивалентный десятичному числу, использовать de2bi
. Например, для десятичного 1
:
de2bi(1,7,'left-msb') ans = 0 0 0 0 0 0 1
Пример: [1; 0; 1; 1; 1; 0; 1]
передает состояние инициализации скремблера 93 как бинарный вектор.
Типы данных: double |
int8
y
— Форма волны временного интервала Поля данных Non-HTФорма волны временного интервала Поля данных Non-HT, возвращенная как матрица с комплексным знаком размера N S-by-NT.
N S является количеством выборок области времени
N T является количеством антенн передачи.
Типы данных: double
Поддержка комплексного числа: Да
Физический уровень (PHY) модуль эксплуатационных данных (PSDU). Это поле состоит из переменного количества октетов. Минимум 0 (нуль), и максимум 2500. Для получения дополнительной информации смотрите Станд. IEEE 802.11™-2012, Раздел 15.3.5.7.
Невысокие Данные о пропускной способности (Данные non-HT) поле используется, чтобы передать кадры MAC и состоит из сервисного поля, PSDU, битов хвоста и битов клавиатуры.
Поле Service — Содержит 16 нулей, чтобы инициализировать скремблер данных.
PSDU — Поле переменной длины, содержащее Модуль эксплуатационных данных PLCP (PSDU).
Хвост — биты Хвоста, требуемые отключать сверточный код. Поле использует шесть нулей для одного потока кодирования.
Заполните Биты — поле Переменной длины, требуемое гарантировать, что поле данных non-HT содержит целое число символов.
Поле данных non-HT следует за L-SIG в пакете. Для получения дополнительной информации алгоритма относитесь, чтобы разделить 17.3.5 из [1]. Данные non-HT включают пользовательскую полезную нагрузку в PSDU плюс 16 сервисных битов, шесть битов хвоста и дополнительные дополнительные биты как требуется, чтобы заполнить последний символ OFDM. Функция выполняет обработку передатчика на Поле данных non-HT и генерирует форму волны временного интервала.
[1] Станд. IEEE 802.11™-2016 (Версия Станд. IEEE 802.11-2012). “Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования”. Стандарт IEEE для Информационных технологий — Телекоммуникации и обмен информацией между системами. Локальные сети и городские компьютерные сети — Конкретные требования.
[1] IEEE® Std 802.11-2012 Adapted и переизданный с разрешением от IEEE. Авторское право IEEE 2012. Все права защищены.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.