wlanBCCDecode

Сверточно декодируйте входные данные

Описание

пример

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

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

пример

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

пример

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

Примеры

свернуть все

Декодируйте двух мягких бит с помощью BCC со скоростью 1/2.

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

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

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

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

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

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

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

demodData = double(1-2*encodedData);

BCC-декодирование демодулированных данных.

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

Оставьте декодированные данные.

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

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

isequal(dataBits,deparsedData)
ans = logical
   1

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

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

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

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

encodedData = wlanBCCEncode(dataBits,3/4);

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

demodData = 1-2*encodedData;

BCC-декодирование демодулированных бит.

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

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

isequal(dataBits,decodedData)
ans = logical
   1

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

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

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

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

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

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

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

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

isequal(dataBits,decodedBits)
ans = logical
   1

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

свернуть все

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

Типы данных: 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 без какого-либо квантования, задайте этот вход следующим 'soft'.

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

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

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

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

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

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

свернуть все

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

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

Ссылки

[1] IEEE Std 802.11™-2016 (Редакция IEEE Std 802.11-2012). «Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического слоя (PHY)». Стандарт IEEE на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - Особые требования.

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

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

.

См. также

|

Введенный в R2017b