Документация Engee

EngeeComms.BarkerCodeGenerator

Последовательность Баркера.

Библиотека

EngeeComms

Блок

Barker Code Generator

Описание

Системный объект EngeeComms.BarkerCodeGenerator генерирует последовательность Баркера. Малая длина и минимальный уровень боковых лепестков автокорреляционной функции позволяют использовать последовательности Баркера для кадровой синхронизации в системах связи.

Чтобы сгенерировать последовательность Баркера, выполните следующие действия:

  1. Создайте объект EngeeComms.BarkerCodeGenerator и установите его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.

Создание

Синтаксис

  • barkerCode = EngeeComms.BarkerCodeGenerator() создает системный объект для генерации последовательности Баркера со свойствами по умолчанию. Пример:

    barkerCode = EngeeComms.BarkerCodeGenerator()
  • object = EngeeComms.BarkerCodeGenerator(Name=Value) создает системный объект для генерации последовательности Баркера с каждым указанным свойством Name (имя), установленным на указанное Value (значение). Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1=Value1,…​,NameN=ValueN). Пример:

    # длина последовательности 11, кадр содержит 11 отсчетов
    barkerCode = EngeeComms.BarkerCodeGenerator(Length=11,SamplesPerFrame=11)

Свойства

Length — длина генерируемой последовательности
7 (по умолчанию) | 1 | 2 | 3 | 4 | 5 | 11 | 13

Details

Длина сгенерированной последовательности: 1, 2, 3, 4, 5, 7, 11, или 13.

Пример: значение 2 задает последовательность [–1;1].

Типы данных: Float64

SamplesPerFrame — число отсчетов в выходном кадре
1 (по умолчанию) | положительное целое число

Details

Число отсчетов в выходном кадре в виде положительного целого числа. Если SamplesPerFrame равно , то блок выводит кадр, содержащий отсчетов, состоящих из последовательностей Баркера длины , где — задается свойством Length. При необходимости объект повторяет последовательность, чтобы достичь отсчетов.

Типы данных: Int64

OutputDataType — тип выходных данных
double (по умолчанию) | Int

Details

Тип выходных данных. Доступные типы данных: double или Int.

Использование

Синтаксис

y = barkerCode() выводит кадр последовательности Баркера в виде вектора-столбца. Если длина кадра превышает длину последовательности Баркера, то объект заполняет кадр, повторяя последовательность Баркера. Установите тип данных для вывода с помощью свойства OutputDataType. Пример:

y = barkerCode(OutputDataType=:int)

Методы

Общие для всех системных объектов

step!

Запустить алгоритм работы системного объекта

release!

Разрешить изменение значения свойства системного объекта

reset!

Сброс внутренних состояний системного объекта

Дополнительно

Последовательности Баркера

Details

Последовательность Баркера — это конечная последовательность из значений +1 и -1, имеющая автокорреляционную функцию, уровень боковых лепестков в которой не превышает .

Боковой лепесток автокорреляционной функции — это корреляция кодового слова со сдвинутой во времени версией самого себя. Боковой лепесток корреляции, , для сдвига на символов в -битовой кодовой последовательности равен

.

Для является индивидуальным кодовым символом, равным +1 или –1.

Выходная последовательность имеет биполярный формат, где 0 и 1 отображаются в 1 и –1. Максимальная известная длина последовательности Баркера составляет 13. Малая длина и низкий уровень боковых лепестков автокорреляционной функции делают последовательности Баркера полезными для кадровой синхронизации в цифровых системах связи. Генератор последовательности Баркера выдает следующие последовательности:

Длина Последовательность Баркера Уровень боковых лепестков

1

[−1]

0 дБ

2

[−1; 1]

−6 дБ

3

[−1; − 1; 1]

−9,5 дБ

4

[−1; −1; 1;−1]

−12 дБ

5

[−1; −1; −1; 1; −1]

−14 дБ

7

[−1; −1; −1; 1; 1; −1; 1]

−16,9 дБ

11

[−1; −1; −1; 1; 1; 1; −1; 1; 1; −1; 1]

−20,8 дБ

13

[−1; −1; −1; −1; −1; 1; 1; −1; −1; 1; −1; 1; −1]

−22,3 дБ