Engee 文档

PN Sequence Generator

伪噪序列发生器

类型: PNSequenceGenerator

图书馆中的路径:

/Communication Systems/Sources/Sequence Generators/PN Sequence Generator

说明

*PN 序列发生器*模块使用线性反馈移位寄存器(LFSR)生成伪随机二进制数序列。伪随机序列常用于伪随机扰码和通过直接序列法扩展频谱的系统中。更多信息,请参阅。单选.

端口

输出

# 外出 — 伪随机噪声序列
二进制向量

Details

以二进制向量形式返回的 PN 序列。输出数据类型由 Output data type 参数定义。

数据类型

Float64`。

复数支持

输入

# Rst — 重置序列
0 | 1

Details

复位信号序列,值可以是 01。更多信息,请参阅 [Reset Behaviour(复位行为)]。复位行为

依赖关系

要使用此设置,请选中 Reset on nonzero input 复选框。

数据类型

布尔型

复数支持

# 面罩 — 输出掩码
二进制向量

Details

从初始时间开始延迟 PN 序列的输出掩码,以二进制向量的形式给出,元素为 - 生成多项式的阶数。

依赖关系

要使用此参数,请将*输出掩码源*参数设置为 "输入端口"。

数据类型

Float64`。

复数支持

参数

主体

# Generator polynomial — 生成多项式
String

Details

定义移位寄存器反馈的产生多项式。定义为

  • 常数项为 "1 "的多项式字符向量或字符串标量。

  • 长度为 的二进制字符串向量,按降序表示多项式的系数。该向量的长度必须等于 ,其中 是多项式的度数。第一个和最后一个值必须等于 "1",表示阶数为 的前导项和等于 "1 "的常数项。

  • 整数向量字符串,指定多项式中按强度降序排列的非零项的指数。最后一个元素必须等于 0,表示常数项等于 1

默认值

z^6 + z + 1

程序使用名称

GeneratorPolynomial

可调谐

可计算

# Initial states — 移位寄存器的初始状态

Details

PN 序列发生器移位寄存器启动模拟时的初始状态,以二进制矢量字符串形式指定。矢量的长度必须等于*生成器多项式*参数指定的生成多项式的阶数。更多信息,请参阅简单移位寄存器发生器多项式阶数和移位寄存器方向

要使程序块生成非零序列,*初始状态*参数的向量必须至少包含一个非零元素。
默认值

[0 0 0 0 0 1]

程序使用名称

InitialStates

可调谐

可计算

# Output mask source — 输出掩码源
Dialog parameter | Input port

Details

输出掩码源,表示如何将输出掩码信息传递给数据块。定义为

  • Dialog parameter - 使用 Output mask vector (or scalar shift value) 参数。

  • Input port - 添加并使用 Mask 输入端口。

Dialog parameter | Input port

默认值

Dialog parameter

程序使用名称

OutputMaskSource

可调谐

可计算

# Output mask vector (or scalar shift value) — 输出掩码向量或标量移位值

Details

输出掩码向量或标量位移值,指定为长度为 的整数标量或二进制字符串向量,其中 是生成多项式的阶数。该参数决定 PN 序列从初始时间开始的延迟。更多信息,请参阅PN-序列起始点偏移

依赖关系

要使用此参数,请将*输出掩码源*参数设置为 "对话框参数"。

默认值

0

程序使用名称

OutputMaskVector

可调谐

可计算

# Sample time — 采样期
Real number

Details

以正标量指定的信号采样周期。

  • 设置为"-1 "时,输出信号继承下游信号的采样时间。关于*采样时间*和*每帧采样*之间的关系,请参阅采样周期

例如:`1`指定采样周期为 1 秒

默认值

1

程序使用名称

SampleTimeValue

可调谐

可计算

# Samples per frame — 每帧样本数
Real number

Details

输出信号中一个通道每帧的采样数目,以正整数表示。关于*采样时间*和*每帧采样数*之间的关系,请参阅采样周期

默认值

1

程序使用名称

SamplesPerFrame

可调谐

可计算

# Reset on nonzero input — 非零输入时复位
Logical

Details

选择该复选框可添加 Rst 输入端口。详情请参阅复位行为

默认值

false (关掉)

程序使用名称

Reset

可调谐

可计算

# Output data type — 输出数据类型
Float64 | Bool

Details

指定为 Float64Bool 的输出数据类型。

Float64 | Bool

默认值

Float64

程序使用名称

OutputDataType

可调谐

可计算

此外

*简单移位寄存器生成器

线性反馈移位寄存器(LFSR)作为简单移位寄存器发生器(SSRG)实现,用于生成 PN 序列。这种类型的移位寄存器也称为斐波那契实现。

pn sequence generator 1 cn

多项式 定义了移位寄存器的反馈。它是一个原始的二进制多项式 。对于商 ,其中 0 ,如果有一个从 到加法器的链接,则商 1。生成多项式的前导项 和常数项 必须等于 1,因为多项式必须是原始的。在每个时间步长内,发生器中的所有寄存器 都会根据移位寄存器中输入箭头的值更新其值。加法器执行模 2 加法。LFSR 的输出反映了掩码向量 中所有连接的总和。

  • 由*生成器多项式*参数设置。

  • 初始值 由*初始状态*参数设定。

  • 输出掩码向量(或标量移位值)]* 参数或*掩码*端口设置。

本表显示了与生成多项式 相对应的两组参数值。

数量 例 1 例 2

g1 = [1 0 0 0 0 0 0 0 0 0 1 0 1 0 1]

g2 = [8 2 0]

生成多项式的度数,

8, 即 length(g1)-1

8

