1.信道函数
二进制对称通道:bsc
ndata = bsc(data,probability) 将二进制输入信号数据通过一个具有指定错误概率的二进制对称通道。该通道引入一个比特错误,并独立处理输入数据的每个元素。数据必须是二进制数组或GF(2)中的伽罗华数组。概率必须是一个从0到1的标量。
ndata = bsc(data,probability,streamhandle) 接受一个随机流句柄,通过使用rand产生均匀的噪声样本。提供一个随机流句柄或者在默认的随机流对象上使用重置函数,可以使你产生可重复的噪声样本。更多信息,见RandStream。
ndata = bsc(data,probability,seed) 接受一个种子值,用于初始化统一随机数发生器rand。如果你想产生可重复的噪声样本,那么在调用BSC之前,要么重置随机流输入,要么使用相同的种子输入。
[ndata,err] = bsc(___) 返回一个包含通道错误的数组,使用前面的任何一种语法。
2.随机数据信号源
2.1伯努利二进制产生器
MATLAB函数
Simulin模块
说明
伯努利二进制生成器模块使用伯努利分布生成随机二进制数。参数为p的伯努利分布产生概率为p的零和概率为1-p的一。伯努利分布的均值为1-p,方差为p(1-p)。零参数的概率指定为p,可以是0和1之间的任何实数。
输出信号的属性
输出信号可以是一个列或行向量,一个二维矩阵,或一个标量。输出信号中的行数对应于一帧的样本数,由每帧样本数参数决定。输出信号中的列数与通道数相对应,由 "零的概率 "参数中的元素数决定。更多细节见《通信工具箱™用户指南》中的源和汇。
参数
零点概率
发生零输出的概率。将概率指定为标量或行向量,其元素为0到1之间的实数。零点概率参数中的元素数与该块输出的独立通道数相对应。
初始种子的来源
随机数发生器初始种子的来源。将源指定为自动或参数。当设置为自动时,该块使用全局随机数流。
注意
在代码生成模式下,当初始种子源为自动时,随机数发生器使用的初始种子为零。因此,该块每次启动时都会生成相同的随机数。使用解释执行来确保该模式使用不同的初始种子。如果解释执行是在快速加速器模式下运行,那么它的行为与代码生成模式相同。
初始种子
随机数发生器的初始种子值。将种子指定为一个非负整数标量。当初始种子的来源参数设置为参数时,初始种子就可用。
采样时间
输出信号的每一列样本之间的时间。
每帧样本数
输出信号的一个通道中每帧的样本数。指定每帧样本为一个正整数标量。
注意
输出更新之间的时间等于每帧样本数与采样时间的乘积。例如,如果采样时间和每帧采样数等于1,该块每秒钟输出一个二进制样本。如果每帧样本数增加到10,那么每10秒就输出一个10乘1的向量。这确保了等效输出率不依赖于每帧采样数参数。
输出数据类型
块的输出类型可以指定为布尔值、uint8、uint16、uint32、单或双。默认是双倍。
仿真方式
选择仿真模式。
代码生成
在第一次模型运行时,模拟并生成代码。如果块的结构没有变化,后续的模型运行不会重新生成代码。
如果仿真模式是代码生成,对应于块的系统对象最多接受9个输入。
解释的执行
仿真模型而不生成代码。这个选项会使启动时间更快,但会减慢后续的仿真性能。
2.2泊松分布整数产生器
MATLAB函数
Simulin模块
说明
泊松整数发生器模块使用泊松分布生成随机整数。产生一个非负整数k的概率是
其中λ是一个正数,称为泊松参数。
你可以使用泊松整数发生器在二进制传输通道中产生噪声。在这种情况下,泊松参数Lambda应该小于1,通常要小很多。
输出信号的属性
输出信号可以是一个列或行向量,一个二维矩阵,或一个标量。输出信号中的行数对应于一帧中的样本数,由每帧样本数参数决定。输出信号中的列数与通道数相对应,由Lambda参数中的元素数决定。更多细节请参见《通信工具箱™用户指南》中的源和汇。
参数
兰姆达
泊松参数λ。将λ指定为标量或行向量,其元素为实数。如果Lambda是一个标量,那么输出向量中的每个元素都共享相同的泊松参数。如果Lambda是一个行向量,那么元素的数量对应于该块输出的独立通道的数量。
初始种子的来源
随机数发生器初始种子的来源。将源指定为自动或参数。当设置为自动时,该块使用全局随机数流。
注意
在代码生成模式下,当初始种子源为自动时,随机数发生器使用的初始种子为零。因此,该块每次启动时都会生成相同的随机数。使用解释执行来确保该模式使用不同的初始种子。如果解释执行是在快速加速器模式下运行,那么它的行为与代码生成模式相同。
初始种子
随机数发生器的初始种子值。将种子指定为一个非负整数标量。当初始种子的来源参数设置为参数时,初始种子就可用。
采样时间
输出信号的每一列样本之间的时间。
每帧样本数
输出信号的一个通道中每帧的样本数。指定每帧样本为一个正整数标量。
注意
输出更新之间的时间等于每帧样本数与采样时间的乘积。例如,如果采样时间和每帧采样数等于1,该块每秒钟输出一个整数。如果每帧样本数增加到10,那么每10秒就输出一个10乘1的矢量。这确保了等效输出率不依赖于每帧采样数参数。
输出数据类型
块的输出类型可以指定为布尔值、uint8、uint16、uint32、单或双。默认是双倍。
仿真方式
选择仿真模式。
代码生成
在第一次模型运行时,模拟并生成代码。如果块的结构没有变化,后续的模型运行不会重新生成代码。
如果仿真模式是代码生成,对应于块的系统对象最多接受9个输入。
解释的执行
仿真模型而不生成代码。这个选项会使启动时间更快,但会减慢后续的仿真性能。