ltePDSCHPRBS

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

Описание

пример

[seq,cinit] = ltePDSCHPRBS(enb,rnti,cwIndex,n) возвращает вектор-столбец, содержащую первый n выходы последовательности скремблирования Physical Nowlink Shared Channel (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. В противном случае это вектор типа данных логический.

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

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

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

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

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

Введенный в R2014a