ltePSBCHPRBS

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

Описание

пример

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

Сгенерированная скремблирующая последовательность должна применяться к закодированным данным PSBCH, переносимым связанным субкадром. Генератор PRBS инициализируется с c init  = 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 путем генерации псевдослучайной двоичной последовательности (PRBS) 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);

Дескремблируйте принятое кодовое слово 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');

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

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

  • Сгенерируйте 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
Для просмотра документации необходимо авторизоваться на сайте