ltePDSCHPRBS

PDSCH псевдослучайная последовательность скремблирования

Описание

пример

[seq,cinit] = ltePDSCHPRBS(enb,rnti,cwIndex,n) возвращает вектор-столбец, содержащий первый n выходные параметры Физического Нисходящего Разделяемого Канала (PDSCH) борющаяся последовательность. Это также возвращает значение инициализации cinit для псевдослучайной двоичной последовательности (PRBS) генератор. Функция инициализируется согласно настройкам всей ячейки, enb, 16-битный rnti, и cwIndex, указание, который кодовая комбинация эта последовательность скремблирования.

[seq,cinit] = ltePDSCHPRBS(enb,rnti,cwIndex,n,mapping) позволяет управление форматом возвращенной последовательности seq с входом mapping.

[subseq,cinit] = ltePDSCHPRBS(enb,rnti,cwIndex,pn) возвращает подпоследовательность полной последовательности PRBS, заданной pn.

[subseq,cinit] = ltePDSCHPRBS(enb,rnti,cwIndex,pn,mapping) позволяет дополнительное управление форматом возвращенной подпоследовательности, subseq, с входом mapping

Примеры

свернуть все

Скремблируйте содержимое кодовой комбинации с помощью PDSCH борющаяся последовательность.

Создайте конфигурационную структуру всей ячейки для ссылочного канала R.0, получите индексы PDSCH и создать кодовую комбинацию.

enb = lteRMCDL('R.0');
pdsch = enb.PDSCH;
[~,pdschInfo] = ltePDSCHIndices(enb,pdsch,pdsch.PRBSet);
codedTrBlkSize = pdschInfo.G;
cw = randi([0 1],codedTrBlkSize,1);

Сгенерируйте PDSCH борющаяся последовательность и скремблируйте кодовую комбинацию с помощью PDSCH борющаяся последовательность.

RNTI = 11;
ncw = 0;
pdschPrbsSeq = ltePDSCHPRBS(enb,RNTI,ncw,length(cw));
scrambled = xor(pdschPrbsSeq, cw);

Скремблируйте содержимое двух кодовых комбинаций с помощью PDSCH борющаяся последовательность. При передаче нескольких кодовых комбинаций через пространственное мультиплексирование каждая кодовая комбинация использует различную последовательность скремблирования.

Создайте конфигурационную структуру всей ячейки для ссылочного канала R.14, получите индексы PDSCH.

rmc.RC = 'R.14';
rmc = lteRMCDL(rmc,2);
pdsch = rmc.PDSCH;
[~,pdschInfo] = ltePDSCHIndices(rmc,pdsch,pdsch.PRBSet);
codedTrBlkSize1 = pdschInfo.G(1);
codedTrBlkSize2 = pdschInfo.G(2);
cws{1} = randi([0 1],codedTrBlkSize1,1);
cws{2} = randi([0 1],codedTrBlkSize2,1);

Сгенерируйте PDSCH борющиеся последовательности для двух кодовых комбинаций и скремблируйте кодовые комбинации с помощью PDSCH борющиеся последовательности.

RNTI = 11;
ncw = 0;
pdschPrbsSeq1 = ltePDSCHPRBS(rmc,RNTI,ncw,length(cws{1}));
ncw = 1;
pdschPrbsSeq2 = ltePDSCHPRBS(rmc,RNTI,ncw,length(cws{2}));
scrambled1 = xor(pdschPrbsSeq1, cws{1});
scrambled2 = xor(pdschPrbsSeq2, cws{2});

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

свернуть все

Настройки всей ячейки, заданные как структура. enb содержит следующие поля.

Идентичность ячейки физического уровня, заданная как неотрицательное целое число.

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

Номер подкадра, заданный как неотрицательное целое число.

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

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

Радиосеть временный идентификатор, заданный как неотрицательное целое число.

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

Индекс кодовой комбинации, заданный как 0 или 1. Этот вход указывает, какую кодовую комбинацию эта последовательность скремблирует.

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

Длина борющейся последовательности, заданной как положительное целое число.

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

Область значений борющейся подпоследовательности, subseq, заданный как вектор-строка из [p n]. Подпоследовательность возвращает n значения генератора PRBS, запускающегося в положении p (на основе 0).

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

Выведите форматирование последовательности, заданное как 'binary' или 'signed'. mapping управляет форматом возвращенной последовательности.

  • 'binary' карты true к 1 и false к 0.

  • 'signed' карты true к –1 и false к 1.

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

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

свернуть все

PDSCH борющаяся последовательность, возвращенная как логический вектор-столбец или числовой вектор-столбец. seq аргумент содержит первый n выходные параметры псевдослучайной последовательности скремблирования PDSCH. Если mapping установлен в 'signed', seq вектор типа данных дважды. В противном случае это - вектор логического типа данных.

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

PDSCH борющаяся подпоследовательность, возвращенная как логический вектор-столбец или числовой вектор-столбец. subseq содержит значения генератора PRBS, заданного pn. Если вы устанавливаете mapping к 'signed', типом выходных данных является double. В противном случае типом выходных данных является logical

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

Значение инициализации для генератора PRBS, возвращенного в виде числа.

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

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

| |

Введенный в R2014a