OVSF Code Generator

Сгенерируйте ортогональный код коэффициента расширения (OVSF) из набора ортогональных кодов

Библиотека

Коды расширения

  • OVSF Code Generator block

Описание

Блок OVSF Code Generator генерирует код OVSF из набора ортогональных кодов. Коды OVSF были впервые введены для 3G систем связи. Коды OVSF в основном используются для сохранения ортогональности между различными каналами в системе связи.

Коды OVSF заданы как строки матрицы N на N, CN, которая определяется рекурсивно следующим образом. Во-первых, задайте C1 = [1]. Затем предположим, что CN задана и пусть CN (k) обозначает k-ю строку CN. Задайте C2N по

C2N=[CN(0)CN(0)CN(0)CN(0)CN(1)CN(1)CN(1)CN(1)......CN(N1)CN(N1)CN(N1)CN(N1)]

Обратите внимание, что CN задана только для N степенью 2. Из этого следует, что строки CN ортогональны.

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

Если [C] - длина кода 2r на глубине r в дереве, где корень имеет глубину 0, две ветви, ведущие из C, маркируются последовательностями [C C] и [C -C], которые имеют длину 2r+1. Кодами на глубине r в дереве являются строки матрицы CN, где N = 2r.

Обратите внимание, что два кода OVSF ортогональны тогда и только тогда, когда ни один код не лежит на пути от другого кода к корню. Поскольку коды, назначенные различным пользователям в одной камере, должны быть ортогональными, это ограничивает количество доступных кодов для данной камеры. Например, если код, который C41 в дереве назначен на пользователя, коды C10, C20, C82, C83, и так далее, не может быть назначен ни на какого другого пользователя в той же камере.

Параметры блоков

Вы задаете код, который OVSF Code Generator выводит, по двум параметрам в диалоговом окне блока: Spreading factor, которая является длиной кода, и Code index, которое должно быть целым числом в области значений [0, 1,..., N-1], где N является коэффициентом расширения. Если код появляется на глубине r в предыдущем дереве, Spreading factor равняется 2r. Этот Code index определяет, как далеко вниз по столбцу дерева на глубине r появляется код, считая от 0 до N-1. Для CN, k в предыдущей схеме, N является Spreading factor, а k является Code index.

Восстановить код из Spreading factor и Code index можно следующим образом. Преобразуйте Code index в соответствующее двоичное число, а затем при необходимости добавьте 0 с налево, чтобы получилась двоичная последовательность x1 x2... xr имеет длину r, где r является логарифмической базой 2 Spreading factor. Эта последовательность описывает путь от корня до кода. Путь берёт верхнюю ветвь от кода на глубине i, если xi = 0, и нижнюю ветвь, если xi = 1.

Чтобы восстановить код, рекурсивно задайте последовательность кодов Ci для следующим образом. Позвольте C0 быть корнем [1]. Принимая, что Ci определен, для i < r задайте Ci + 1

Ci+1={CiCiесли xi=0Ci(Ci)если xi=1

Код CN имеет указанные Spreading factor и Code index.

Например, чтобы найти код с Spreading factor 16 и Code index 6, выполните следующее:

  1. Преобразуйте 6 в двоичное число 110.

  2. Добавьте один 0 слева, чтобы получить 0110, которая имеет длину 4 = log2 16.

  3. Создайте последовательности Ci согласно следующей таблице.

    яxiCi
    0 C0 = [1]
    1 0 C1 = C0 C0 = [1] [1]
    2 1 C2 = C1-C1 = [1 1] [-1 - 1]
    3 1 C3 = C2-C2 = [1 1 - 1 - 1] [-1 - 1 1 1]
    4 0 C4 = C3 C3 = [1 1 - 1 - 1 - 1 - 1 1 1] [1 1 - 1 - 1 - 1 - 1 1 1]

У кода C4 Spreading factor 16 и Code index 6.

Параметры

Spreading factor

Положительное целое число, которое является степенью 2, задающее длину кода.

Code index

Целое число в области значений [0, 1,..., N-1], задающее код, где N является Spreading factor.

Sample time

Вывод шага расчета, заданный как -1 или положительная скалярная величина, которая представляет время между каждой выборкой сигнала выхода. Если для Sample time задано значение -1, шаг расчета наследуется от нисходящего потока. Для получения информации о связи между Sample time и Samples per frame, смотрите Sample Timing.

Samples per frame

Выборки на систему координат, заданные как положительное целое число, указывающее количество отсчетов на систему координат в одном канале выходных данных. Для получения информации о связи между Sample time и Samples per frame, смотрите Sample Timing.

Output data type

Выходной тип блока может быть задан как int8 или double. По умолчанию блок устанавливает это на double.

Simulate using

Выберите режим симуляции.

Code generation

При первом запуске модели моделируйте и сгенерируйте код. Если структура блока не меняется, последующие запуски модели не регенерируют код.

Если режим симуляции Code generationСистемные объекты, соответствующие блокам, принимают максимум девять входы.

Interpreted execution

Моделируйте модель, не генерируя код. Эта опция приводит к более быстрому времени запуска, но может снизить эффективность последующей симуляции.

Подробнее о

расширить все

Вопросы совместимости

расширить все

Поведение изменено в R2020a

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

.

См. также

Блоки

Представлено до R2006a