ltePSBCHPRBS

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

Описание

пример

[seq,cinit] = ltePSBCHPRBS(ue,n) возвращает вектор-столбец, содержащий первый n выходные параметры псевдослучайной двоичной последовательности скремблирования PSBCH (PRBS) для заданной структуры настроек 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 путем генерации псевдослучайной двоичной последовательности 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');

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

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

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

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

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

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

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

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

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

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

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

| | | |

Введенный в R2017b