初始状态

[1 0 0 0 0 0 0 0 0 0 0 1 0]

[1 0 0 0 0 0 0 0 0 1 0]

多项式阶数和移位寄存器方向

实现时,移位寄存器从左到右定向,生成多项式 ( )、初始状态和掩码输出按降序定义。具体来说, .

在尝试建模和比较文献中的结果时,您需要了解您的数据源是否使用相同的约定或该约定的镜像,并按升序定义。

*PN 序列起点的偏移。

要平移 PN 序列的起点,请指定*输出掩码向量(或标量平移值)*参数为:

  • 一个代表移位长度的整数。

    输出掩码向量(或标量移位值)*参数的默认值为 "0",表示不移位。如简单移位寄存器发生器 中的 LFSR 移位寄存器图所示,当唯一的连接是沿着标有 的箭头时,没有移位。

    本表显示了将 * 输出掩码向量(或标量移位值)* 参数设置为 "0 "时,在正整数 上发生的移位。

T = 0

T = 1

T = 2

…​

T =

T =

Shift =

…​

Shift =

…​

  • 长度等于生成多项式阶数的二进制向量。简单移位寄存器发生器 中的 LFSR 移位寄存器图显示了一个*输出掩码向量(或标量移位值)*,定义为掩码向量, 。二进制向量必须包含 元素,其中 是生成多项式的阶数。

    二进制向量对应的多项式 ,阶数不高于 。与 上的移位相对应的掩码向量是 modulo 的向量,其中 是生成多项式。

例如,如果生成多项式的阶数是 4,那么与 , 对应的掩码向量是 [0 1 0 0] ,表示多项式

*重置行为

在重置序列发生器之前,必须检查 Reset on nonzero input 参数,以启用 Rst 输入端口。假设 PN 序列发生器 块在未复位时输出"[1 0 0 0 1 1 0 1 1 0 1 1 1]"。下表显示了指定参数值对 PN 序列发生器 块输出的影响。

复位信号 复位信号参数 *PN 序列发生器*单元 复位信号和输出信号

无复位

  • *采样时间*参数值`1

  • 每帧采样时间*参数值`1

  • 在*Rst*端口上的值`[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]`

  • *采样时间*参数的值`1

  • 每帧采样*参数的值`1

  • 输出端口上的值`[1 0 0 0 1 1 0 1 1 1]`。

pn sequence generator 2

标量复位信号

  • 参数 Sample time 的值 1.

  • 参数*每帧采样*的值`1

  • 在*Rst*端口上的值`[0 0 0 0 0 1 1 0 0 0 0 0]`

  • *采样时间*参数的值`1

  • 每帧采样*参数的值`1.2+

pn sequence generator 3

在无复位的情况下,程序块输出无复位的序列。对于标量和矢量复位信号,程序块向 Rst 端口提供复位信号 [0 0 0 0 1 0 0 0 0 0 0 0]。由于复位信号的第四位为 "1",且*采样时间*为 "1",因此程序块复位第四位输出的序列。

*最大长度的序列

要为阶数为 的生成多项式生成最大长度序列,请将 生成多项式 参数设置为下表中的值。序列的最大长度为

生成多项式 生成多项式 生成多项式 生成多项式

2

[2 1 0 0]

15

[15 14 0]

28

[28 25 0]

41

[41 3 0]

3

[3 2 0]

16

[16 15 13 4 0]

29

[29 27 0]

42

[42 23 22 1 0]

4

[4 3 0]

17

[17 14 0]

30

[30 29 29 28 7 0]

43

[43 6 4 3 0]

5

[5 3 0]

18

[18 11 0]

31

[31 28 0]

44

[44 6 5 2 0]

6

[6 5 0]

19

[19 18 17 14 0]

32

[32 31 31 30 10 0]

45

[45 4 3 1 0]

7

[7 6 6 0]

20

[20 17 0]

33

[33 20 0]

46

[46 21 10 10 1 0]

8

[8 6 5 5 4 0]

21

[21 19 0]

34

[34 15 14 1 0]

47

[47 14 0]

9

[9 5 0]

22

[22 21 0]

35

[35 2 0]

48

[48 28 27 1 0]

10

[10 7 0 0]

23

[23 18 0]

36

[36 11 0]

49

[49 9 0]

11

[11 9 0]

24

[24 23 22 17 0]

37

[37 12 10 2 0]

50

[50 4 3 2 0]

12

[12 11 8 8 6 0]

25

[25 22 0]

38

[38 6 5 5 1 0]

51

[51 6 3 1 0]

13

[13 12 10 9 9 0]

26

[26 25 24 24 20 0]

39

[39 8 0]

52

[52 3 0]

14

[14 13 8 8 4 0]

27

[27 26 25 22 0]

40

[40 5 4 3 0]

53

[53 6 2 1 0]

有关这些多项式所代表的移位寄存器配置的详细信息,请参见 [1]。

*采样周期

输出更新的间隔时间等于 每帧采样采样时间 的乘积。例如,如果 Sample timeSamples per frame 都等于 "1",则程序块每秒输出一个样本。如果将 每帧采样次数 增加到 10,程序块将每 10 秒输出一个 10 乘 1 的向量。这种同步确保了等效输出率与每帧采样数*参数无关。

文献

  1. Proakis, John G."第 5 版,纽约:麦格劳-希尔,2007 年。

  2. Lee, J. S., and L.E.Miller."CDMA 系统工程手册。" 波士顿和伦敦:Artech House,1998 年。Artech House, 1998.

  3. Golomb, S.W.."移位寄存器序列。拉古纳山。爱琴海公园出版社,1967 年。