ltePSSCHPRBS

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

Описание

пример

[seq,cinit] = ltePSSCHPRBS(ue,n) возвращает первое n выходы псевдослучайной двоичной последовательности скремблирования (PRBS) PSSCH для указанной структуры настроек UE. Это также возвращает значение инициализации cinit для генератора псевдослучайной двоичной последовательности (PRBS).

Сгенерированная скремблирующая последовательность должна применяться к закодированным данным PSSCH, переносимым связанным субкадром. Используемый генератор последовательности PRBS инициализируется с cinit=nЯ быX×214+nssfPSSCH×29+510. Для получения дополнительной информации см. Раздел «Физическая параллельная обработка совместно используемого канала», ue. NSAID и ue. NXID

пример

[seq,cinit] = ltePSSCHPRBS(ue,n,mapping) задает формат возвращаемой последовательности, seq, через mapping вход.

[subseq,cinit] = ltePSSCHPRBS(ue,pn) возвращает подпоследовательность полной последовательности PRBS, заданную как pn.

[subseq,cinit] = ltePSSCHPRBS(ue,pn,mapping) задает формат возвращаемой подпоследовательности, subseq, через mapping вход.

Примеры

свернуть все

Скремблируйте кодовое слово PSSCH путем генерации псевдослучайной двоичной последовательности (PRBS) PSSCH и применения операции исключающего ИЛИ к этим двум последовательностям.

Создайте структуру параметров UE с обязательными полями. Сгенерируйте необходимую длину PRBS. Скремблируйте кодовое слово PSSCH с помощью последовательности PRBS с помощью xor.

ue = struct('NSAID',255,'NSubframePSSCH',0);

codeword = ones(1152,1);
psschPrbs = ltePSSCHPRBS(ue,length(codeword));

scrambled = xor(psschPrbs,codeword);

Дескремблируйте принятое кодовое слово PSSCH.

Скремблируйте кодовое слово PSSCH

  • Создайте структуру параметров UE с обязательными полями.

  • Сгенерируйте необходимую длину PRBS.

  • Скремблируйте кодовое слово PSSCH с помощью последовательности PRBS с помощью xor.

  • Модулируйте логические скремблированные данные.

ue = struct('NSAID',255,'NSubframePSSCH',0);

codeword = ones(1152,1);
psschPrbs = ltePSSCHPRBS(ue,length(codeword));

scrambled = xor(psschPrbs,codeword);

txsym = lteSymbolModulate(scrambled,'16QAM');

Дескремблируйте восстановленное кодовое слово

  • Добавьте шум к переданным символам и демодулируйте полученные мягкие данные.

  • Сгенерируйте PSSCH PRBS в форме со знаком.

  • Дескремблируйте вектор, представляющий последовательность мягких бит, путем генерации PSSCH PRBS в форме со знаком и выполнения точечного умножения между последовательностью PRBS и восстановленными мягкими данными.

  • Сравните переданное кодовое слово с восстановленным кодовым словом.

sym = awgn(txsym,30,'measured');
softdata = lteSymbolDemodulate(sym,'16QAM');

scramblingSeq = ltePSSCHPRBS(ue,length(softdata),'signed');
descrambled = softdata.*scramblingSeq;

isequal(codeword,descrambled > 0)
ans = logical
   1

Переданное кодовое слово соответствует жесткому решению по дескремблированным данным.

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

свернуть все

Настройки пользовательского оборудования, заданные как структура параметра, содержащая следующие поля:

Режим Sidelink, заданный как 'D2D' или 'V2X'.

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

Конечные тождества группы Sidelink в виде целого числа в интервале [0, 255].

Это поле является нижним восемью битами полного 24-битного идентификатора адресата группы Layer-2 ProSe. Это поле и NSubframePSSCH управление значением скремблирующей последовательности в начале каждого субкадра. Это поле требуется только для D2D бокового соединения.

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

V2X скремблирующие тождества, заданные как целочисленный скаляр. NXID - 16 биты CRC, сопоставленный с предоставлением PSCCH SCI. Это требуется только для V2X бокового соединения.

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

Номер субкадра PSSCH в пуле субкадров PSSCH, заданный как целочисленный скаляр. (nssfPSSCH)

NSubframePSSCH и NSAID управляйте значениями последовательности скремблирования. Это требуется только для D2D бокового соединения.

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

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

Количество элементов в возвращенной последовательности, seq, заданный как числовой скаляр.

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

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

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

Форматирование выходной последовательности, заданное как 'binary' или 'signed'.

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

  • 'signed' карты true до -1 и false по 1.

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

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

свернуть все

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

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

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

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

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

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

Подробнее о

свернуть все

Физическая обработка совместно используемого канала Sidelink

Обработка совместно используемого физического бокового канала (PSSCH) включает в себя специфическое для PSSCH скремблирование, QPSK или 16-QAM модуляцию и предварительное кодирование преобразования SC-FDMA. Обработка PSSCH выполняется в соответствии с этапами обработки, используемыми для PUSCH, с изменениями, определенными в TS 36.211, раздел 9.3.

Для PSSCH длина ключевого слова входа - M биты = N ре × <reservedrangesplaceholder1> bps  , где <reservedrangesplaceholder0> bps - количество бит за символ. PSSCH-модуляция является либо QPSK (2 бита на символ), либо 16 QAM (4 бита на символ).

Число элементов ресурса PSSCH (N РЕ) в нижней раме является N РЕ = <reservedrangesplaceholder2> PRB × <reservedrangesplaceholder1> REperPRB × <reservedrangesplaceholder0> SYM     и включает символы, связанные с непрямым символом охраны SC-FDMA.

  • N PRB - это количество физических ресурсных блоков (PRB), используемых для передачи.

  • N REperPRB - это количество ресурсных элементов в PRB. Каждый PRB имеет 12 ресурсных элементов.

  • N SYM является количеством символов SC-FDMA в подкадре PSSCH, включая символы, сопоставленные с защитным символом SC-FDMA боковой линии связи. Количество символов SC-FDMA в подкадре PSSCH составляет 12 для D2D циклического префикса или 10 для D2D циклического префикса и V2X.

The info структура, выводимая ltePSSCHIndices обеспечивает M бит и N RE как info.G и info.Gd соответственно.

Генератор скремблирующей последовательности инициализируется с cinit=nЯ быX×214+nssfPSSCH×29+510 в начале каждого субкадра PSSCH. Для D2D sidelink, nIDSA - тождества адресата (NSAID), полученный из разделяемого канала боковой линии связи. Для V2X, nIDSA - V2X скремблирования тождеств (NXID). nssfPSSCH - номер субкадра в пуле субкадров PSSCH (NSubframePSSCH).

ltePSSCH требует CyclicPrefixSL для вывода количества ресурсных блоков, выделенных для символов предварительного кодирования SC-FDMA.

Ссылки

[1] 3GPP TS 36.211. "Evolved Universal Terrestrial Radio Access (E-UTRA); Физические каналы и модуляция ". 3-ья Генерация Партнерский проект; Группа технических спецификаций Радиосеть доступ. URL-адрес: https://www.3gpp.org.

Введенный в R2016b