Сгенерируйте сигнал поля, отличного от HT-данных
Сгенерируйте форму волны для 20MHz поля, отличного от HT-Data, для 36 Мбит/с.
Создайте объект строения, отличный от 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);
Сгенерируйте сигнал поля, отличного от HT Data.
y = wlanNonHTData(psdu,cfg,scramInit);
psdu
- биты PSDUСлой модуля служебных данных процедуры сходимости физических бит (PLCP) (PSDU), заданная как двоичный вектор-столбец длины 8 × L, где L - длина PSDU в байтах. Чтобы задать L, установите PSDULength
свойство cfg
вход.
Типы данных: double
cfg
- Параметры передачи, отличные от HTwlanNonHTConfig
объектНе-HT параметры передачи, заданные как wlanNonHTConfig
объект.
scramInit
- Начальное состояние скремблера или начальная псевдослучайная последовательность скремблера93
(по умолчанию) | целое число в интервале [1, 127] | двоичным вектором-столбцомНачальное состояние скремблера или начальная псевдослучайная последовательность скремблера для каждого сгенерированного пакета.
Когда вы отключаете сигнализацию полосы пропускания путем установки SignalchannelBandwidth
свойство cfg
вход в 0
(false
), этот вход представляет начальное состояние скремблера. В этом случае этот вход должен быть целым числом в интервале [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 каждым битом с периодической последовательностью length-127, сгенерированной полиномиальным S(x) = x7 + x4 + 1. Октеты PSDU помещаются в поток битов, и в каждом октете бит 0 (LSB) является первым и бит 7 (MSB) является последним. Этот рисунок демонстрирует генерацию последовательности и операцию XOR.
Преобразование из целого числа в биты использует ориентацию слева 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
- Сигнал во временной области поля данных, не являющихся HTСигнал без Данных HT во временной области поля, возвращенный как комплексно-оцененная матрица размера N S-by- N T.
N S - количество выборок во временном интервале
N T - количество передающих антенн.
Типы данных: double
Поддержка комплексного числа: Да
Сервисные данные физического слоя (PHY) модуля (PSDU). Это поле состоит из переменного количества октетов. Минимум 0 (нуль) и максимум 2500. Для получения дополнительной информации см. IEEE Std 802.11™-2012, раздел 15.3.5.7.
Поле невысокими Данными пропускной способности (не-HT Данных) используется для передачи MAC- систем координат и состоит из служебного поля, PSDU, хвостовых бит и бит колодки.
Поле Service - Содержит 16 нулей для инициализации скремблера данных.
PSDU - поле переменной длины, содержащее модуль служебных данных PLCP (PSDU).
Tail - Хвостовые биты, необходимые для завершения сверточного кода. Поле использует шесть нулей для одного потока кодирования.
Биты дополнения - поле переменной длины, необходимое для проверки того, что поле данных, отличное от HT, содержит целое число символов.
Поле, отличное от Данные, следует за L-SIG в пакете. Подробные сведения об алгоритме см. в разделе 17.3.5 документа [1]. Данные, не являющиеся HT, включают пользовательскую полезную нагрузку в PSDU плюс 16 служебных битов, шесть хвостовых битов и дополнительные биты заполнения, требуемые для заполнения последнего символа OFDM. Функция выполняет обработку передатчика в поле, отличном от HT Data, и генерирует сигнал во временной области.
[1] IEEE Std 802.11™-2016 (Редакция IEEE Std 802.11-2012). «Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического слоя (PHY)». Стандарт IEEE на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - Особые требования.
[1] IEEE® Std 802.11-2012 Адаптировано и переиздано с разрешения IEEE. Копирайт IEEE 2012. Все права защищены.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.