Engee 文档

EngeeComms.BarkerCodeGenerator

巴克序列

资料库

EngeeComms. Block::巴克代码生成器

说明

系统对象 EngeeComms.BarkerCodeGenerator 生成巴克序列。巴克序列长度短,自相关函数的边叶最小,因此可用于通信系统的帧同步。

要生成巴克序列,请执行以下步骤:

  1. 创建对象 EngeeComms.BarkerCodeGenerator 并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要进一步了解如何使用系统对象,请参阅Engee 系统对象

创建

语法

  • barkerCode = EngeeComms.BarkerCodeGenerator()` 创建一个系统对象,用于生成具有 * 默认 * 属性的 Barker 序列。

    示例

    barkerCode = EngeeComms.BarkerCodeGenerator()
  • object = EngeeComms.BarkerCodeGenerator(Name=Value) 创建一个系统对象,生成一个 Barker 序列,其中每个指定的属性 Name(名称)设置为指定的 价值观(值)。您可以以任意顺序(Name1=Value1,…​,NameN=ValueN)指定其他参数作为名值对(name-value pair)。

    示例

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

属性

*长度 生成的序列长度
7 (default) | 1 | 2 | 3 | 4 | 5 | 11 | 13

Details

生成序列的长度为 1234571113

示例:值 2 指定序列 [-1;1]

数据类型: Float64

SamplesPerFrame - 输出帧中的样本数
1(默认值) | `正整数

Details

输出帧中的正整数样本数。如果 SamplesPerFrame ,那么程序块将输出一个包含 样本的帧,该帧由长度为 的巴克序列组成,其中 Length 属性指定。如有必要,对象会重复序列以达到 样本。

数据类型: Int64

输出数据类型 - 输出数据类型
double(默认)` |Int

Details

输出数据类型。可用数据类型:double "或 "Int"。

使用方法

语法

y = barkerCode()` 以列向量形式输出巴克序列的一帧。如果帧长度超过 Barker 序列的长度,对象将通过重复 Barker 序列来填充帧。使用 OutputDataType 属性设置要输出的数据类型。

示例

y = barkerCode(OutputDataType=:int)

方法

所有系统对象通用的方法

step!: 启动系统对象的运行算法 release!: 允许更改系统对象属性的值 reset!: 重置系统对象的内部状态

可选项

巴克序列

Details

Barker 序列是 +1-1 的有限序列,其自相关函数的边叶电平不超过

自相关函数的*侧叶*是码字与自身时移版本的相关性。在一个 位的编码序列中,对于 个符号的移位,相关性的边叶 等于

.

对于 ,单个编码符号等于 +1-1

输出序列具有双极性格式,其中 01 映射为 1-1。巴克序列的已知最大长度为 13。巴克序列的自相关函数长度短、侧裂小,因此可用于数字通信系统中的帧同步。巴克序列发生器可产生以下序列:

长度 巴克序列 侧叶电平

1

[-1]

0 dB

2

[-1; 1]

-6 dB

3

[-1;− 1; 1] -9.5 dB

-9.5 dB

4

[-1;−1; 1;-1] -12 dB

-12分贝

5

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

-14分贝

7

[-1;−1;−1; 1; 1;−1; 1] -16.9 dB

-16.9分贝

11

[-1;−1;−1; 1; 1; 1; 1; 1;−1; 1; 1; 1; 1;−1; 1] -20.8 dB

-20.8 dB

13

[-1;−1;−1;−1;−1; 1; 1; 1;−1;−1; 1;−1; 1; 1;−1] -22.3 dB

-22.3 dB