wlanBCCDecode

Convolutionally декодируют входные данные

Описание

пример

y = wlanBCCDecode(sym,rate) возвращает декодируемые биты y путем фактического декодирования символов sym уровень декодирования задан rate.

y = wlanBCCDecode(sym,rate,decType) задает тип декодирования Viterbi, декодирующего алгоритм.

пример

y = wlanBCCDecode(sym,rate,tDepth) задает traceback глубину Viterbi, декодирующего алгоритм.

пример

y = wlanBCCDecode(sym,rate,decType,tDepth) задает тип декодирования и traceback глубину. Можно задать decType и tDepth входные параметры в любом порядке после rate.

Примеры

свернуть все

Декодируйте два закодированных потока мягких битов при помощи BCC уровня 1/2.

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

dataBits = randi([0 1],100,1,'int8');

Проанализируйте биты данных, как задано в IEEE® 802.11™-2012 Section 20.3.11.5 и IEEE® 802.11ac™-2013 Section 22.3.10.5.2. numES количество закодированных потоков.

numES = 2;
parsedData = reshape(dataBits,numES,[]).';

BCC - кодирует проанализированную последовательность.

encodedData = wlanBCCEncode(parsedData,'1/2');

Преобразуйте закодированные биты в мягкие биты (i.e. Демодуляция LLR).

demodData = double(1-2*encodedData);

Декодируйте BCC демодулируемые данные.

decodedData = wlanBCCDecode(demodData,'1/2');

Deparse декодируемые данные.

deparsedData = reshape(decodedData.',[],1);

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

isequal(dataBits,deparsedData)
ans = logical
   1

Декодируйте последовательность мягких битов при помощи BCC уровня 3/4 и traceback глубина 60.

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

dataBits = randi([0 1],300,1);

BCC - кодирует последовательность битов.

encodedData = wlanBCCEncode(dataBits,3/4);

Преобразуйте закодированные биты в мягкие биты (i.e. Демодуляция LLR).

demodData = 1-2*encodedData;

Декодируйте BCC демодулируемые биты.

tDepth = 60;
decodedData = wlanBCCDecode(demodData,3/4,tDepth);

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

isequal(dataBits,decodedData)
ans = logical
   1

Декодируйте последовательность твердых битов при помощи BCC уровня 3/4 и traceback глубина 45.

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

dataBits = randi([0 1],300,1,'int8');

BCC - кодирует последовательность битов.

encodedData = wlanBCCEncode(dataBits,'2/3');

Выполните трудное декодирование BCC на закодированных битах. Задайте traceback глубину 45.

tDepth = 45;
decodedBits = wlanBCCDecode(encodedData,'2/3','hard',tDepth);

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

isequal(dataBits,decodedBits)
ans = logical
   1

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

свернуть все

Символы, чтобы декодировать в виде матрицы целых чисел. Количество столбцов должно быть количеством закодированных потоков. Каждый поток закодирован отдельно. Когда вы задаете decType введите как 'soft', этот вход должен быть действительной матрицей с отношениями логарифмической правдоподобности. Положительные значения представляют логический ноль, и отрицательные величины представляют логическую единицу.

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

Уровень кода бинарного сверточного кода (BCC) в виде числового скаляра, вектора символов или строкового скаляра. Чтобы выбрать уровень кода, задайте этот вход как значение в соответствии с таблицей.

Уровень кодаСкалярСимвольный векторСтрока
1/21/2'1/2'"1/2"
2/32/3'2/3'"2/3"
3/43/4'3/4'"3/4"
5/65/6'5/6'"5/6"

Пример: '3/4'

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

Декодирование типа бинарного сверточного кода (BCC) в виде вектора символов или строкового скаляра. Чтобы задать твердый входной алгоритм Viterbi, задайте этот вход как 'hard'. Чтобы задать мягкий входной алгоритм Viterbi без любого квантования, задайте этот вход as'soft'.

Для получения дополнительной информации о BCC смотрите Разделы 17.3.5.6 и 19.3.11.6 в [1].

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

Глубина Traceback Viterbi, декодирующего алгоритм в виде положительного целого числа, меньше чем или равного количеству вводимых символов в sym.

Пример: y = wlanBCCDecode(sym,'1/2','hard',50)

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

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

свернуть все

Двоичный файл convolutionally декодировал биты, возвращенные как бинарная матрица. Количество строк y равно количеству строк входа sym умноженный на rate, округленный до следующего целого числа. Количество столбцов y равно количеству столбцов sym.

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

Ссылки

[1] Станд. IEEE 802.11™-2016 (Версия Станд. IEEE 802.11-2012). “Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования”. Стандарт IEEE для Информационных технологий — Телекоммуникации и обмен информацией между системами. Локальные сети и городские компьютерные сети — Конкретные требования.

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

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

Смотрите также

|

Введенный в R2017b