exponenta event banner

wlanBCCDecode

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

Описание

пример

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

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

пример

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

пример

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

Примеры

свернуть все

Декодирование двух кодированных потоков мягких битов с использованием ВСС со скоростью 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

Декодирование последовательности мягких битов с использованием ВСС со скоростью 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

Декодирование последовательности жестких битов с использованием ВСС со скоростью 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), заданного как вектор символов или строковый скаляр. Чтобы задать алгоритм Витерби с жестким входом, укажите этот вход как 'hard'. Чтобы задать алгоритм Витерби с мягким входом без квантования, укажите этот вход как'soft'.

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

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

Глубина отслеживания алгоритма декодирования Витерби, заданная как положительное целое число, меньшее или равное количеству входных символов в 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++ с помощью MATLAB ® Coder™

.

См. также

|

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