exponenta event banner

shift2mask

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

Синтаксис

mask = shift2mask(prpoly,shift)

Описание

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

  • Вектор многочлена

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

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

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

Примечание

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

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

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

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

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

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

T = 0Т = 1Т = 2...T = sT = s + 1
Сдвиг = 0x0 x1 x2 ...xs xs + 1
Shift = s > 0xs xs + 1xs + 2... x2s x2s+1

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

Примеры

свернуть все

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

Преобразуйте сдвиг 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] Ли, Дж. С. и Л. Э. Миллер, Руководство по проектированию систем CDMA, Бостон, Artech House, 1998.

Саймон, Марвин К., Джим К. Омура и др., Spread Spectrum Communications Handbook, New York, McGraw-Hill, 1994.

См. также

| | |

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