Сгенерируйте псевдошумовую последовательность
Communications Toolbox / Источники Коммуникации / Генераторы Последовательности
Поддержка HDL Communications Toolbox / источники коммуникации
Блок PN Sequence Generator генерирует последовательность псевдослучайных двоичных чисел с помощью сдвигового регистра линейной обратной связи (LFSR). Псевдошумовые последовательности обычно используются в для псевдослучайного скремблирования, и в системах спектра распространения прямой последовательности. Для получения дополнительной информации смотрите Больше О.
Эти значки показывают блок со всеми включенными портами.
Mask
— Выведите маскуВыведите маску, чтобы задержать псевдошумовую последовательность с начального времени, заданного как бинарный вектор.
Чтобы включить этот порт, установите 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
.
Вектор строки двоичных знаков, который представляет коэффициенты полинома генератора в порядке убывающей степени. Первыми и последними записями должен быть 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.
Initial states
— Начальные состояния сдвигового регистра
(значение по умолчанию) | вектор строки двоичных знаковНачальные состояния сдвигового регистра, заданные как вектор строки двоичных знаков длины N, где N является степенью полинома генератора.
Для блока, чтобы сгенерировать ненулевую последовательность, вектор Initial states должен содержать по крайней мере один ненулевой элемент.
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
.
Output variable-size signals
— Сигналы размера выходной переменнойВыберите этот параметр, чтобы разрешить переменной длине выходные последовательности в процессе моделирования. Когда установлено в off
, последовательности фиксированной длины выводятся. Когда установлено в on
, последовательности переменной длины могут быть выведены. Для получения информации о сигналах переменного размера смотрите Основы Сигнала Переменного Размера (Simulink).
Maximum output size source
— Максимальный выходной источник размераDialog parameter
(значение по умолчанию) | Inherit from reference port
Максимальный выходной источник размера, который указывает, как максимальная последовательность выходной размер задана.
Dialog parameter
конфигурирует блок, чтобы использовать установку параметра Maximum output size в качестве максимальной разрешенной выходной длины последовательности.
Inherit from reference port
добавляет Ref
входной порт и конфигурирует блок, чтобы наследовать шаг расчета и размер текущей производительности от Ref
входной порт, чтобы установить максимальную разрешенную выходную длину последовательности.
Чтобы включить этот параметр, выберите Output variable-size signals.
Maximum output size
— Максимальный выходной источник размера
(значение по умолчанию) | двухэлементный вектор-строкаМаксимальный выходной размер, заданный как двухэлементный вектор-строка, который обозначает максимальный выходной размер для блока. Вторым элементом вектора должен быть 1
.
Пример: [10 1]
дает максимальный размерный выходной сигнал 10 на 1.
Чтобы включить этот параметр, выберите Output variable-size signals.
Sample time
— Время между каждой выборкой
(значение по умолчанию) | положительная скалярная величинаВремя между каждой выборкой, заданной как положительная скалярная величина.
Пример 1 задает шаг расчета 1 секунды.
Чтобы включить этот параметр, очистите Output variable-size signals.
Samples per frame
— Выборки на систему координат
(значение по умолчанию) | положительное целое числоВыборки на систему координат в одном канале выходного сигнала, заданного как положительное целое число.
Время между выходными обновлениями равно продукту Samples per frame и Sample time. Например, если Sample time и Samples per frame равняются один, блок выводит выборку каждую секунду. Если Samples per frame увеличен до 10, то вектор 10 на 1 выводится каждые 10 секунд. Это гарантирует, что эквивалентная норма выработки не зависит от параметра Samples per frame.
Чтобы включить этот параметр, очистите Output variable-size signals.
Reset on nonzero input
— Сбросьте на ненулевом входеВыберите этот параметр, чтобы добавить Rst
входной порт. Для получения дополнительной информации смотрите Сброс Сигнала.
Enable bit-packed outputs
— Включите побитно упакованные выходные параметрыВыберите этот параметр, чтобы сделать Number of packed bits и параметры Interpret bit-packed values as signed доступными.
Number of packed bits
— Количество упакованных битовКоличество упакованных битов, заданных как целое число в области значений [1,32].
Чтобы включить этот параметр, выберите Enable bit-packed outputs.
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, если существует связь с регистра kth на сумматор. Ведущий термин, gr и постоянный термин, g 0, параметра Generator Polynomial должны быть 1, потому что полином должен быть примитивным. Параметр Initial states задает начальные значения регистров. Например, следующая таблица указывает на два набора значений параметров, которые соответствуют полиному генератора p (z) = z 8 + z 2 + 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) = z 2.
Чтобы сбросить последовательность генератора PN, необходимо сначала выбрать Reset on nonzero input, чтобы добавить Rst
входной параметр. Предположим что блок PN Sequence Generator выходные параметры [1 0 0 1 1 0 1 1]
когда нет никакого сброса. Следующая таблица показывает эффект на блоке PN Sequence Generator выход, когда сброс сигнализирует о [0 0 0 1]
вводится к Rst
порт. Псевдошумовая последовательность сбрасывается на уровне четвертого бита, потому что четвертый бит сигнала сброса является 1, и Sample time равняется 1.
Сбросьте свойства сигнала | Блок PN Sequence Generator | Сбросьте сигнал, выходной сигнал |
---|---|---|
Sample time = 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] |
Для получения дополнительной информации о настройках сдвигового регистра, которые представляют эти полиномы, смотрите Цифровую связь Джоном Проукисом. [1].
[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 для этого блока в Triggered Subsystem, если опция Use trigger signal as clock выбрана. Смотрите Используя Инициированные Подсистемы для генерации HDL-кода (HDL Coder).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.