shift2mask

Преобразуйте величину сдвига в вектор маски для настройки сдвигового регистра

Синтаксис

mask = shift2mask(prpoly,shift)

Описание

mask = shift2mask(prpoly,shift) возвращает маску, которая эквивалентна сдвигу (или смещение) заданный shift, для линейного сдвигового регистра обратной связи, связи которого заданы примитивным полиномиальным prpoly. prpoly введите может иметь один из этих форматов:

  • Полиномиальный вектор символов

  • Бинарный вектор, который перечисляет коэффициенты примитивного полинома в порядке убывающих степеней

  • Целочисленный скаляр, бинарное представление которого дает коэффициенты примитивного полинома, где младший значащий бит является постоянным термином

shift вход является целочисленным скаляром.

Примечание

Сэкономить время, shift2mask не проверяет тот prpoly примитивно. Если это не примитивно, выход не значим. Чтобы найти примитивные полиномы, использовать primpoly или см. [2].

Определение эквивалентной маски

Эквивалентная маска для сдвига s является остатком после деления полинома xs примитивным полиномом. Векторный mask представляет полином остатка путем листинга коэффициентов в порядке убывающих степеней.

Сдвиги, маски и псевдошумовые генераторы последовательности

Линейные сдвиговые регистры обратной связи являются частью реализации псевдошумового генератора последовательности. Ниже принципиальная схема псевдошумового генератора последовательности. Все сумматоры выполняют сложение по модулю 2.

Примитивный полином определяет состояние каждого переключателя помеченный GK, и маска определяет состояние каждого переключателя помеченный знак. Более низкая половина схемы показывает реализацию сдвига, который задерживает начальную точку выходной последовательности. Если сдвиг является нулем, переключатель m0 закрывается, в то время как все другие переключатели знака открыты. Приведенная ниже таблица указывает, как сдвиг влияет на выход сдвигового регистра.

T = 0T = 1T = 2...T = sT = s+1
Переключите = 0x0 x1 x2 ...xs xs+1
Переключите = s> 0xs xs+1 xs+2 ... x2s x2s+1

Если вы имеете программное обеспечение Communications Toolbox™ и хотите сгенерировать псевдошумовую последовательность в Simulink® модель, смотрите страницу с описанием блока PN Sequence Generator.

Примеры

свернуть все

Преобразуйте сдвиг в линейном сдвиговом регистре обратной связи в эквивалентную маску.

Преобразуйте сдвиг 5 в эквивалентную маску x3+x+1 для линейного сдвигового регистра обратной связи, связи которого заданы примитивным полиномом x4+x3+1. Длина маски равна степени примитивного полинома, 4.

mk = shift2mask([1 1 0 0 1],5)
mk = 1×4

     1     0     1     1

Преобразуйте сдвиг 7 к маске x4+x2 для примитивного полинома x5+x2+1.

mk2 = shift2mask('x5+x2+1',7)
mk2 = 1×5

     1     0     1     0     0

Ссылки

[1] Ли, J. S., и Л. Э. Миллер, руководство системного проектирования CDMA, Бостон, дом Artech, 1998.

[2] Саймон, Марвин К., Джим К. Омура, и др., Сприд-Спектрум-Коммуникэйшнс-Хэндбук, Нью-Йорк, McGraw-Hill, 1994.

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

| | |

Представлено до R2006a