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