Золотой генератор последовательности

Сгенерируйте Золотую последовательность от набора последовательностей

Библиотека

Подбиблиотека Sequence Generators Источников Коммуникации

Описание

Блок Gold Sequence Generator генерирует Золотую последовательность. Золотые последовательности формируют большой класс последовательностей, которые имеют хорошие периодические свойства взаимной корреляции.

Этот блок может вывести последовательности, которые отличаются по длине во время симуляции. Для получения дополнительной информации о сигналах переменного размера, смотрите Основы Сигнала Переменного Размера (Simulink).

Золотые последовательности

Золотые последовательности заданы с помощью заданной пары последовательностей u и v, периода N = 2n - 1, названный предпочтительной парой, как задано в Предпочтительных Парах Последовательностей ниже. Набор G (u, v) Золотых последовательностей задан

G(u,v)={u,v,uv,uTv,uT2v,...,uTN1v}

где T представляет оператор, который переключает векторы циклически налево одним местом, и представляет сложение по модулю 2. Обратите внимание на то, что G (u, v) содержит N + 2 последовательности периода N. Блок Gold Sequence Generator выводит одну из этих последовательностей согласно параметрам блока.

Золотые последовательности имеют свойство, что взаимная корреляция между любыми двумя, или между переключенными версиями их, берет одно из трех значений:-t (n),-1, или t (n) - 2, где

