ltePSSCHPRBS

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

Синтаксис

[seq,cinit] = ltePSSCHPRBS(ue,n)
[seq,cinit] = ltePSSCHPRBS(ue,n,mapping)
[subseq,cinit] = ltePSSCHPRBS(ue,pn)
[subseq,cinit] = ltePSSCHPRBS(ue,pn,mapping)

Описание

пример

[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.

Типы данных: 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 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. “Физические каналы и модуляция”. Проект партнерства третьего поколения; сеть радиодоступа Technical Specification Group; развитый Универсальный наземный радио-доступ (к E-UTRA). URL: http://www.3gpp.org.

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

| | |

Введенный в R2017b