Сгенерируйте псевдошумовую последовательность
Communications Toolbox / Источники Коммуникации / Генераторы Последовательности
Поддержка HDL Communications Toolbox / источники коммуникации
Блок PN Sequence Generator генерирует последовательность псевдослучайных двоичных чисел с помощью сдвигового регистра линейной обратной связи (LFSR). Псевдошумовые последовательности обычно используются для псевдослучайного скремблирования, и в системах спектра распространения прямой последовательности. Для получения дополнительной информации смотрите Больше О.
Эти значки показывают блок со всеми включенными портами.
Mask
— Выведите маскуВыведите маску, чтобы задержать псевдошумовую последовательность с начального времени в виде бинарного вектора с элементами N. N является степенью порождающего полинома.
Чтобы включить этот порт, установите Output mask source на Input port
.
Типы данных: double |
uint8
| ufix1
oSiz
'OutputSize' Выведите размер для выходных сигналов переменного размера в виде целого числа. Для получения информации о сигналах переменного размера смотрите Основы Сигнала Переменного Размера (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
— Псевдослучайная шумовая последовательностьПсевдошумовая последовательность, возвращенная как бинарный вектор.
Generator polynomial
— Порождающий полином'z^6 + z + 1'
(значение по умолчанию) | вектор символов | строковый скаляр | вектор строки двоичных знаковПорождающий полином, который определяет соединения обратной связи сдвигового регистра в виде одной из этих опций:
Вектор символов или строковый скаляр полинома, постоянным термином которого является 1
. Для получения дополнительной информации смотрите Представление Полиномов в Communications Toolbox.
Вектор-строка с бинарным знаком, который представляет коэффициенты полинома в порядке убывающих степеней. Длиной этого вектора должен быть N + 1, где N является степенью полинома. Первыми и последними записями должен быть 1
, указание на ведущий термин со степенью N и постоянный термин 1.
Вектор-строка с целочисленным знаком из элементов, которые представляют экспоненты для ненулевых терминов полинома в порядке убывающих степеней. Последней записью должен быть 0
, указание на постоянный термин 1.
Для получения дополнительной информации смотрите Простой Генератор Сдвигового регистра.
Пример: '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
— Начальные состояния сдвигового регистра
(значение по умолчанию) | вектор строки двоичных знаковНачальные состояния сдвигового регистра генератора псевдошумовой последовательности, когда симуляция запускается в виде вектора-строки с бинарным знаком. Длина вектора должна равняться степени порождающего полинома, заданного Generator polynomial. Для получения дополнительной информации смотрите Простой Генератор Сдвигового регистра.
Примечание
Для блока, чтобы сгенерировать ненулевую последовательность, вектор Initial states должен содержать по крайней мере один ненулевой элемент.
Типы данных: 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 является степенью порождающего полинома. Этот параметр определяет задержку псевдошумовой последовательности с начального времени. Для получения дополнительной информации смотрите Начальную точку Псевдошумовой последовательности Перемены.
Чтобы включить этот параметр, установите Output mask source на Dialog parameter
.
Типы данных: double
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
— Максимальный выходной размер
(значение по умолчанию) | вектор из формы [n 1]Задайте максимальный выходной размер для блока. n является положительной скалярной величиной.
Пример: [10 1]
задает максимальный размер 10 на 1 для выходного сигнала.
Включить этот параметр и установить Maximum output size source на Dialog parameter
.
Типы данных: double
Sample time
— Выведите шаг расчета
(значение по умолчанию) |-1 | положительная скалярная величинаПоложительные скалярные величины задают время в секундах между каждой выборкой выходного сигнала. Если вы устанавливаете Sample time на -1
, выходной сигнал наследовал шаг расчета от нисходящего потока. Для получения информации об отношении между Sample time и параметрами Samples per frame, смотрите
Демонстрационную Синхронизацию.
Пример 1 задает шаг расчета 1 секунды.
Чтобы включить этот параметр, очистите Output variable-size signals.
Типы данных: double
Samples per frame
— Выборки на систему координат
(значение по умолчанию) | положительное целое числоВыборки на систему координат в одном канале выходного сигнала в виде положительного целого числа. Для получения информации об отношении между Sample time и Samples per frame, смотрите Демонстрационную Синхронизацию.
Чтобы включить этот параметр, очистите Output variable-size signals.
Типы данных: double
Reset on nonzero input
— Сбросьте на ненулевом входеВыберите этот параметр, чтобы добавить Rst
входной порт. Для получения дополнительной информации смотрите Поведение Сброса.
Enable bit-packed outputs
— Включите побитно упакованные выходные параметрыВыберите этот параметр, чтобы сделать Number of packed bits и параметры Interpret bit-packed values as signed доступными.
Когда этот параметр выбран, объектные выходные параметры вектор-столбец длины M, который содержит больше-всего-значимый-бит (MSB) первые целочисленные представления битных слов длины P. M является количеством отсчетов на систему координат, заданную в параметре Samples per frame. 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 outputs очищен, тип выходных данных может быть задан как double
, boolean
, или Smallest unsigned integer
. Когда параметр Output data type устанавливается на Smallest unsigned integer
, тип выходных данных выбран на основе настроек, используемых в панели Hardware Implementation диалогового окна Configuration Parameters модели. Если ASIC/FPGA
выбран в панели Hardware Implementation, выходные данные вводят ufix(1)
= идеальный минимальный однобитный размер. Для всех других выборов это - беззнаковое целое с самым маленьким доступным размером слова, достаточно большим, чтобы соответствовать одному биту, обычно соответствуя размеру char (например, uint8
).
Когда Enable bit-packed outputs выбран, тип выходных данных может быть задан как double
или Smallest unsigned integer
. Когда параметр Output data type устанавливается на Smallest unsigned integer
, тип выходных данных выбран на основе Interpret bit-packed values as signed и параметров Number of packed bits и настроек, используемых в панели Hardware Implementation диалогового окна Configuration Parameters модели. Если ASIC/FPGA
выбран в панели Hardware Implementation, типом выходных данных является идеальный минимальный n битный размер, такой как sfix(n)
или ufix(n)
, на основе параметра Interpret bit-packed values as signed. Для всех других выборов это - целое число со знаком или беззнаковое целое с самым маленьким доступным размером слова, достаточно большим, чтобы соответствовать битам n.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Сдвиговый регистр линейной обратной связи (LFSR), реализованный как простой генератор сдвигового регистра (SSRG), используется, чтобы сгенерировать псевдошумовые последовательности. Этот тип сдвигового регистра также известен как реализацию Фибоначчи. Для примера смотрите Генерацию Псевдошумовой последовательности Модели С Линейным Сдвиговым регистром Обратной связи.
Параметр Generator Polynomial определяет соединения обратной связи сдвигового регистра. Это - примитивный бинарный полином в z, g rzr+gr–1zr–1+gr–2zr–2+... +g0. Для коэффициента, g k =0 к r, коэффициент gk равняется 1, если существует связь с k-ого регистра на сумматор. Ведущий термин, gr и постоянный термин, g 0, параметра Generator Polynomial должны быть 1, потому что полином должен быть примитивным. Параметр Initial states задает начальные значения регистров. Например, следующая таблица указывает на два набора значений параметров, которые соответствуют порождающему полиному p (z) = z8 + z2 + 1.
Количество | Пример 1 | Пример 2 |
---|---|---|
Generator polynomial | g1 = [1 0 0 0 0 0 1 0 1]
| g2 = [8 2 0]
|
Степень порождающего полинома | 8, который является length(g1)-1
| 8 |
Initial states | [1 0 0 0 0 0 1 0]
| [1 0 0 0 0 0 1 0]
|
На каждом временном шаге все регистры r в генераторе обновляют свои значения согласно значению входящей стрелы к сдвиговому регистру. Сумматоры выполняют сложение по модулю 2. Выход LFSR отражает сумму всех связей в векторе маски m.
Параметр Output mask vector (or scalar shift value), m, определяет сдвиг начальной точки псевдошумовой последовательности. Для получения дополнительной информации смотрите Начальную точку Псевдошумовой последовательности Перемены.
Чтобы переключить начальную точку псевдошумовой последовательности, задайте параметр Output mask vector (or scalar shift value) как:
Целое число, представляющее длину сдвига.
Установка Output mask vector (or scalar shift value) по умолчанию 0 не соответствует никакому сдвигу. Как проиллюстрировано в схеме сдвигового регистра LFSR в Простом Генераторе Сдвигового регистра, нет никакого сдвига, когда единственная связь приезжает, стрела пометила m 0.
Эта таблица показывает сдвиг, который происходит, когда вы устанавливаете Output mask vector (or scalar shift value) на 0 по сравнению с положительным целочисленным d.
T = 0 | T = 1 | T = 2 | ... | T = d | T = d +1 | |
---|---|---|---|---|---|---|
Shift = 0 | x0 | x1 | x2 | ... | xd | x d +1 |
Shift = d | xd | xd+1 | x d +2 | ... | x 2d | x 2d+1 |
Бинарный вектор, длина которого равна степени порождающего полинома. Схема сдвигового регистра LFSR в Простом Генераторе Сдвигового регистра показывает Output mask vector (or scalar shift value), заданный как вектор маски, m. Бинарный вектор должен иметь элементы N, где N является степенью порождающего полинома. Чтобы вычислить вектор маски, используйте shift2mask
функция.
Бинарный вектор соответствует полиному в z, m r –1zr–1 + m r –2zr–2 +... + m 1z + m 0, степени в большей части r –1. Вектор маски, которые соответствуют сдвигу d, является вектором, который представляет m (z) = zd g по модулю (z), где g (z) является порождающим полиномом.
Например, если степень порождающего полинома равняется 4, то вектором маски, который соответствует d = 2, является [0 1 0 0]
, который представляет полиномиальный m (z) = z2.
Прежде чем можно будет сбросить последовательность генератора, необходимо выбрать параметр Reset on nonzero input, чтобы включить входной порт Rst. Предположим что блок PN Sequence Generator выходные параметры [1 0 0 1 1 0 1 1]
когда никакой сброс не существует. Эта таблица показывает эффект на блоке PN Sequence Generator выход для обозначенных значений параметров.
Сбросьте сигнал | Сбросьте настройки сигнала | Блок PN Sequence Generator | Сбросьте и выходной сигнал сигнала |
---|---|---|---|
Никакой сброс |
|
|
|
Скалярный сигнал сброса |
|
|
|
Векторный сигнал сброса |
|
|
Для случая без сброса блок выводит последовательность, не сбрасывая его. Для скалярных и векторных случаев сигнала сброса блок вводит сигнал сброса [0 0 0 1 0 0 0 0]
к порту Rst. Поскольку четвертым битом сигнала сброса является 1
и Sample time является 1
, блок сбрасывает последовательность выход на уровне четвертого бита.
Для выходных параметров переменного размера блок поддерживает только скалярные входные параметры сигнала сброса.
Чтобы сгенерировать максимальную последовательность длины для порождающего полинома, который имеет степень r, устанавливает Generator polynomial на значение из следующей таблицы. Максимальная длина последовательности равняется 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] |
Для получения дополнительной информации о настройках сдвигового регистра, которые представляют эти полиномы, смотрите Цифровую связь Джоном Proakis.[1].
Время между выходными обновлениями равно продукту значений параметров Sample time и Samples per frame. Например, если Sample time и Samples per frame каждый равный 1
, блок выводит выборку каждую секунду. Если вы увеличиваете Samples per frame до 10, то блок выводит вектор 10 на 1 каждые 10 секунд. Это гарантирует, что эквивалентная норма выработки не зависит от параметра Samples per frame.
Поведение изменяется в R2020a
Начиная в R2020a, Simulink® больше не позволяет вам использовать версию блока PN Sequence Generator, доступную перед R2015b.
Существующие модели автоматически обновляются, чтобы загрузить версию блока PN Sequence Generator, о которой объявляют в Исходных блоках выходные системы координат непрерывных выборок времени, но не используют атрибут системы координат в Информации о релизах R2015b. Для получения дополнительной информации о передаче блока смотрите, Обеспечивают Совместимость Библиотечных блоков Используя Передачу Таблиц (Simulink).
[1] Proakis, Цифровая связь Джона Г. 3-й редактор Нью-Йорк: Макгроу Хилл, 1995.
[2] Ли, J. S. и Л. Э. Миллер. Руководство системного проектирования CDMA. Бостон и Лондон. Дом Artech, 1998.
[3] Golomb, S.W. Последовательности сдвигового регистра. Лагуна-Хиллз. Эгейский парк Press, 1967.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Можно выбрать Input port
как Output mask source на блоке. В этом случае, Mask
входной сигнал должен быть вектором из типа данных ufix1
.
Если вы выбираете Reset on nonzero input, вход к Rst
порт должен иметь тип данных Boolean
.
Выходные параметры типа double
не поддерживаются для генерации HDL-кода. Все другие выходные типы (включая побитно упакованные выходные параметры) поддерживаются.
Вы не можете сгенерировать HDL для этого блока в Resettable Synchronous Subsystem (HDL Coder).
Вы не можете сгенерировать HDL для этого блока в Triggered Subsystem, если опция Use trigger signal as clock выбрана. Смотрите Используя Триггируемые подсистемы для генерации HDL-кода (HDL Coder).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.