wlanSegmentParseBits

Анализируйте-сегментируйте биты данных

Описание

пример

y = wlanSegmentParseBits(bits,cbw,numES,numCBPS,numBPSCS) выполняет синтаксический анализ сегмента на входе bits согласно IEEE® 802.11ac™-2013, раздел 22.3.10.7, при cbw является 'CBW16' или 'CBW160'.

Примечание

Разбор сегментов бит применяется только, когда ширина полосы пропускания канала составляет или 16 МГц, или 160 МГц, и обходится для остальных полос пропускания канала (как указано в вышеупомянутом разделе IEEE802.11ac-2013). Поэтому, когда cbw - любое принятое значение, кроме 'CBW16' или 'CBW160', wlanSegmentParseBits возвращает вход без изменений.

Примеры

свернуть все

Анализируйте-сегментируйте кодированные биты для строения VHT (с пропускной способностью канала 160 МГц и тремя пространственными потоками) в два символа OFDM.

Определите входные параметры. Установите пропускную способность канала на 160 МГц, количество закодированных бит на символ OFDM на 2808, количество пространственных потоков, которые будут 3, количество закодированных потоков на 1, количество кодированных бит на поднесущую в каждом пространственном потоке на 2 и количество символов OFDM на 2. Вычислим количество кодированных бит на символ OFDM в пространственном потоке путем деления количества кодированных бит на символ OFDM на количество пространственных потоков.

chanBW = 'CBW160';
numCBPS = 2808;
numSS = 3;
numES = 1;
numBPSCS = 2;
numSym = 2;
numCBPSS = numCBPS/numSS;

Создайте входную последовательность бит.

bits = randi([0 1],numCBPSS*numSym,numSS,'int8');

Выполните разбор сегмента по битам.

parsedBits = wlanSegmentParseBits(bits,chanBW,numES,numCBPS,numBPSCS);

Проанализированная последовательность является трехмерным массивом бит.

size(parsedBits)
ans = 1×3

   936     3     2

parsedBits(1:5,:,:)
ans = 5x3x2 int8 array
ans(:,:,1) =

   1   0   1
   0   1   1
   1   0   1
   0   0   0
   1   0   1


ans(:,:,2) =

   1   1   1
   1   1   1
   0   0   1
   1   1   0
   1   0   0

Получите порядок битов после разбора сегмента символа OFDM S1G строения с пропускной способностью канала 16 МГц и двумя пространственными потоками.

Определите входные параметры. Установите пропускную способность канала в 16 МГц, количество закодированных бит на символ OFDM в 1872, количество пространственных потоков в 2, количество закодированных потоков в 1, количество кодированных бит на поднесущую в каждом пространственном потоке в 2 и количество символов OFDM в 2. Вычислим количество кодированных бит на символ OFDM в пространственном потоке путем деления количества кодированных бит на символ OFDM на количество пространственных потоков.

chanBW = 'CBW16';
numCBPS = 1872;
numSS = 2;
numES = 1;
numBPSCS = 2;
numSym = 1;
numCBPSS = numCBPS/numSS;

Создайте входную последовательность.

sequence = (1:numCBPS*numSym).';
inp = reshape(sequence,numCBPSS*numSym,numSS);

Выполните разбор сегмента последовательности.

parsedSequence = wlanSegmentParseBits(inp,chanBW,numES,numCBPS,numBPSCS);

Проанализированная последовательность является трехмерным массивом, содержащим соответствующий порядок битов.

size(parsedSequence)
ans = 1×3

   468     2     2

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

свернуть все

Вход последовательность проанализированных бит, заданная как (N CBPSS × N SYM) -by- N SS матрица, где:

  • N CBPSS является количеством закодированных бит на символ OFDM в каждом пространственном потоке.

  • N SYM является количеством символов OFDM.

  • N SS является количеством пространственных потоков.

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

Пропускная способность канала в МГц, заданная как 'CBW1', 'CBW2', 'CBW4', 'CBW8', 'CBW16', 'CBW20', 'CBW40', 'CBW80', или 'CBW160'.

Пример: 'CBW160'

Типы данных: char | string

Количество закодированных потоков в виде целого числа от 1 до 9 или 12.

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

Количество закодированных бит на символ OFDM, заданное в виде положительного целого числа. Когда cbw является 'CBW16' или 'CBW160', numCBPS должно быть целым числом, равным 468 × N BPSCS × N SS, где:

  • N BPSCS является количеством закодированных бит на поднесущую в каждом пространственном потоке.

  • N SS является количеством пространственных потоков. Он учитывает количество столбцов (второе измерение) входного bits.

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

Количество кодированных бит на поднесущую в каждом пространственном потоке, заданное как log2 (M), где M является порядком модуляции. Поэтому numBPSCS должен быть равен:

  • 1 для BPSK модуляции

  • 2 для QPSK модуляции

  • 4 для 16QAM модуляции

  • 6 для 64QAM модуляции

  • 8 для 256QAM модуляции

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

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

свернуть все

Анализируемые сегментами биты, заданные как (N CBPSSI × N SYM) -by- N SS-by N SEG массив, где:

  • N CBPSSI является количеством закодированных бит на символ OFDM в пространственном потоке на блок перемежителя.

  • N SYM является количеством символов OFDM.

  • N SS является количеством пространственных потоков.

  • N SEG - это количество сегментов. Когда cbw является 'CBW16' или 'CBW160', N SEG равен 2. В противном случае это 1.

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

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

.

См. также

Введенный в R2017b