shift2mask

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

Синтаксис

mask = shift2mask(prpoly,shift)

Описание

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

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

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

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

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

Примечание

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

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

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

Генераторы сдвигов, масок и псевдонозных последовательностей

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

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

T = 0T = 1T = 2...T = sT = s + 1
Сдвиг = 0x0 x1 x2 ...xs xs + 1
Сдвиг = s > 0xs xs + 1xs + 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] Lee, J. S., and L. E. Miller, CDMA Systems Engineering Handbook, Boston, Artech House, 1998.

[2] Simon, Marvin K., Jim K. Omura, et al., Spread Spectrum Communications Handbook, New York, McGraw-Hill, 1994.

См. также

| | |

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