коммуникация. PNSequence

Сгенерируйте псевдошумовую (PN) последовательность

Описание

Объект PNSequence генерирует последовательность псевдослучайных двоичных чисел с помощью сдвигового регистра линейной обратной связи (LFSR). Этот блок реализует LFSR использование простого генератора сдвигового регистра (SSRG или Фибоначчи) настройка. Можно использовать псевдошумовую последовательность в псевдослучайном скремблере и дескремблере. Можно также использовать один в системе спектра распространения прямой последовательности.

Сгенерировать последовательность PN:

  1. Задайте и настройте свой объект последовательности PN. Смотрите Конструкцию.

  2. Вызовите step, чтобы сгенерировать последовательность PN согласно свойствам comm.PNSequence. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj) и y = obj() выполняют эквивалентные операции.

Конструкция

H = comm.PNSequence создает псевдошумовой (PN) Системный объект генератора последовательности, H. Этот объект генерирует последовательность псевдослучайных двоичных чисел с помощью сдвигового регистра линейной обратной связи (LFSR).

H = comm.PNSequence(Name,Value) создает объект генератора последовательности PN, H, с каждым заданным набором свойств к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

Polynomial

Полином генератора

Задайте полином, который определяет связи обратной связи сдвигового регистра. Значением по умолчанию является 'z^6 + z + 1'. Можно задать полином генератора как вектор символов или как числовой, бинарный вектор, который перечисляет коэффициенты полинома в порядке убывания степеней. Первые и последние элементы должны равняться 1, и длиной этого вектора должен быть n +1. Значение n указывает на степень полинома генератора. Наконец, можно задать полином генератора как числовой вектор, содержащий экспоненты z для ненулевых условий полинома в порядке убывания степеней. Последней записью должен быть 0. Например, [1 0 0 0 0 0 1 0 1] и [8 2 0] представляют тот же полином, g(z)=z8+z2+1. Последовательность PN имеет период N=2n1 (применяется только к максимальным последовательностям длины).

InitialConditionsSource

Источник начальных условий

Задайте источник начальных условий, который определяет запуск последовательности PN как один из Property | Input port. Значением по умолчанию является Property. Когда вы устанавливаете это свойство на Property, начальные условия могут быть заданы как скалярный или бинарный вектор с помощью свойства InitialConditions. Когда вы устанавливаете это свойство на Input port, вы задаете начальные условия как вход к методу step. Объект принимает бинарный скаляр или бинарный векторный вход. Длина входа должна равняться степени полинома генератора, который задает свойство Polynomial.

InitialConditions

Начальные условия сдвигового регистра

Задайте начальные значения сдвигового регистра как двоичный файл, числовой скаляр или двоичный файл, числовой вектор. Значением по умолчанию является [0 0 0 0 0 1]. Установите длину вектора, равную степени полинома генератора. Если вы устанавливаете это свойство на вектор, каждый элемент вектора соответствует начальному значению соответствующей ячейки в сдвиговом регистре. Если вы устанавливаете это свойство на скаляр, начальные условия всех ячеек сдвигового регистра являются заданным скалярным значением. Скаляр или по крайней мере один элемент заданного вектора, должен быть ненулевым для объекта сгенерировать ненулевую последовательность.

MaskSource

Источник маски, чтобы переключить последовательность PN

Задайте источник маски, которая определяет сдвиг последовательности PN как один из Property | Input port. Значением по умолчанию является Property. Когда вы устанавливаете это свойство на Property, маска может быть задана как скалярный или бинарный вектор с помощью свойства Mask. Когда вы устанавливаете это свойство на Input port, маска, которая является входом к методу step, может только быть задана как бинарный вектор. Этот вектор должен иметь длину, равную степени полинома генератора, заданного в свойстве Polynomial.

Mask

Маска, чтобы переключить последовательность PN

Задайте маску, которая определяет, как последовательность PN переключена от ее отправной точки как числовое, целочисленный скаляр или как бинарный вектор. Значением по умолчанию является 0.

Когда вы устанавливаете это свойство на целочисленный скаляр, значение является длиной сдвига. Скалярный сдвиг может быть положительным или отрицательным. Когда последовательность PN имеет период N=2n1, где n является степенью полинома генератора, который вы задаете в свойстве Polynomial, объект переносит значения сдвига, которые отрицательны или больше, чем N.

Когда вы устанавливаете это свойство на бинарный вектор, его длина должна равняться степени полинома генератора, заданного в свойстве Polynomial. Вектор маски, который представляет m(z)=zD g(z) по модулю, где g(z) является полиномом генератора и вектором маски, соответствует сдвигу D. Например, для полинома генератора степени 4, соответствие вектора маски D = 2 является [0 1 0 0], который представляет полином m(z)=z2.

Можно вычислить вектор маски использование функции shift2mask. Это свойство применяется, когда вы устанавливаете свойство MaskSource на Property.

VariableSizeOutput

Включите переменному размеру выходные параметры

Установите это свойство на истину включать дополнительный вход к методу шага. Значение по умолчанию является ложным. Когда вы устанавливаете это свойство на истину, активированный вход задает выходной размер последовательности PN, используемой для шага. Входное значение должно быть меньше чем или равно значению свойства MaximumOutputSize.

