Сгенерируйте последовательность Голда из набора последовательностей
Communications Toolbox/Источники связи/Генераторы последовательности
Блок Последовательность Голда Generator генерирует двоичную последовательность с маленькими периодическими свойствами перекрестной корреляции из ограниченного набора последовательностей. Для получения дополнительной информации о Последовательностях Голда см. Последовательности Голда.
Этот блок может выводить последовательности, которые варьируются в длине во время симуляции. Для получения дополнительной информации о сигналах переменного размера смотрите Основы сигнала переменного размера (Simulink).
oSiz
- Размер выходного токаРазмер выхода тока, заданный как скаляр или двухэлементный вектор-строка. Второй элемент вектора должен быть 1
.
Пример: [10 1]
указывает, что ток выхода вектора-столбца будет иметь размер 10 на 1.
Чтобы включить этот порт, выберите параметр Output variable-size signals и установите Maximum output size source на Dialog parameter
.
Типы данных: double
Ref
- Ссылка входного сигналаСсылка сигнал, заданный как скаляр, вектор-столбец.
Чтобы включить этот порт, выберите параметр Output variable-size signals и установите Maximum output size source на Inherit from reference input
.
Типы данных: double
Rst
- Сигнал сбросаСигнал сброса, указанный в одной из этих форм.
Когда выходной размер переменной задается как скаляр.
В противном случае задайте в виде скаляра или 2-D векторы-столбцы с длиной, равной Samples per frame.
Выходной сигнал сбрасывается для ненулевых Rst входных значений. Для получения дополнительной информации см. Раздел «Сброс поведения»
Чтобы включить этот порт, выберите параметр Reset on nonzero input.
Типы данных: double
Out
- Выходной сигналВыход сигнал, возвращенный как двоичный вектор-столбец. По крайней мере, один элемент вектора Initial states (1) или Initial states (2) должен быть ненулевым в порядок, чтобы блок генерировал ненулевую последовательность.
Типы данных: double
Preferred polynomial (1)
- Полином первой последовательности'z^6 + z + 1'
(по умолчанию) | полиномиальный вектор символов | двоичный вектор-строка | целочисленный вектор-строкаПолином первой последовательности, заданный в одной из этих форм.
Полиномиальный вектор символов, такой как 'z^3 + z^2 + 1'
.
Двоичный вектор-строка, который представляет коэффициенты полинома генератора в порядке убывания степени. Длина этого вектора (N + 1), где N - степень полинома генератора. Для примера, [1 1 0 1]
представляет полином x3+ z2+ 1.
Целое число вектора-строки, содержащее степени z для ненулевых членов в полиноме в порядке убывания. Для примера, [3 2 0]
представляет полином z3 + z2 + 1.
Для получения дополнительной информации смотрите Представление символов полиномов и Предпочтительные пары последовательностей.
Initial states (1)
- Начальные состояния для полинома первой последовательности[0 0 0 0 0 1]
(по умолчанию) | двоичный векторНачальные состояния регистра сдвига для полинома первой последовательности предпочтительной пары, заданные как двоичный вектор с длиной, равной степени Preferred polynomial (1).
Preferred polynomial (2)
- полином второй последовательности'z^6 + z^5 + z^2 + z + 1'
(по умолчанию) | полиномиальный вектор символов | двоичный вектор-строка | целочисленный вектор-строкаПолином второй последовательности, заданный в одной из этих форм.
Полиномиальный вектор символов, такой как 'z^3 + z^2 + 1'
.
Двоичный вектор-строка, который представляет коэффициенты полинома генератора в порядке убывания степени. Длина этого вектора (N + 1), где N - степень полинома генератора. Для примера, [1 1 0 1]
представляет полином x3+ z2+ 1.
Целое число вектора-строки, содержащее степени z для ненулевых членов в полиноме в порядке убывания. Для примера, [3 2 0]
представляет полином z3 + z2 + 1.
Для получения дополнительной информации смотрите Представление символов полиномов.
Initial states (2)
- Начальные состояния для полинома второй последовательности[0 0 0 0 0 1]
(по умолчанию) | двоичный векторНачальные состояния регистра сдвига для полинома второй последовательности предпочтительной пары, заданные как двоичный вектор с длиной, равной степени Preferred polynomial (2).
Sequence index
- Индекс последовательности0
(по умолчанию) | целочисленный скаляр в области значений [-2, 2n–2]Индекс последовательности выхода из набора последовательностей, заданный в виде целочисленного скаляра в область значений [-2, 2n–2]. n является степенью предпочтительных полиномов.
Shift
- Смещение последовательности Голда0
(по умолчанию) | целочисленный скалярСмещение последовательности Голда от начального времени, заданное как целочисленный скаляр.
Output variable-size signals
- Выходные сигналы переменного размераВыберите этот параметр, чтобы разрешить выходные последовательности переменной длины во время симуляции. Когда установлено значение off
последовательности с фиксированной длиной являются выходом. Когда установлено значение on
могут быть выведены последовательности переменной длины. Для получения информации о сигналах переменного размера смотрите Основы сигнала переменного размера (Simulink).
Maximum output size source
- Максимальный выходной размер источникаDialog parameter
(по умолчанию) | Inherit from reference port
Максимальный размер выхода, который указывает, как задан максимальный размер выхода последовательности.
Dialog parameter
конфигурирует блок, чтобы использовать настройку параметра Maximum output size как максимально допустимую длину выходной последовательности. Когда вы делаете этот выбор, oSiz входной порт задает текущий размер выходного сигнала, и выход блока наследует шаг расчета от входного сигнала. Входное значение oSiz должно быть меньше или равным параметру Maximum output size.
Inherit from reference port
добавляет Ref
Вход порт и конфигурирует блок, чтобы наследовать шаг расчета, максимальный размер и текущий размер выхода от сигнала переменного размера в Ref
входной порт, чтобы задать максимально допустимую длину выходной последовательности.
Чтобы включить этот параметр, выберите Output variable-size signals.
Maximum output size
- Максимальный размер выходного сигнала[10 1]
(по умолчанию) | двухэлементный вектор-строкаМаксимальный выходной размер, заданный как двухэлементный вектор-строка, который обозначает максимальный выходной размер для блока. Второй элемент вектора должен быть 1
.
Пример: [10 1]
выдает сигнал максимального выхода размера 10 на 1.
Чтобы включить этот параметр, выберите Output variable-size signals и установите Maximum output size source на Dialog parameter
.
Типы данных: double
Sample time
- Вывод шага расчета1
(по умолчанию)Вывод шага расчета, заданный как -1
или положительная скалярная величина, которая представляет время между каждой выборкой сигнала выхода. Если для Sample time задано значение -1
, шаг расчета наследуется от нисходящего потока. Для получения информации о связи между Sample time и Samples per frame, смотрите
Sample Timing.
Чтобы включить этот параметр, не выбирайте Output variable-size signals.
Samples per frame
- Выборки по системам координат1
(по умолчанию) | положительное целое числоВыборки на систему координат, заданные как положительное целое число, указывающее количество отсчетов на систему координат в одном канале выходных данных. Для получения информации о связи между Sample time и Samples per frame, смотрите Sample Timing.
Чтобы включить этот параметр, не выбирайте Output variable-size signals.
Reset on nonzero input
- Сброс выходного сигналаoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить Rst порт. Когда ненулевое значение вводится в Rst порте, внутренние регистры сдвига сбрасываются к исходным значениям параметров Initial states (1) и Initial states (2).
Output data type
- Тип выходных данныхdouble
(по умолчанию) | boolean
| Smallest unsigned integer
Выход данных, заданный как boolean
, double
, или Smallest unsigned integer
.
Когда установлено значение Smallest unsigned integer
тип выхода данных выбирается на основе настроек, используемых в панели аппаратной реализации (Simulink) диалогового окна Параметров конфигурации модели. Если на панели Аппаратная реализация выбран ASIC/FPGA, выход данных является идеальным минимальным одноразрядным размером (ufix (1)). Для всех других вариантов выбора это беззнаковое целое число с наименьшим доступным размером слова, достаточной для соответствия одному биту, обычно соответствующее размеру char (uint8).
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Время между обновлениями выхода равно продукту Samples per frame и Sample time. Для примера, если Sample time и Samples per frame равны единице, блок выводит выборку каждую секунду. Если Samples per frame увеличено до 10, то вектор 10 на 1 выводится каждые 10 секунд. Это гарантирует, что эквивалентная скорость выхода не зависит от параметра Samples per frame.
Характерные перекрестные корреляционные свойства последовательностей Голда делают их полезными, когда несколько устройств вещают в одной частотной области значений. Последовательности Голда заданы с помощью заданной пары последовательностей u и v, периода N = 2n - 1, называемый preferred pair, как определено в предпочтительных парах последовательностей. Заданные G (u, v) последовательностей Голда определяются
где T представляет оператор, который смещает векторы циклически налево на одно место, и представляет сложение по модулю 2. Обратите внимание, что G (u, v) содержит N + 2 последовательностей периодов N. Блок Последовательность Голда Generator выводит одну Последовательность Голда согласно сконфигурированным параметрам и входам.
Последовательности Голда имеют свойство, что перекрестная корреляция между любыми двумя или между сдвинутыми версиями них принимает одно из трех значений: - t (n), -1 или t (n) - 2, где
Блок Последовательность Голда Generator использует два блока PN Sequence Generator, чтобы сгенерировать предпочтительную пару последовательностей, а затем XOR эти последовательности для получения последовательности выхода, как показано на следующей схеме.
Можно задать предпочтительную пару по параметрам Preferred polynomial (1) и Preferred polynomial (2) в диалоговом окне для блока Последовательности Голда Generator. Эти полиномы, оба из которых должны иметь n степени, описывают регистры сдвига, которые блоки Псевдошумовая Последовательность Generator используют, чтобы сгенерировать их выход. Для получения дополнительной информации о том, как эти последовательности генерируются, смотрите страницу с описанием для блока PN Sequence Generator. Можно задать предпочтительные полиномы, используя следующие форматы:
Полиномиальный вектор символов, который включает в себя число 1
, для примера, 'z^4 + z + 1'
.
Вектор, который перечисляет коэффициенты полинома в порядке убывания степеней. Первая и последняя записи должны быть равны 1. Обратите внимание, что длина этого вектора на один больше, чем степень полинома генератора.
Вектор, содержащий экспоненты z для ненулевых членов полинома в порядке убывания степеней. Последняя запись должна быть 0
.
Для примера, полином z5 + z2 + 1 может быть представлена вектор символов 'z^5 + z^2 + 1'
, векторная [5 2 0]
, и вектор [1 0 0 1 0 1]
.
В следующей таблице представлен краткий список предпочтительных пар.
n | N | Preferred Polynomial (1) | Preferred Polynomial (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 (1) или Initial states (2)) должен быть ненулевым по порядку, чтобы блок генерировал ненулевую последовательность. В частности, начальное состояние, по меньшей мере, одного из регистров должно быть ненулевым.
Параметр Sequence index определяет, какая последовательность Голда в G set (u, v) выводится. Диапазон Sequence index: [-2, -1, 0, 1, 2,..., 2n-2], где n - степень полиномов генератора, заданная параметрами Preferred polynomial (1) и Preferred polynomial (2). В этой таблице показано соответствие между Sequence index и выходом последовательностью.
Индекс последовательности | Выходная последовательность |
---|---|
–2 | u |
–1 | v |
0 |
|
1 |
|
2 |
|
... | ... |
2 n –2 |
|
T представляет оператор, который смещает векторы циклически налево на одно место, и представляет сложение по модулю 2.
Можно сдвинуть начальную точку последовательности Голда с помощью параметра Shift, который является целым числом, представляющим длину сдвига.
Можно использовать внешний сигнал, чтобы сбросить значения внутреннего регистра сдвига в начальное состояние путем выбора Reset on nonzero input. Это создает вход порт для внешнего сигнала в блоке Последовательности Голда Generator. Способ сброса блока внутреннего регистра сдвига зависит от того, являются ли его выходы сигнал и сигнал сброса скаляром или вектором. Для получения дополнительной информации см. Раздел «Сброс поведения».
Чтобы сбросить последовательность генераторов, необходимо сначала выбрать Reset on nonzero input, чтобы добавить Rst
вход. Предположим, что блок Последовательности Голда Generator выходов [1 0 0 1 1 0 1 1]
если сброса нет. В следующей таблице показан эффект на выходе блока Последовательности Голда Generator для указанных значений свойств.
Свойства сигнала сброса | Блок Генератора Последовательности Голда | Сигнал сброса Выходной сигнал | |
---|---|---|---|
Нет сброса | Sample time = Samples per frame = Rst = | Sample time = Samples per frame = Out = |
|
Скалярный сигнал сброса | Sample time = Samples per frame = Rst = | Sample time = Samples per frame = |
|
Сигнал сброса вектора | Sample time = Samples per frame = Rst = | Sample time = Samples per frame = |
Для случая без сброса последовательность выводится без сброса. Для случаев скалярного и векторного сигнала сброса сигнал сброса [0 0 0 1 0 0 0 0]
- вход в Rst
порт. Выход последовательности сбрасывается в четвертый бит, потому что четвертый бит сигнала сброса равен 1, а Sample time равен 1.
Для выходов переменного размера блок поддерживает только входы скалярного сигнала сброса.
Пример поведения сброса генератора Последовательности Голда демонстрирует поведение сброса в Simulink® модель.
Требования к паре последовательностей u, v периода N = 2n-1, чтобы быть предпочтительной парой, являются следующими:
n не делится на 4
v = u [q], где
q нечетно
q = 2k+ 1 или q = 22k–2k+1
v получается путем дискретизации каждого q го символа u
Поведение изменено в R2020a
Начиная с R2020a, Simulink больше не позволяет использовать версию блока Последовательность Голда Generator, доступную до R2015b.
Существующие модели автоматически обновляются, чтобы загрузить версию блока Последовательности Голда Generator, объявленную в Исходных блоках выхода систем координат последовательных временных выборок, но не используйте атрибут системы координат в R2015b Информации о релизах. Для получения дополнительной информации о переадресации блоков смотрите Таблицы переадресации (Simulink).
[1] Proakis, John G. Digital Communications. 3-й ред. Нью-Йорк: McGraw Hill, 1995.
[2] Золото, R. «Максимальные рекурсивные последовательности с 3-Valued рекурсивными функциями перекрестной корреляции (Corresp.)». Транзакции IEEE по теории информации 14, № 1 (январь 1968): 154-56. https://doi.org/10.1109/TIT.1968.1054106.
[3] Золото, R. «Оптимальные двоичные последовательности для мультиплексирования с расширенным спектром (Corresp.)». Транзакции IEEE по теории информации 13, № 4 (октябрь 1967): 619-21. https://doi.org/10.1109/TIT.1967.1054048.
[4] Sarwate, D.V., and M.B. Pursley, «Crosscorrelation Properties of pseudorandom and Related Sequences», Proc. IEEE, Vol. 68, No. 5, May, 1980, pp. 583-619.
[5] Dixon, Robert C. Spreed Spectrum Systems: With Commercial Applications. 3 ред. Нью-Йорк: Уайли, 1994.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.