nrBCHDecode

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

Синтаксис

scrblk = nrBCHDecode(softbits,L)
[scrblk,errFlag] = nrBCHDecode(softbits,L)
[scrblk,errFlag,trblk,lsbofsfn,hrf,msbidxoffset] = nrBCHDecode(softbits,L,lssb,ncellid)

Описание

пример

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 с помощью заданных аргументов.

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

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

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

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

errFlag
isequal(trblk,rxtrblk)
isequal(bi2de(rxSFN4lsb','left-msb'),mod(sfn,16))
[isequal(hrf,rxHRF) isequal(de2bi(floor(kssb/16),1),rxKssb)]

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

свернуть все

Аппроксимированное логарифмическое отношение правдоподобия (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.

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

Ссылки

[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