Генерировать псевдошумовую последовательность
Набор средств связи/Источники сообщений/Генераторы последовательности
Набор средств связи Поддержка HDL/Источники связи
Блок генератора ПШ последовательностей генерирует последовательность псевдослучайных двоичных чисел с использованием сдвигового регистра с линейной обратной связью (LFSR). Псевдошумовые последовательности обычно используются для псевдослучайного скремблирования и в системах с прямым спектром. Дополнительные сведения см. в разделе Дополнительные сведения.
Эти значки показывают блок со всеми включенными портами.
![]()
![]()
Mask - Маска выводаВыходная маска для задержки ПШ последовательности от начального времени, заданного как двоичный вектор с N элементами. N - степень полинома генератора.
Чтобы включить этот порт, установите для параметра Output mask source значение Input port.
Типы данных: double | uint8 | ufix1
oSiz - Размер выходного документаРазмер выходного сигнала переменного размера, заданный как целое число. Сведения о сигналах переменного размера см. в разделе Основы сигналов переменного размера (Simulink).
Чтобы включить этот порт, выберите Output variable-size signals и установите для параметра Maximum output size source значение Dialog parameter.
Типы данных: double
Ref - Опорный входОпорный вход, заданный как вектор столбца, определяющий максимальную и текущую длину выходной последовательности. Вход Ref должен быть сигналом переменного размера. Сведения о сигналах переменного размера см. в разделе Основы сигналов переменного размера (Simulink).
Чтобы включить этот порт, выберите Output variable-size signals и установите для параметра Maximum output size source значение Inherit from reference input.
Типы данных: double
Rst - Генератор последовательности сбросаГенератор последовательности сброса, указанный как 0 или 1. Дополнительные сведения см. в разделе Сброс поведения.
Чтобы включить этот порт, выберите Reset on nonzero input.
Типы данных: Boolean
Out - Псевдослучайная шумовая последовательностьPN последовательность, возвращаемая как двоичный вектор.
Generator polynomial - Полином генератора'z^6 + z + 1' (по умолчанию) | вектор многочлена | двоичный вектор строкиПолином генератора, заданный как один из следующих:
Вектор многочлена, включающий число 1.
Двоичный вектор строки, который представляет коэффициенты полинома генератора в порядке степени убывания. Первая и последняя записи должны быть 1. Длина этого вектора равна (N + 1), где N - степень полинома генератора.
Вектор, содержащий экспоненты z для ненулевых членов многочлена в порядке убывания степеней. Последняя запись должна быть 0.
Дополнительные сведения см. в разделе Символьное представление многочленов.
Пример: 'z^8 + z^2 + 1', [1 0 0 0 0 0 1 0 1], и [8 2 0] представляют один и тот же многочлен, p (z) = z
8 + z 2 + 1.
Типы данных: double | char
Initial states - Начальные состояния сдвигового регистра[0 0 0 0 0 1] (по умолчанию) | двоичный вектор строкиНачальные состояния сдвигового регистра, заданные как двоичный вектор строки длиной N, где N - степень полинома генератора.
Примечание
Для формирования блоком ненулевой последовательности вектор начальных состояний должен содержать по крайней мере один ненулевой элемент.
Типы данных: double
Output mask source - Источник выходной маскиDialog parameter (по умолчанию) | Input portИсточник выходной маски, указывающий, как выходная информация маски передается блоку, указанный как:
Dialog parameter для использования Output mask vector (or scalar shift value) установка параметра.
Input port для добавления и использования Mask входной порт.
Output mask vector (or scalar shift value) - Выходной вектор маски или значение скалярного сдвигаВыходной вектор маски или значение скалярного сдвига, задаваемое как целочисленный скалярный или двоичный вектор строки длиной N, где N - степень полинома генератора. Этот параметр определяет задержку последовательности PN от начального времени. Дополнительные сведения см. в разделе Смещение начальной точки последовательности PN.
Чтобы включить этот параметр, установите для параметра Источник маски вывода значение Dialog parameter.
Типы данных: double
Output variable-size signals - Выходные сигналы переменного размераВыберите этот параметр, чтобы разрешить выходные последовательности переменной длины во время моделирования. Если установлено значение offвыводят последовательности фиксированной длины. Если установлено значение onмогут выводиться последовательности переменной длины. Сведения о сигналах переменного размера см. в разделе Основы сигналов переменного размера (Simulink).
Maximum output size source - Источник максимального размера выходных данныхDialog parameter (по умолчанию) | Inherit from reference portИсточник максимального размера выходных данных, указывающий способ указания максимального размера выходных данных последовательности.
Dialog parameter настраивает блок на использование параметра Максимальный размер вывода в качестве максимально допустимой длины выходной последовательности. При выборе этого параметра входной порт oSiz определяет текущий размер выходного сигнала, а выходной сигнал блока наследует время выборки из входного сигнала. Входное значение oSiz должно быть меньше или равно параметру Maximum output size.
Inherit from reference port добавляет Ref входной порт и конфигурирует блок для наследования времени выборки, максимального размера и текущего выходного размера из сигнала переменного размера в Ref входной порт для установки максимально допустимой длины выходной последовательности.
Чтобы включить этот параметр, выберите Вывод сигналов переменного размера.
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 | положительный скалярВремя выборки выходных данных, указанное как -1 или положительный скаляр, который представляет время между каждой выборкой выходного сигнала. Если для параметра Sample time установлено значение -1время выборки наследуется от нисходящего потока. Для получения информации о взаимосвязи между временем выборки и выборками на кадр см. раздел
Синхронизация выборки.
Пример: 1 задает время выборки, равное 1 секунде.
Чтобы включить этот параметр, снимите флажок Выходные сигналы переменного размера.
Типы данных: double
Samples per frame - Выборки на кадр1 (по умолчанию) | положительное целое числоОтсчеты на кадр в одном канале выходного сигнала, заданного как положительное целое число. Для получения информации о взаимосвязи между временем выборки и выборками на кадр см. раздел Синхронизация выборки.
Чтобы включить этот параметр, снимите флажок Выходные сигналы переменного размера.
Типы данных: double
Reset on nonzero input - Сброс на ненулевом входеВыберите этот параметр для добавления Rst входной порт. Дополнительные сведения см. в разделе Сброс поведения.
Enable bit-packed outputs - Включение разрядных выходовВыберите этот параметр, чтобы сделать доступными значения Number of packed bits и Interpret bit-packed values as signed parameters.
Когда выбран этот параметр, объект выводит вектор столбца длиной М, который содержит первые целочисленные представления битовых слов длиной P. M - это количество выборок на кадр, указанное в параметре выборок на кадр. P - размер упакованных по битам слов, указанный в параметре Number of packed bits.
Примечание
Первый бит слева в упакованном в биты слове содержит старший бит для целочисленного представления.
Number of packed bits - количество упакованных битов;Число упакованных битов, указанное как целое число в диапазоне [1, 32].
Чтобы включить этот параметр, выберите Enable bit-packed outputs.
Типы данных: double
Interpret bit-packed values as signed - Интерпретировать битовые упакованные значения как подписанныеИнтерпретировать битовые упакованные значения как значения целочисленных данных со знаком при выборе или значения целочисленных данных без знака при сбросе. Если выбран этот параметр, 1 в старшем бите (знаковом бите) указывает отрицательное значение.
Чтобы включить этот параметр, выберите Enable bit-packed outputs.
Output data type - Тип выходных данныхdouble (по умолчанию) | boolean | Smallest unsigned integerТип выходных данных, указанный как double, boolean, или Smallest unsigned integer.
При сбросе параметра Enable bit-packed output тип выходных данных может быть указан как double, boolean, или Smallest unsigned integer. Если для параметра Output data type установлено значение Smallest unsigned integerтип выходных данных выбирается на основе настроек, используемых на панели Аппаратная реализация (Hardware Implementation) диалогового окна Параметры конфигурации (Configuration Parameters) модели. Если ASIC/FPGA выбран на панели Hardware Implementation, тип выходных данных ufix(1) = идеальный минимальный однобитовый размер. Для всех остальных выборок это беззнаковое целое число с наименьшей доступной длиной слова, достаточно большой, чтобы вместить один бит, обычно соответствующий размеру символа (например, uint8).
Если выбран параметр Enable bit-packed output, тип выходных данных может быть указан как double или Smallest unsigned integer. Если для параметра Output data type установлено значение Smallest unsigned integerтип выходных данных выбирается на основе параметров Интерпретировать упакованные битовые значения как подписанные и Количество упакованных битовых параметров, а также настроек, используемых на панели Аппаратная реализация (Hardware Implementation) диалогового окна Параметры конфигурации (Configuration Parameters) модели. Если ASIC/FPGA выбран на панели Hardware Implementation, тип выходных данных - идеальный минимальный n-битовый размер, например sfix(n) или ufix(n), на основе битовых упакованных значений интерпретировать как подписанный параметр. Для всех остальных вариантов выбора это целое число со знаком или без знака с наименьшей доступной длиной слова, достаточной для размещения n битов.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Регистр сдвига с линейной обратной связью (LFSR), реализованный как простой генератор регистра сдвига (SSRG), используется для генерации ПШ последовательностей. Этот тип сдвигового регистра также известен как реализация Фибоначчи. Пример см. в разделе Создание ПШ-последовательности модели с помощью регистра сдвига с линейной обратной связью.

