коммуникация. 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

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

Установите это свойство на истину включать дополнительный вход к методу шага. Значение по умолчанию является ложным. Когда вы устанавливаете это свойство на истину, активированный вход задает выходной размер последовательности 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.

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

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

|