exponenta event banner

ltePSBCHPRBS

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

Описание

пример

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

Сгенерированная скремблирующая последовательность должна применяться к кодированным данным PSBCH, переносимым ассоциированным подкадром. Генератор PRBS инициализирован с cinit  = ue.NSLID.

пример

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

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

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

Примеры

свернуть все

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

Создайте структуру конфигурации UE и кодовое слово SL-BCH. Создайте требуемую длину PRBS и скремблируйте кодовое слово PSBCH с последовательностью PRBS с помощью xor.

ue = struct('NSLID',2);
codeword = lteSLBCH(ue,ones(40,1));
psbchPrbs = ltePSBCHPRBS(ue,length(codeword));
scrambled = xor(psbchPrbs,codeword);

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

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

  • Создайте структуру конфигурации UE и кодовое слово SL-BCH.

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

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

ue = struct('NSLID',2);
codeword = lteSLBCH(ue,ones(40,1));

psbchPrbs = ltePSBCHPRBS(ue,length(codeword));
scrambled = xor(psbchPrbs,codeword);

txsym = lteSymbolModulate(scrambled,'QPSK');

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

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

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

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

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

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

scramblingSeq = ltePSBCHPRBS(ue,length(softdata),'signed');

descrambled = softdata.*scramblingSeq;

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

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

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

свернуть все

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

Идентификатор синхронизации боковой линии физического уровня, заданный как целое число от 0 до 355. (NIDSL)

Типы данных: 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

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

свернуть все

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

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

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

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

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

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

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