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');

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

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

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

  • Дескремблируйте вектор, представляющий последовательность мягких битов путем генерации PSSCH PRBS в форме со знаком и выполнения pointwise умножения между последовательностью 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. (nIDSA)

NSAID более низкие 8 битов полного 24-битного целевого ID группы Слоя 2 ProSe. NSAID и NSubframePSSCH управляйте значением борющейся последовательности в начале каждого подкадра. NSAID только требуется для D2D sidelink.

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

Идентичность скремблирования V2X, заданная как целочисленный скаляр. NXID CRC на 16 битов, сопоставленный с предоставлением 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.

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

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

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

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

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

Больше о

свернуть все

Физический Sidelink разделяемая обработка канала

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

Для PSSCH входная длина кодовой комбинации является битами M  = N RE × бит/с N, где бит/с N является количеством битов на символ. Модуляция PSSCH является или QPSK (2 бита за символ) или 16 QAM (4 бита за символ).

Количество элементов ресурса PSSCH (N RE) в подкадре является N RE = N PRB ×   N REperPRB ×   N 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.

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

Борющийся генератор последовательности инициализируется с cinit=nIDX×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. “Развитый Универсальный наземный радио-доступ (к E-UTRA); физические каналы и модуляция”. Проект партнерства третьего поколения; сеть радиодоступа Technical Specification Group. URL: https://www.3gpp.org.

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

| | |

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте