Создать последовательность Kasami из набора последовательностей Kasami
Поддиапазон генераторов последовательности источников связи
Блок генератора последовательностей Kasami генерирует последовательность из набора последовательностей Kasami. Последовательности Касами представляют собой набор последовательностей, которые имеют хорошие свойства взаимной корреляции.
Этот блок может выводить последовательности, которые изменяются по длине во время моделирования. Дополнительные сведения о сигналах переменного размера см. в разделе Основы сигналов переменного размера (Simulink).
Существует два набора последовательностей Касами: малый набор и большой набор. Большой набор содержит все последовательности в малом наборе. Только малое множество является оптимальным в смысле согласования нижней границы Уэлча для корреляционных функций.
Последовательности Касами имеют период N = 2n-1, где n - неотрицательное, чётное целое число. Пусть u - двоичная последовательность длиной N, и пусть w - последовательность, полученная прореживанием u на 2n/2 + 1. Малое множество последовательностей Касами определяется следующими формулами, в которых T обозначает левый оператор сдвига, m - параметр сдвига для w, а ⊕ обозначает сложение по модулю 2.
Малый набор последовательностей Касами для n чётных
2n/2 − 2
Обратите внимание, что малый набор содержит 2n/2 последовательности.
Для mod (n, 4) = 2 большой набор последовательностей Касами определяется следующим образом. Пусть v - последовательность, образованная прореживанием последовательности u на 2n/2 + 1 + 1. Большое множество определяется следующей таблицей, в которой k и m являются параметрами сдвига для последовательностей v и w соответственно.
Большой набор последовательностей Касами для mod (n, 4) = 2
..., 2n − 2; m = 0,..., 2n/2 − 2
Последовательности, описанные в первых трех строках предыдущего рисунка, соответствуют последовательностям Голда для mod (n, 4) = 2. Описание последовательностей Gold см. на справочной странице блока Gold Sequence Generator. Однако последовательности Касами образуют больший набор, чем последовательности Голда.
Функции корреляции для последовательностей принимают значения
{-t (n), -s (n), -1, s (n) -2, t (n) - 2}
где
= 12 (t (n) + 1)
Параметр полинома генератора определяет полином генератора, который определяет соединения в сдвиговом регистре, генерирующем последовательность u. Можно задать параметр полинома генератора, используя следующие форматы:
Вектор многочлена, включающий число 1, например, 'z^4 + z + 1'.
Вектор, который перечисляет коэффициенты многочлена в порядке убывания степеней. Первая и последняя записи должны быть 1. Обратите внимание, что длина этого вектора на единицу больше степени полинома генератора.
Вектор, содержащий экспоненты z для ненулевых членов многочлена в порядке убывания степеней. Последняя запись должна быть 0.
Например, 'z^8 + z^2 + 1', [1 0 0 0 0 0 1 0 1], и [8 2 0] представляют один и тот же многочлен, p (z) = z8 + z2 + 1.
Параметр Initial states определяет начальные состояния сдвигового регистра, который генерирует последовательность u. Начальные состояния - это двоичный скалярный вектор или вектор строки длиной, равной степени полинома Генератора. При выборе двоичного скаляра блок расширяет скаляр до вектора строки длиной, равной степени полинома генератора, все записи которого равны скаляру.
Параметр Sequence index определяет сдвиги последовательностей v и w, используемые для генерации выходной последовательности. Задать параметр можно одним из двух способов:
Для генерации последовательностей из малого множества, для n равно чётному, можно задать индекс Sequence как целое число м. Диапазон m равен [-1,..., 2n/2 - 2]. В следующей таблице описаны выходные последовательности, соответствующие индексу последовательности
m:
| Индекс последовательности | Диапазон индексов | Последовательность вывода |
|---|---|---|
-1
| m = -1 | u |
m
| m = 0,..., 2n/2 - 2 |
Чтобы создать последовательности из большого множества, для mod (n, 4) = 2, где n - степень полинома Генератора, можно задать индекс последовательности как целочисленный вектор [k m]. В этом случае выходная последовательность поступает из большого набора. Диапазон для k равен [-2,..., 2n- 2], а диапазон для m равен [-1,..., 2n/2- 2]. В следующей таблице описаны выходные последовательности, соответствующие индексу последовательности [k m]:
| Индекс последовательности [k m] | Диапазон индексов | Последовательность вывода |
|---|---|---|
[-2 -1]
| k = -2, m = -1 | u |
[-1 -1]
| k = -1, m = -1 | v |
[k -1]
| k = 0, 1,..., 2n - 2 m = -1 | |
[-2 m]
| k = -2 m = 0, 1,..., 2n/2 - 2 | |
| k = -1 m = 0,..., 2n/2 - 2 | |
[k m]
| k = 0,..., 2n - 2 m = 0,..., 2n/2 - 2 |
Начальную точку последовательности Касами можно сдвинуть с помощью параметра Shift, который представляет собой целое число, представляющее длину сдвига.
Можно использовать внешний сигнал для сброса значений внутреннего сдвигового регистра в исходное состояние, выбрав Сброс на ненулевом входе. Это создает входной порт для внешнего сигнала в блоке Kasami Sequence Generator. Способ сброса блоком внутреннего сдвигового регистра зависит от того, основаны ли его выходной сигнал и сигнал сброса на выборке или на кадре. Пример см. в разделе Сброс поведения.
В следующей таблице перечислены некоторые многочлены, которые можно использовать для создания набора последовательностей Касами.
| n | N | Полиномиал | Набор |
|---|---|---|---|
| 4 | 15 | [4 1 0] | Маленький |
| 6 | 63 | [6 1 0] | Большой |
| 8 | 255 | [8 4 3 2 0] | Маленький |
| 10 | 1023 | [10 3 0] | Большой |
| 12 | 4095 | [12 6 4 1 0] | Маленький |
Символьный вектор или двоичный вектор, задающий полином генератора для последовательности u.
Двоичный скалярный вектор или вектор строки длиной, равной степени полинома Генератора, который задает начальные состояния сдвигового регистра, генерирующего последовательность u.
Целое число или вектор, задающий сдвиги последовательностей v и w, используемых для генерации выходной последовательности.
Целочисленный скаляр, определяющий смещение последовательности Касами от начального времени.
Эта опция используется для изменения длины выходных последовательностей во время моделирования. При выборе по умолчанию выводятся сигналы фиксированной длины.
Укажите, как блок определяет максимальный размер выходного сигнала.
При выборе Dialog parameter, значение, введенное в параметре Максимальный размер вывода, определяет максимальный размер вывода. Когда вы делаете этот выбор, oSiz входной порт определяет текущий размер выходного сигнала, а блочный выход наследует время выборки из входного сигнала. Входное значение должно быть меньше или равно параметру Максимальный выходной размер.
При выборе Inherit from reference portвыходной сигнал блока наследует время выборки, максимальный размер и размер тока из сигнала переменного размера на входном порту Ref.
Этот параметр появляется только при выборе параметра Выходные сигналы переменного размера (Output variable-size signals). Выбор по умолчанию: Dialog parameter.
Укажите двухэлементный вектор строки, обозначающий максимальный размер вывода блока. Второй элемент вектора должен быть равен 1. Например, [10 1] дает выходной сигнал максимального размера 10 на 1. Этот параметр появляется только при выборе параметра Выходные сигналы переменного размера (Output variable-size signals).
Время выборки выходных данных, указанное как -1 или положительный скаляр, который представляет время между каждой выборкой выходного сигнала. Если для параметра Sample time установлено значение -1время выборки наследуется от нисходящего потока. Для получения информации о взаимосвязи между временем выборки и выборками на кадр см. раздел
Синхронизация выборки.
Выборки на кадр, указанное как положительное целое число, указывающее количество выборок на кадр в одном канале выходных данных. Для получения информации о взаимосвязи между временем выборки и выборками на кадр см. раздел Синхронизация выборки.
При выборе этого параметра можно задать входной сигнал, сбрасывающий внутренние регистры сдвига до исходных значений начальных состояний.
Тип вывода блока может быть указан как boolean или double. По умолчанию блок устанавливает значение double.
Эта модель имитирует расширение последовательности Kasami для двух пользователей в среде многолучевой передачи. Это аналогично среде мобильного канала, где сигналы принимаются по множеству трактов. Каждый тракт может иметь различные амплитуды и задержки. Приемник комбинирует независимые тракты когерентно с использованием разнесенного приема для реализации коэффициентов усиления от принятых многолучевых передач. Смоделированная система не моделирует эффекты замирания, и приемник получает полное представление о количестве трактов и их соответствующих задержках.
Модель использует случайные двоичные данные, которые модулируются BPSK (реальные), расширяются последовательностями Касами, а затем передаются по многолучевому каналу AWGN. Приемник состоит из блока сжатия, сумматора разнесения и демодулятора BPSK.

Используя те же самые данные передачи, модель вычисляет производительность для двухпользовательских передач через идентично сконфигурированные многолучевые каналы AWGN.
Вычисленный BER указывает, что распространение данных передачи с использованием последовательностей Касами демонстрирует низкую взаимную корреляцию. Последовательности Касами обеспечивают баланс между идеальными свойствами взаимной корреляции ортогональных кодов и идеальными свойствами автокорреляции ПШ последовательностей.
Чтобы поэкспериментировать дальше, откройте модель. Измените настройки, чтобы увидеть, как изменяется производительность для различных задержек пути или с различными настройками генератора последовательности Kasami для отдельных пользователей.
[1] Петерсон и Уэлдон, коды исправления ошибок, 2-е издание, MIT Press, Кембридж, Массачусетс, 1972.
[2] Проакис, Джон Г., Digital Communications, третье издание, Нью-Йорк, McGraw Hill, 1995.
[3] Sarwate, D. V. and Pursley, M.B., «Crosscorrelation Properties of Pseudorandom and Related Sequences», Proc. IEEE, т. 68, № 5, май 1980, стр. 583-619.