exponenta event banner

ltePSCCHPRBS

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

Описание

пример

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

Сгенерированная последовательность скремблирования должна применяться к кодированным данным PSCCH, переносимым ассоциированным подкадром. Используемый генератор последовательности PRBS инициализируется с cinit  = 510.

пример

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

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

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

Примеры

свернуть все

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

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

codeword = ones(288,1);
pscchPrbs = ltePSCCHPRBS(length(codeword));
scrambled = xor(pscchPrbs,codeword);

Дескремблировать принятое кодовое слово PSCCH.

Кодовое слово PSCCH скремблирования

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

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

codeword = ones(288,1);
pscchPrbs = ltePSCCHPRBS(length(codeword));
scrambled = xor(pscchPrbs,codeword);

txsym = lteSymbolModulate(scrambled,'QPSK');

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

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

  • Создайте PSCCH PRBS в форме с подписью.

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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