wlanScramble

Скремблируйте и дескремблируйте последовательность двоичного входа

Описание

пример

y = wlanScramble(bits,scramInit) скремблирования или дескремблирования двоичный вход bits для заданного начального состояния скремблирования, с помощью синхронного системой координат скремблера с 127 длинами. Синхронный системой координат скремблер использует полином генератора, заданный в IEEE® 802.11™-2012, Раздел 18.3.5.5 и IEEE 802.11ad™-2012, Раздел 21.3.9. Тот же скремблер используется, чтобы скремблировать биты в передатчике и биты дескремблирования в получателе.

Примеры

свернуть все

Создайте инициализацию скремблера и входную последовательность случайных битов.

scramInit = 93;
bits = randi([0,1],1000,1);

Скремблируйте и дескремблируйте биты при помощи инициализации скремблера.

scrambledData = wlanScramble(bits,scramInit);
descrambledData = wlanScramble(scrambledData,scramInit);

Проверьте, что дескремблированные данные совпадают с исходными данными.

isequal(bits,descrambledData)
ans = logical
   1

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

свернуть все

Введите последовательность, которая будет скремблирована, задана как вектор столбца двоичных данных или матрица.

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

Начальное состояние скремблера, заданного как целое число от 1 до 127, или соответствие 7 1 вектор-столбец битов.

Инициализация скремблера, используемая на данных о передаче, следует за процессом, описанным в Станд. IEEE 802.11-2012, Раздел 18.3.5.5 и Станд. IEEE 802.11ad-2012, Раздел 21.3.9. Заголовок и поля данных, которые следуют за полем инициализации скремблера (включая дополнительные биты данных) скремблированы XORing каждый бит с длиной 127 периодических последовательностей, сгенерированных полиномиальным S(x) = x 7+x4+1. Октеты PSDU (Модуль Эксплуатационных данных Физического уровня) помещаются в небольшой поток, и в каждом октете, бит 0 (LSB) является первыми и битными 7 (MSB), является последним. Генерацию последовательности и операцию "исключающее ИЛИ" показывают в этом рисунке:

Преобразование из целого числа вдребезги использует ориентацию лево-MSB. Для инициализации скремблера с десятичным 1, биты сопоставлены с показанными элементами.

ЭлементX7X6X5X4X3X2 X1
Битовое значение0000001

Чтобы сгенерировать поток битов, эквивалентный десятичному числу, используйте de2bi. Например, для десятичного 1:

de2bi(1,7,'left-msb')
ans =

     0     0     0     0     0     0     1

Тот же scramInit применяется через все столбцы bits когда вход является матрицей.

Пример: [0 0 0 0 0 0 1]'

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

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

свернуть все

Скремблированный или дескремблированный выходной параметр, возвращенный как вектор столбца двоичных данных или матрица с тем же размером и типом как bits.

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

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

Введенный в R2017b