Полиномиальный параметр генератора определяет соединения обратной связи сдвигового регистра. Является примитивным двоичным многочленом в z, grzr + gr-1zr-1 + gr-2zr-2 +... + g0. Для коэффициента gk = 0-r коэффициент gk равен 1, если имеется соединение от k-го регистра к сумматору. Ведущий член gr и постоянный член g0 параметра Generator Polynomial должен быть равен 1, поскольку многочлен должен быть примитивным. Параметр Initial states определяет начальные значения регистров. Например, следующая таблица указывает два набора значений параметров, которые соответствуют генераторному полиному p (z) = z8 + z2 + 1.
| Количество | Пример 1 | Пример 2 |
|---|---|---|
| Полином генератора | g1 = [1 0 0 0 0 0 1 0 1]
| g2 = [8 2 0]
|
| Степень полинома генератора | 8, который является length(g1)-1
| 8 |
| Начальные состояния | [1 0 0 0 0 0 1 0]
| [1 0 0 0 0 0 1 0]
|
На каждом временном шаге все регистры r в генераторе обновляют свои значения в соответствии со значением входной стрелки в сдвиговый регистр. Сумматоры выполняют сложение по модулю 2. Выходной сигнал LFSR отражает сумму всех соединений в m векторе маски.
Параметр «Вектор маски вывода» (или значение скалярного сдвига) m определяет сдвиг начальной точки ПШ-последовательности. Дополнительные сведения см. в разделе Смещение начальной точки последовательности PN.
Чтобы сдвинуть начальную точку ПШ-последовательности, задайте параметр Вектор маски вывода (или значение скалярного сдвига) как:
Целое число, представляющее длину сдвига.
Значение вектора маски вывода по умолчанию (или значение скалярного сдвига), равное 0, не соответствует сдвигу. Как показано на диаграмме регистра сдвига LFSR в простом генераторе регистра сдвига, нет сдвига, когда единственное соединение находится вдоль стрелки, обозначенной m0.
В этой таблице показан сдвиг, возникающий при установке вектора маски вывода (или значения скалярного сдвига) равным 0 по сравнению с положительным целым числом d.
| T = 0 | Т = 1 | Т = 2 | ... | T = d | T = d + 1 | |
|---|---|---|---|---|---|---|
| Сдвиг = 0 | x0 | x1 | x2 | ... | xd | xd + 1 |
| Сдвиг = d | xd | xd + 1 | xd + 2 | ... | x2d | x2d+1 |
Двоичный вектор, длина которого равна степени полинома генератора. Диаграмма регистра сдвига LFSR в Simple Shift Register Generator показывает выходной вектор маски (или значение скалярного сдвига), заданный как вектор маски, м. Двоичный вектор должен иметь N элементов, где N - степень полинома генератора. Чтобы вычислить вектор маски, используйте shift2mask функция.
Двоичный вектор соответствует многочлену в z, mr-1zr-1 + mr-2zr-2 +... + m1z + m0, степени не более r-1. Вектор маски, который соответствует сдвигу d, является вектором, который представляет m (z) = zd по модулю g (z), где g (z) является полиномом генератора.
Например, если степень полинома генератора равна 4, то вектор маски, который соответствует d = 2, равен [0 1 0 0], который представляет многочлен m (z) = z2 .
Чтобы сбросить последовательность генератора, необходимо сначала выбрать Reset на ненулевом входе, чтобы добавить Rst вход. Предположим, что на выходе блока генератора PN-последовательностей [1 0 0 1 1 0 1 1] при отсутствии сброса. В следующей таблице показано влияние на выходные данные блока генератора PN-последовательностей для указанных значений свойств.
| Сброс свойств сигнала | Блок генератора последовательности PN | Сигнал сброса Выходной сигнал | |
|---|---|---|---|
| Без сброса | Время выборки = Выборки на кадр = Rst = | Время выборки = Выборки на кадр = Out = Out (Выход) |
|
| Сигнал скалярного сброса | Время выборки = Выборки на кадр = Rst = | Время выборки = Выборки на кадр = |
|
| Сигнал сброса вектора | Время выборки = Выборки на кадр = Rst = | Время выборки = Выборки на кадр = |
В случае отсутствия сброса последовательность выводится без сброса. Для случаев скалярного и векторного сигнала сброса сигнал сброса [0 0 0 1 0 0 0 0] является входом в Rst порт. Выходной сигнал последовательности сбрасывается в четвертом бите, поскольку четвертый бит сигнала сброса равен 1, а время выборки равно 1.
Для выходов переменного размера блок поддерживает только скалярные сигнальные входы сброса.
Чтобы создать последовательность максимальной длины для полинома генератора, имеющего степень r, задайте для полинома генератора значение из следующей таблицы. Максимальная длина последовательности 2r - 1.
| r | Полином генератора | r | Полином генератора | r | Полином генератора | r | Полином генератора |
|---|---|---|---|---|---|---|---|
| 2 | [2 1 0]
| 15 | [15 14 0]
| 28 | [28 25 0]
| 41 | [41 3 0]
|
| 3 | [3 2 0]
| 16 | [16 15 13 4 0]
| 29 | [29 27 0]
| 42 | [42 23 22 1 0]
|
| 4 | [4 3 0]
| 17 | [17 14 0]
| 30 | [30 29 28 7 0]
| 43 | [43 6 4 3 0]
|
| 5 | [5 3 0]
| 18 | [18 11 0]
| 31 | [31 28 0]
| 44 | [44 6 5 2 0]
|
| 6 | [6 5 0]
| 19 | [19 18 17 14 0]
| 32 | [32 31 30 10 0]
| 45 | [45 4 3 1 0]
|
| 7 | [7 6 0]
| 20 | [20 17 0]
| 33 | [33 20 0]
| 46 | [46 21 10 1 0]
|
| 8 | [8 6 5 4 0]
| 21 | [21 19 0]
| 34 | [34 15 14 1 0]
| 47 | [47 14 0] |
| 9 | [9 5 0]
| 22 | [22 21 0]
| 35 | [35 2 0]
| 48 | [48 28 27 1 0] |
| 10 | [10 7 0]
| 23 | [23 18 0]
| 36 | [36 11 0]
| 49 | [49 9 0] |
| 11 | [11 9 0]
| 24 | [24 23 22 17 0]
| 37 | [37 12 10 2 0] | 50 | [50 4 3 2 0] |
| 12 | [12 11 8 6 0]
| 25 | [25 22 0]
| 38 | [38 6 5 1 0] | 51 | [51 6 3 1 0] |
| 13 | [13 12 10 9 0]
| 26 | [26 25 24 20 0]
| 39 | [39 8 0] | 52 | [52 3 0] |
| 14 | [14 13 8 4 0]
| 27 | [27 26 25 22 0]
| 40 | [40 5 4 3 0]
| 53 | [53 6 2 1 0] |
Дополнительные сведения о конфигурациях сдвиговых регистров, которые представляют эти многочлены, см. в разделе Цифровые коммуникации Джона Проакиса [1].
Время между обновлениями выходных данных равно произведению значений Samples per frame и Sample time. Например, если время выборки и выборки на кадр равны единице, блок выводит выборку каждую секунду. Если значение Samples per frame увеличивается до 10, то каждые 10 секунд выводится вектор 10 на 1. Это гарантирует, что эквивалентная выходная скорость не зависит от параметра Samples per frame.
В R2020a изменилось поведение
Начиная с R2020a, Simulink ® больше не позволяет использовать версию блока PN Sequence Generator, доступную до R2015b.
Существующие модели автоматически обновляют, чтобы загрузить версию блока Генератора Последовательности PN, о которой объявляют в Исходных структурах продукции блоков смежных образцов времени, но не используют признак структуры в Информации о версии R2015b. Дополнительные сведения о пересылке блоков см. в разделе Пересылка таблиц (Simulink).
[1] Проакис, Джон Г. Digital Communications. 3-й ред. Нью-Йорк: Макгроу Хилл, 1995.
[2] Ли, J. S. и Л. Э. Миллер. Руководство по проектированию систем CDMA. Бостон и Лондон. Artech House, 1998.
[3] Последовательности сдвиговых регистров Golomb, S.W. Лагуна-Хиллз. Эгейский парк Пресс, 1967.
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет единую архитектуру HDL по умолчанию.
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
Можно выбрать Input port в качестве источника маски вывода в блоке. В этом случае Mask входной сигнал должен быть вектором типа данных ufix1.
Если на ненулевом входе выбрать Reset (Сброс), будет выполнен вход в Rst порт должен иметь тип данных Boolean.
Выходы типа double не поддерживаются для генерации кода HDL. Поддерживаются все другие типы выходных данных (включая битовые выходные данные).
Невозможно создать HDL для этого блока в переустановляемой синхронной подсистеме (кодере HDL).
Если выбран параметр Use trigger signal as clock (Использовать триггерный сигнал в качестве тактового сигнала), для этого блока внутри триггерной подсистемы генерировать HDL нельзя. См. Использование инициированных подсистем для генерации кода HDL (кодер HDL).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.


