exponenta event banner

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) является последним. На этом рисунке показана генерация последовательности и операция XOR.

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

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

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

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

     0     0     0     0     0     0     1

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

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

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

свернуть все

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2017b