exponenta event banner

ltePSSCHPRBS

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

Описание

пример

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

Сгенерированная скремблирующая последовательность должна применяться к кодированным данным PSSCH, переносимым ассоциированным подкадром. Используемый генератор последовательности PRBS инициализируется с помощью cinit = nIDX × 214 + nssfPSSCH × 29 + 510. Дополнительные сведения см. в разделе Обработка физических общих каналов Sidelink ,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 путем генерации псевдослучайной двоичной последовательности PSSCH (PRBS) и применения операции исключающего ИЛИ к двум последовательностям.

Создайте структуру настроек 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');

Восстановленное кодовое слово Descramble

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

  • Создайте 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

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

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

свернуть все

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

Режим боковых линий связи, указанный как 'D2D' или 'V2X'.

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

Идентификатор назначения группы боковых линий связи, указанный как целое число в интервале [0, 255].

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

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

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

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

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

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

Типы данных: 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) включает в себя PCSCH-специфическое скремблирование, QPSK или 16-QAM модуляцию и предварительное кодирование с преобразованием SC-FDMA. Обработка PSSCH выполняется в соответствии с этапами обработки, используемыми для PUSCH, с изменениями, определенными в TS 36.211, раздел 9.3.

Для PSSCH длина входного кодового слова равна Mbits  = NRE  × Nbps, где Nbps - количество битов на символ. Модуляция PSSCH представляет собой либо QPSK (2 бита на символ), либо 16 QAM (4 бита на символ).

Количество элементов ресурса PSSCH (NRE) в субкадре равно NRE  = NPRB  × NREperPRB  × NSYM и включает в себя символы, связанные с гардином sidelink SC-FDMA.

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

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

  • NSYM - это количество символов SC-FDMA в подкадре PSSCH, включая символы, связанные с защитным символом sidelink SC-FDMA. Количество символов SC-FDMA в подкадре PSSCH равно 12 для нормального циклического префикса или 10 для D2D расширенного циклического префикса и D2D V2X.

info вывод структуры по ltePSSCHIndices обеспечивает Mbits и NRE как info.G и info.Gd соответственно.

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

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

Ссылки

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

Представлен в R2016b