Когда вы устанавливаете это свойство на ложь, свойство SamplesPerFrame задает количество выходных выборок.

MaximumOutputSize

Максимальный выходной размер

Задайте максимальный выходной размер последовательности PN как положительный целочисленный вектор - строка с 2 элементами. Вторым элементом вектора должен быть 1. Значение по умолчанию [10 1].

Это свойство применяется, когда вы устанавливаете свойство VariableSizeOutput на истину.

SamplesPerFrame

Количество выборок выводится на кадр

Количество выборок вывод на кадр объектом последовательности PN, заданным как положительное целое число. Значением по умолчанию является 1. Если вы устанавливаете это свойство на значение M, то объектные выборки выходных параметров M последовательности PN, которая имеет период N=2n1. n значения представляет степень полинома генератора, который вы задаете в свойстве Polynomial. Если вы устанавливаете свойство BitPackedOutput на false, выборки являются битами от последовательности PN. Если вы устанавливаете свойство BitPackedOutput на true, то вывод соответствует группам SamplesPerFrame побитно упакованных выборок.

ResetInputPort

Включите вход сброса генератора

Установите это свойство на true включать дополнительный вход к методу step. Значением по умолчанию является false. Этот вход сбрасывает состояния генератора последовательности PN к начальным условиям, заданным в свойстве InitialConditions.

BitPackedOutput

Опция, чтобы вывести побитно упакованные слова

Опция, чтобы вывести побитно упакованные слова, заданные как false или true. Установите это свойство на true включать побитно упакованные выходные параметры. Первый бит слева в побитно упакованном слове рассматривается старшим значащим битом. Значением по умолчанию является false.

Когда BitPackedOutput является true, объектные выходные параметры вектор-столбец длины M, который содержит целочисленные представления битных слов длины P. M является количеством выборок на кадр, заданный в свойстве SamplesPerFrame. P является размером побитно упакованных слов, заданных в свойстве NumPackedBits.

NumPackedBits

Количество битов на побитно упакованное слово

Задайте количество битов, чтобы упаковать в каждое слово выходных данных как числовое, значение целочисленного скаляра от 1 до 32. Значением по умолчанию является 8.

Зависимости

Это свойство применяется, когда вы устанавливаете свойство BitPackedOutput на true.

SignedOutput

Выведите подписанные побитно упакованные слова

Установите это свойство на истину получать подписанный, побитно упакованный, выходные слова. Значением по умолчанию является false. В этом случае 1 в старшем значащем бите (знаковый бит) указывает на отрицательную величину. Свойство указывает на отрицательные числа в дополнительном формате two.

Зависимости

Это свойство применяется, когда вы устанавливаете свойство BitPackedOutput на true.

OutputDataType

Тип данных вывода

Задайте тип выходных данных как один из них:

  • Когда свойством BitPackedOutput является false, OutputDataType может быть 'double', 'logical' или 'Smallest unsigned integer'.

  • Когда свойством BitPackedOutput является true, OutputDataType может быть 'double' или 'Smallest integer'.

Значением по умолчанию является double.

Примечание

У вас должна быть пользовательская лицензия Fixed-Point Designer™, чтобы использовать это свойство в режиме 'Smallest unsigned integer' или 'Smallest integer'.

Зависимости

Допустимые настройки для типа выходных данных зависят от установки BitPackedOutput.

Методы

сбросСбросьте состояния объекта генератора последовательности PN
шагСгенерируйте псевдошумовую (PN) последовательность
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

развернуть все

Сгенерируйте кадр с 14 выборками максимальной длины последовательность PN, данная полином генератора, x3+x2+1.

Сгенерируйте данные о последовательности PN при помощи объекта comm.PNSequence. Последовательность повторяется, когда она содержит 14 выборок, в то время как максимальная длина последовательности является только 7 выборками (23-1).

pnSequence = comm.PNSequence('Polynomial',[3 2 0], ...
    'SamplesPerFrame',14,'InitialConditions',[0 0 1]);
x1 = pnSequence();
[x1(1:7) x1(8:14)]
ans = 7×2

     1     1
     0     0
     0     0
     1     1
     1     1
     1     1
     0     0

Создайте другую максимальную последовательность длины на основе полинома генератора, x4+x+1. Когда это - четвертый полином порядка, последовательность повторяется после 15 выборок (24-1).

pnSequence2 = comm.PNSequence('Polynomial','x^4+x+1', ...
    'InitialConditions',[0 0 0 1],'SamplesPerFrame',30);
x2 = pnSequence2();
[x2(1:15) x2(16:30)]
ans = 15×2

     1     1
     0     0
     0     0
     0     0
     1     1
     0     0
     0     0
     1     1
     1     1
     0     0
      ⋮

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока PN Sequence Generator. Свойства объектов соответствуют параметрам блоков, кроме:

  • Объект не имеет свойства выбрать основанные на кадре выходные параметры.

  • Объект не имеет свойства, которое соответствует параметру Sample time.

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

Смотрите также

|

Представленный в R2012a