nrBCHDecode

Канал телевизионного вещания (BCH) декодирование

Описание

пример

scrblk = nrBCHDecode(softbits,L) декодирует отношения логарифмической правдоподобности (LLRs) softbits в соответствии с TS 38.212, Раздел 7.1 [1]. Функция возвращается, декодируемый скремблировал транспортный блок scrblk BCH. Входной параметр L длина списка, используемая для полярного декодирования.

[scrblk,errFlag] = nrBCHDecode(softbits,L) также возвращает флаг ошибки, errFlag, указать ли scrblk содержит ошибку после декодирования.

[scrblk,errFlag,trblk,lsbofsfn,hrf,msbidxoffset] = nrBCHDecode(softbits,L,lssb,ncellid) также возвращает декодируемый и восстановленный транспортный блок trblk BCH. Дополнительные входные параметры являются количеством сигнала синхронизации кандидата / физический канал телевизионного вещания (SS/PBCH) блоки, lssb, и личный номер ячейки физического уровня, ncellid. Функция также возвращает эти информационный элементы:

  • lsbofsfn, четыре младших значащих бита (LSBs) системы структурируют номер

  • hrf, половина бита системы координат

  • msbidxoffset, старшие значащие биты (MSBs) индекса возмещены

Примеры

свернуть все

Сгенерируйте случайную последовательность двоичных значений, соответствующих транспортному блоку BCH 24 битов.

trblk = randi([0 1],24,1,'int8');  

Задайте личный номер ячейки физического уровня как 321, системный номер системы координат как 10, и вторая половина системы координат.

nid = 321;  
sfn = 10;   
hrf = 1;     

Задайте количество кандидата блоки SS/PBCH как 8. Когда вы задаете количество кандидата, SS/PBCH блокируется как 4 или 8, можно указать, что поднесущая возместила kssb как входной параметр к энкодеру BCH.

lssb = 8;                     
kssb = 18;               

Закодируйте транспортный блок BCH с помощью заданных аргументов.

bch = nrBCH(trblk,sfn,hrf,lssb,kssb,nid);

Декодируйте закодированный транспортный блок и восстановите информацию при помощи полярной длины списка декодирований 8 битов.

listLen = 8;
[~,errFlag,rxtrblk,rxSFN4lsb,rxHRF,rxKssb] = nrBCHDecode( ...
   double(1-2*bch),listLen,lssb,nid);

Проверьте, что декодирование не имеет никаких ошибок.

errFlag
errFlag = uint32
    0
isequal(trblk,rxtrblk)
ans = logical
   1

isequal(bi2de(rxSFN4lsb','left-msb'),mod(sfn,16))
ans = logical
   1

[isequal(hrf,rxHRF) isequal(de2bi(floor(kssb/16),1),rxKssb)]
ans = 1x2 logical array

   1   1

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

свернуть все

Аппроксимированное отношение логарифмической правдоподобности (LLR) мягкие биты в виде 864 1 вектор-столбца с действительным знаком.

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

Полярная длина списка декодирований в виде степени 2.

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

Количество кандидата SS/PBCH блокируется в половине системы координат в виде 4, 8, или 64.

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

Личный номер ячейки физического уровня в виде целого числа от 0 до 1 007.

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

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

свернуть все

Декодируемый скремблировал транспортный блок BCH, возвращенный как 32 1 вектор столбца двоичных данных.

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

Флаг ошибки, чтобы указать, ли scrblk содержит ошибку, возвращенную как 0 или 1. Если errFlag 1, затем ошибка произошла.

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

Декодируемые и восстановленные BCH транспортируют блок, возвращенный как 24 1 вектор столбца двоичных данных. Выход trblk BCCH-BCH-Message, как задано в Разделе TS 38.331 6.2.1 [2]. BCCH-BCH-Message содержит основной блок информации (MIB), как задано в Разделе TS 38.331 6.2.2.

Типы данных: логический

Четыре LSBs системы структурируют номер, возвращенный как 4 1 вектор-столбец.

Типы данных: логический

Половина бита системы координат в передачах блока SS/PBCH, возвращенных как 0 указание на первую половину системы координат или 1 указание на вторую половину системы координат. Для получения дополнительной информации смотрите Раздел TS 38.214 4.1 [3].

Типы данных: логический

MSBs смещения индекса, возвращенного как скалярный или вектор-столбец 3 на 1.

  • Если lssb 4 или 8, msbidxoffset декодируемый MSB индекса поднесущей, возвращенного как скаляр.

  • Если lssb 64, записи msbidxoffset декодируемый MSBs трех индекса SSB, возвращенного как вектор-столбец 3 на 1.

Типы данных: логический

Вопросы совместимости

развернуть все

Поведение изменяется в R2020a

Ссылки

[1] 3GPP TS 38.212. “NR; Мультиплексирование и кодирование канала”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[2] 3GPP TS 38.331. “NR; спецификация протокола Радио-управления ресурсами (RRC)”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[3] 3GPP TS 38.214. “NR; процедуры Физического уровня для данных”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

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

Функции

Введенный в R2018b