t(n)={1+2(n+1)/2n даже1+2(n+2)/2n нечетный

Блок Gold Sequence Generator использует два блока Генератора Последовательности PN, чтобы сгенерировать предпочтительную пару последовательностей, и затем XORs эти последовательности, чтобы произвести выходную последовательность, как показано в следующей схеме.

Можно задать предпочтительную пару Preferred polynomial [1] и параметрами Preferred polynomial [2] в диалоговом окне для блока Gold Sequence Generator. Эти полиномы, оба из которых должны иметь степень n, описывают сдвиговые регистры, что Генератор Последовательности PN блокирует использование, чтобы сгенерировать их вывод. Для получения дополнительной информации о том, как эти последовательности сгенерированы, смотрите страницу с описанием для блока PN Sequence Generator. Можно задать предпочтительные полиномы с помощью этих форматов:

  • Полиномиальный вектор символов, который включает номер 1, например, 'z^4 + z + 1'.

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

  • Вектор, содержащий экспоненты z для ненулевых условий полинома в порядке убывания степеней. Последней записью должен быть 0.

Например, вектор символов 'z^5 + z^2 + 1', векторный [5 2 0] и векторный [1 0 0 1 0 1] представляет полином z5 + z2 + 1.

Следующая таблица предоставляет короткий список предпочтительных пар.

nNПредпочтительный полином [1]Предпочтительный полином [2]
5 31 [5 2 0] [5 4 3 2 0]
6 63 [6 1 0] [6 5 2 1 0]
7 127 [7 3 0] [7 3 2 1 0]
9 511 [9 4 0] [9 6 4 3 0]
10 1023 [10 3 0] [10 8 3 2 0]
11 2047 [11 2 0] [11 8 5 2 0]

Initial states[1] и параметры Initial states[2] являются векторами, задающими начальные значения регистров, соответствующих Preferred polynomial [1] и Preferred polynomial [2], соответственно. Эти параметры должны удовлетворить эти критерии:

  • Все элементы Initial states[1] и векторов Initial states[2] должны быть двоичными числами.

  • Длина вектора Initial states[1] должна равняться степени Preferred polynomial[1], и длина вектора Initial states[2] должна равняться степени Preferred polynomial[2].

    Примечание

    По крайней мере один элемент векторов Initial states должен быть ненулевым для блока, чтобы сгенерировать ненулевую последовательность. Таким образом, начальное состояние по крайней мере одного из регистров должно быть ненулевым.

Параметр Sequence index задает который последовательность в наборе G (u, v) Золотых последовательностей блок выходные параметры. Область значений Sequence index [-2,-1, 0, 1, 2..., 2n–2]. Соответствие между Sequence index и выходной последовательностью дано в следующей таблице.

Индекс последовательностиВыведите последовательность
-2 u
-1 v
0

uv

1

uTv

2

uT2v

... ...
2n-2

uT2n2v

Можно переключить отправную точку Золотой последовательности с параметром Shift , который является целым числом, представляющим длину сдвига.

Можно использовать внешний сигнал сбросить значения внутреннего сдвигового регистра к начальному состоянию путем выбора Reset on nonzero input. Это создает входной порт для внешнего сигнала в блоке Gold Sequence Generator. Путем сброс блока, внутренний сдвиговый регистр зависит от того, основаны ли его выходной сигнал и сигнал сброса на выборке или основаны на кадре. Следующий пример демонстрирует возможные альтернативы. Смотрите Пример: Сброс Сигнала для примера.

Предпочтительные пары последовательностей

Требования для пары последовательностей u, v периода N = 2n–1, чтобы быть предпочтительной парой следующие:

  • n не является делимым 4

  • v = u [q], где

    • q нечетен

    • q = 2k+1 или q = 22k–2k+1

    • v получен путем выборки каждого qth символа u

  • gCD(n,k)={1n1mod22n2mod4

Параметры

Preferred polynomial[1]

Вектор символов или вектор, задающий полином для первой последовательности предпочтительной пары.

Initial states[1]

Вектор начальных состояний сдвигового регистра для первой последовательности предпочтительной пары.

Preferred polynomial[2]

Вектор символов или вектор, задающий полином для второй последовательности предпочтительной пары.

Initial states[2]

Вектор начальных состояний сдвигового регистра для второй последовательности предпочтительной пары.

Sequence index

Целое число, задающее индекс выходной последовательности от набора последовательностей.

Shift

Целочисленный скаляр, который определяет смещение Золотой последовательности с начального времени.

Output variable-size signals

Установите этот флажок, если вы хотите, чтобы выходные последовательности отличались по длине во время симуляции. Выбор по умолчанию выходные сигналы фиксированной длины.

Maximum output size source

Задайте, как блок задает максимальный выходной размер для сигнала.

  • Когда вы выбираете Dialog parameter, значение, которое вы вводите в параметр Maximum output size, задает максимальный размер вывода. Когда вы делаете этот выбор, входной порт oSiz задает текущий размер выходного сигнала, и блок вывод наследовал шаг расчета от входного сигнала. Входное значение должно быть меньше чем или равно параметру Maximum output size.

  • Когда вы выбираете Inherit from reference port, блок вывод наследовал шаг расчета, максимальный размер и текущий размер от сигнала переменного размера в Касательно входного порта.

Этот параметр только появляется, когда вы выбираете Output variable-size signals. Выбором по умолчанию является Dialog parameter.

Maximum output size

Задайте двухэлементный вектор - строку, обозначающий максимальный выходной размер для блока. Вторым элементом вектора должен быть 1, Например, [10 1] дает максимальный размерный выходной сигнал 10 на 1. Этот параметр только появляется, когда вы выбираете Output variable-size signals.

Sample time

Время между каждой выборкой столбца выходного сигнала.

Samples per frame

Количество выборок на кадр в одном канале выходного сигнала.

Примечание

Время между выходными обновлениями равно продукту Samples per frame и Sample time. Например, если Sample time и Samples per frame равняются один, блок выводит выборку каждую секунду. Если Samples per frame увеличен до 10, то вектор 10 на 1 выводится каждые 10 секунд. Это гарантирует, что эквивалентная норма выработки не зависит от параметра Samples per frame.

Reset on nonzero input

Когда выбрано, можно задать входной сигнал, который сбрасывает внутренние сдвиговые регистры к исходным значениям параметра Initial states

Output data type

Выходной тип блока может быть задан как boolean, double или Smallest unsigned integer. По умолчанию блок устанавливает это на double.

Когда параметр устанавливается на Smallest unsigned integer, тип выходных данных выбран на основе настроек, используемых в Панели Аппаратной реализации (Simulink) диалогового окна Configuration Parameters модели. Если ASIC/FPGA выбран в панели Аппаратной реализации, тип выходных данных является идеальным минимальным однобитным размером, т.е. ufix (1). Для всех других выборов это - беззнаковое целое с самым маленьким доступным размером слова, достаточно большим, чтобы соответствовать одному биту, обычно соответствуя размеру char (например, uint8).

Ссылки

[1] Proakis, Джон Г., Цифровая связь, Третий выпуск, Нью-Йорк, Макгроу Хилл, 1995.

[2] Золото, R., "Максимальные Рекурсивные Последовательности с 3-значными Рекурсивными Функциями взаимной корреляции", Сделка IEEE Infor. Теория, январь 1968, стр 154-156.

[3] Золото, R., "Оптимальные Двоичные последовательности для Мультиплексирования Спектра Распространения, Сделка IEEE Infor. Теория, октябрь 1967, стр 619-621.

[4] Sarwate, D.V., и М.Б. Персли, "Свойства взаимной корреляции Псевдослучайных и Связанных Последовательностей", Proc. IEEE, Издание 68, № 5, май 1980, стр 583-619.

[5] Диксон, Роберт, системы спектра распространения с коммерческим применением, третьим выпуском, Wiley-межнаукой, 1994.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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