EngeeComms.BarkerCodeGenerator
Последовательность Баркера.
Библиотека |
EngeeComms |
Блок |
Описание
Системный объект EngeeComms.BarkerCodeGenerator генерирует последовательность Баркера. Малая длина и минимальный уровень боковых лепестков автокорреляционной функции позволяют использовать последовательности Баркера для кадровой синхронизации в системах связи.
Чтобы сгенерировать последовательность Баркера, выполните следующие действия:
-
Создайте объект EngeeComms.BarkerCodeGenerator и установите его свойства.
-
Вызовите объект с аргументами, как если бы это была функция.
Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты 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)
Дополнительно
Последовательности Баркера
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 дБ |