comm.KasamiSequence

Сгенерируйте последовательность Kasami

Описание

KasamiSequence объект генерирует последовательность от набора последовательностей Kasami. Последовательности Kasami являются набором последовательностей, которые имеют хорошие свойства взаимной корреляции.

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

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

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

Примечание

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

Конструкция

H = comm.KasamiSequence создает Системный объект KasamiSequence, H. Этот объект генерирует последовательность Kasami.

H = comm.KasamiSequence(Name,Value) создает объект генератора последовательности Kasami, 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.

InitialConditions

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

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

Когда вы устанавливаете это свойство на векторное значение, каждый элемент вектора соответствует начальному значению соответствующей ячейки в сдвиговом регистре.

Когда вы устанавливаете это свойство на скалярное значение, то значение задает начальные условия всех ячеек сдвигового регистра. Скаляр или по крайней мере один элемент заданного вектора, требует ненулевого значения для объекта сгенерировать ненулевую последовательность.

Index

Индекс последовательности

Задайте индекс, чтобы выбрать последовательность Kasami интереса от набора возможных последовательностей. Значением по умолчанию является 0. Последовательности Kasami имеют период, равный N = 2n –1, где n указывает на неотрицательное, даже целочисленное равный степени полинома генератора, который вы задаете в Polynomial свойство.

Существует два класса последовательностей Kasami: полученные из маленького набора и полученных из большого набора. Вы выбираете последовательность Kasami из маленького набора путем установки этого свойства на числовое, скалярное, целочисленное значение в области значений [0... 2n/2–2]. Вы выбираете последовательность из большого набора путем установки этого свойства на числовой 1×2 целочисленных вектора [k m] для k в [–2..., 2n–2], и m в [–1..., 2n/2–2].

Shift

Последовательность возмещена с начального времени

Задайте смещение последовательности Kasami от ее начальной точки как числовое, значение целочисленного скаляра, которое может быть положительным или отрицательным. Значением по умолчанию является 0. Последовательность Kasami имеет период N = 2n–1, где n является степенью полинома генератора, который вы задаете в Polynomial свойство. Значение сдвига перенесено относительно периода последовательности.

VariableSizeOutput

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

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

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

MaximumOutputSize

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

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

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

SamplesPerFrame

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

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

Когда вы устанавливаете это свойство на значение M, затем step выборки выходных параметров M метода последовательности Kasami, которая имеет период N = 2n–1. n значения равняется степени полинома генератора, который вы задаете в Polynomial свойство.

ResetInputPort

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

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

OutputDataType

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

Задайте тип выходных данных как один из double | logical. Значением по умолчанию является double.

Методы

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

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

Примеры

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

Распространите данные о BPSK с последовательностью Kasami длины 255 при помощи Системного объекта последовательности Kasami.

Сгенерируйте двоичные данные и примените модуляцию BPSK.

data = randi([0 1],10,1);
modData = pskmod(data,2);

Создайте объект последовательности Kasami длины 255 полиномов генератора использования x8+x7+x4+1.

kasamiSequence = comm.KasamiSequence('Polynomial',[8 7 4 0], ...
    'InitialConditions',[0 0 0 0 0 0 0 1],'SamplesPerFrame',255);

Сгенерируйте последовательность Kasami и преобразуйте ее в биполярную форму.

kasSeq = kasamiSequence();
kasSeq = 2*kasSeq - 1;

Примените усиление 1/255 гарантировать, что распространяющаяся операция не увеличивает полную степень сигнала.

kasSeq = kasSeq/sqrt(255);

Распространите данные о BPSK с помощью последовательности Kasami.

spreadData = modData*kasSeq';
spreadData = spreadData(:);

Проверьте, что последовательность данных о распространении в 255 раз более длинна, чем последовательность входных данных.

spreadingFactor = length(spreadData)/length(data)
spreadingFactor = 255

Проверьте, что распространяющаяся операция не увеличила степень сигнала.

spreadSigPwr = sum(abs(spreadData).^2)/length(data)
spreadSigPwr = 1.0000

Измените полином генератора генератора последовательности Kasami к x8+x3+1 после первого выпуска объекта. Используйте символьное представление полинома.

release(kasamiSequence)
kasamiSequence.Polynomial = 'x^8 + x^3 + 1';

Сгенерируйте новую последовательность и преобразуйте ее в биполярную форму.

kasSeq = kasamiSequence();
kasSeq = 2*kasSeq - 1;

Алгоритмы

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

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

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

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

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

|