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.

Разделите 17.3.5.5 из [1], задает скремблирование, и дескремблирование процесса применилось к передаваемым данным. Заголовок и поля данных, которые следуют за полем инициализации скремблера (включая дополнительные биты данных) скремблированы XORing каждый бит с длиной 127 периодических последовательностей, сгенерированных полиномиальным S(x) = x7+x4+1. Октеты PSDU помещаются в небольшой поток, и, в каждом октете, бит 0 (LSB) является первыми и битными 7 (MSB), является последним. Этот рисунок демонстрирует генерацию последовательности и операцию "исключающее ИЛИ".

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

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

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

int2bit(1,7)'
ans =

     0     0     0     0     0     0     1

Пример: [1; 0; 1; 1; 1; 0; 1] передает состояние инициализации скремблера 93 как columnm вектор с бинарным знаком.

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

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

свернуть все

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

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

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

Введенный в R2017b