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 в соответствующее двоичное число, и затем добавьте 0s налево, при необходимости, так, чтобы получившаяся двоичная последовательность x1 x2 ... xr имела длину r, где r является логарифмом основой 2 из Spreading factor. Эта последовательность описывает путь от корня до кода. Путь берет верхнюю ветвь из кода на глубине i если кси = 0 и более низкую ветвь если кси = 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 согласно следующей таблице.

    i\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, смотрите Демонстрационную Синхронизацию.

Samples per frame

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

Output data type

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

Simulate using

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

Code generation

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

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

Interpreted execution

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

Больше о

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

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

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

Поведение изменяется в R2020a

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

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

Блоки

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