PN 序列生成器
伪噪序列发生器
类型: PNSequenceGenerator
图书馆中的路径:
|
说明
*PN 序列发生器*模块使用线性反馈移位寄存器(LFSR)生成伪随机二进制数序列。伪随机序列常用于伪随机扰码和通过直接序列法扩展频谱的系统中。更多信息,请参阅。单选.
端口
输出
#
外出
—
伪随机噪声序列
二进制向量
Details
以二进制向量形式返回的 PN 序列。输出数据类型由 Output data type 参数定义。
数据类型 |
Float64`。 |
复数支持 |
无 |
参数
主体
#
发生器多项式 —
生成多项式
String
Details
定义移位寄存器反馈的产生多项式。定义为
-
常数项为 "1 "的多项式字符向量或字符串标量。
-
长度为 的二进制字符串向量,按降序表示多项式的系数。该向量的长度必须等于 ,其中 是多项式的度数。第一个和最后一个值必须等于 "1",表示阶数为 的前导项和等于 "1 "的常数项。
-
整数向量字符串,指定多项式中按强度降序排列的非零项的指数。最后一个元素必须等于
0
,表示常数项等于1
。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
# 初始状态 — 移位寄存器的初始状态
Details
PN 序列发生器移位寄存器启动模拟时的初始状态,以二进制矢量字符串形式指定。矢量的长度必须等于*生成器多项式*参数指定的生成多项式的阶数。更多信息,请参阅简单移位寄存器发生器 和多项式阶数和移位寄存器方向。
要使程序块生成非零序列,*初始状态*参数的向量必须至少包含一个非零元素。 |
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
输出掩膜源 —
输出掩码源
对话参数
| 输入端口
Details
输出掩码源,表示如何将输出掩码信息传递给数据块。定义为
-
Dialog parameter
- 使用 Output mask vector (or scalar shift value) 参数。 -
Input port
- 添加并使用 Mask 输入端口。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
# 输出掩码向量(或标量移位值) — 输出掩码向量或标量移位值
Details
输出掩码向量或标量位移值,指定为长度为 的整数标量或二进制字符串向量,其中 是生成多项式的阶数。该参数决定 PN 序列从初始时间开始的延迟。更多信息,请参阅PN-序列起始点偏移。
依赖关系
要使用此参数,请将*输出掩码源*参数设置为 "对话框参数"。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
输出数据类型 —
输出数据类型
Float64
| Bool
Details
指定为 Float64
或 Bool
的输出数据类型。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
此外
*简单移位寄存器生成器
线性反馈移位寄存器(LFSR)作为简单移位寄存器发生器(SSRG)实现,用于生成 PN 序列。这种类型的移位寄存器也称为斐波那契实现。
多项式 定义了移位寄存器的反馈。它是一个原始的二进制多项式 。对于商 ,其中 从 0
到 ,如果有一个从 到加法器的链接,则商 为 1
。生成多项式的前导项 和常数项 必须等于 1
,因为多项式必须是原始的。在每个时间步长内,发生器中的所有寄存器 都会根据移位寄存器中输入箭头的值更新其值。加法器执行模 2 加法。LFSR 的输出反映了掩码向量 中所有连接的总和。
-
由*生成器多项式*参数设置。
-
初始值 由*初始状态*参数设定。
-
输出掩码向量(或标量移位值)]* 参数或*掩码*端口设置。
本表显示了与生成多项式 相对应的两组参数值。
数量 | 例 1 | 例 2 |
---|---|---|
|
|
|
生成多项式的度数, |
|
|
初始状态 |
|
|
多项式阶数和移位寄存器方向
实现时,移位寄存器从左到右定向,生成多项式 ( )、初始状态和掩码输出按降序定义。具体来说, .
在尝试建模和比较文献中的结果时,您需要了解您的数据源是否使用相同的约定或该约定的镜像,并按升序定义。
*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 序列发生器*单元 | 复位信号和输出信号 |
---|---|---|---|
无复位 |
|
|
|
标量复位信号 |
|
|
在无复位的情况下,程序块输出无复位的序列。对于标量和矢量复位信号,程序块向 Rst 端口提供复位信号 [0 0 0 0 1 0 0 0 0 0 0 0]
。由于复位信号的第四位为 "1",且*采样时间*为 "1",因此程序块复位第四位输出的序列。
*最大长度的序列
要为阶数为 的生成多项式生成最大长度序列,请将 生成多项式 参数设置为下表中的值。序列的最大长度为 。
生成多项式 | 生成多项式 | 生成多项式 | 生成多项式 | ||||
---|---|---|---|---|---|---|---|
2 |
|
15 |
|
28 |
|
41 |
|
3 |
|
16 |
|
29 |
|
42 |
|
4 |
|
17 |
|
30 |
|
43 |
|
5 |
|
18 |
|
31 |
|
44 |
|
6 |
|
19 |
|
32 |
|
45 |
|
7 |
|
20 |
|
33 |
|
46 |
|
8 |
|
21 |
|
34 |
|
47 |
|
9 |
|
22 |
|
35 |
|
48 |
|
10 |
|
23 |
|
36 |
|
49 |
|
11 |
|
24 |
|
37 |
|
50 |
|
12 |
|
25 |
|
38 |
|
51 |
|
13 |
|
26 |
|
39 |
|
52 |
|
14 |
|
27 |
|
40 |
|
53 |
|
有关这些多项式所代表的移位寄存器配置的详细信息,请参见 [1]。
*采样周期
输出更新的间隔时间等于 每帧采样 与 采样时间 的乘积。例如,如果 Sample time 和 Samples per frame 都等于 "1",则程序块每秒输出一个样本。如果将 每帧采样次数 增加到 10
,程序块将每 10 秒输出一个 10 乘 1 的向量。这种同步确保了等效输出率与每帧采样数*参数无关。