MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Обработка сигналов и изображений\Signal Processing Toolbox

Список функций Communications Toolbox: Утилиты

В оглавление \ К следующему разделу \ К предыдущему разделу

SHIFT2MASK
Расчет маски сдвигового регистра, необходимой для формирования задержанной псевдослучайной последовательности

Синтаксис

mask = shift2mask(prpoly,shift)

Описание

mask = shift2mask(prpoly,shift)

Возвращает маску, которую необходимо применить к регистру сдвига с обратной связью для получения псевдослучайной последовательности, задержанной на shift тактов. Обратные связи в регистре задаются с помощью примитивного полинома prpoly. Входной параметр prpoly может быть задан в одном из двух форматов:

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

Входной параметр shift должен быть целочисленным скаляром.

Замечание. Для ускорения вычислений функция shift2mask не проверяет полином prpoly на примитивность. Если он не является примитивным, выдаваемый функцией результат не имеет смысла. Для нахождения примитивных полиномов используйте функцию primpoly или алгоритмы из [2].

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

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

Задержки и маски при генерации псевдослучайных последовательностей

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

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

Время (такты) T = 0 T = 1 T = 2 ... T = s T = s+1
Shift = 0 x0 x1 x2 ... xs xs+1
Shift = s>0 xs xs+1 xs+2 ... x2s x2s+1

Параметры маски и задержки могут использоваться в Simulink при реализации генератора псевдослучайной последовательности с помощью блока PN Sequence Generator из набора Communications Blockset.

Примеры

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

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

Сопутствующие функции: mask2shift, deconv, isprimitive, primpoly

Литература

  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.

В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика