nrBCHDecode

Декодирование широковещательного канала (BCH)

Описание

пример

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

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

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

  • lsbofsfn, четыре младших бита (LSB) системного номера системы координат

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

  • msbidxoffset, наиболее значимые биты (MSB) смещения индекса

Примеры

свернуть все

Сгенерируйте случайную последовательность двоичных значений, соответствующих транспортному блоку 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 до 1007.

Типы данных: 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.

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

Четыре LSB системного номера системы координат, возвращенные как вектор-столбец 4 на 1.

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

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

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

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

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

  • Если lssb является 64, записи msbidxoffset являются тремя декодированными MSB индекса SSB, возвращаемыми как вектор-столбец 3 на 1.

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

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

расширить все

Поведение изменено в R2020a

Ссылки

[1] 3GPP TS 38.212. "NR; Мультиплексирование и канальное кодирование. "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[2] 3GPP TS 38.331. "NR; Спецификация протокола управления радиоресурсами (RRC). "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[3] 3GPP TS 38.214. "NR; Процедуры физического слоя данных ". 3-ья Генерация проект Партнерства; Группа технических спецификаций Радиосеть доступ.

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

.

См. также

Функции

Введенный в R2018b