3.3基于MATLABSimulink的线性分组码仿真.doc
文本预览下载声明
3.3基于MATLAB/Simulink的线性分组码仿真
3.3.1通信系统仿真的数学模型
对于一般的通信系统,无论是连续还是离散的数学模型都应包括信源、信道编码、调制器、信道、解调器、信道译码、信宿几个模块,各模块之间的连接关系如下图所示。
图3-2 通信系统数学模型
利用这个模型,通过设置其中各个模块的属性可以实现通信系统中各种编译码和调制解调系统的仿真。
3.3.2线性分组码仿真
线性分组码的仿真是通信系统一般数学模型的一种具体应用。通过分析设计题目,根据仿真设计要求建立仿真模型如下图所示。
图3-3 二进制线性编码simulink仿真图
图3-3 二进制线性编码simulink仿真图
上图为二进制线性编码的simulink仿真图信源、信道编译码器和误码率计算器等
模块的参数设置情况见表3-1至表3-6。
调制器选用调制性能较好的BPSK调制器;与调制和编码相对应的,解调器选用BPSK解调器,译码器选用二进制线性译码器。本设计希望借助线性分组码的误码率曲线来研究其性能,所以需要加入误码率计算器(Error Rate Calculation)。通过学习MATLAB/simulink相关知识,了解到误码率计算器输出三个结果:误码率、正确码元个数和错误码元个数。设计所关心的是误码率,所以先用分路器将三路信号分离,然后将误码率的值输出到工作空间(workspace)便于提取每一秒的仿真数据,为了实现和显示模块(display)的连接,必须用合路器将分开的信号重新组合起来。而选用Display作为显示模块,是因为它可以方便快捷的观察到三路输出信号的动态变化过程。其中主要模块的参数设置如下表所示。
表3-1是信源模块的参数设置表,由于在实际通信过程中,具体环境不同信源信号的形式可能多种多样,为了模拟最一般的信号形式,图中信源选择能产生伯努利分布的二进制随机数的Bernoulli Random Binary Generator模块;编码器选用二进制线性编码器;
表3-1 伯努利二进制随机数生成器(Bernoulli Random Binary Generator)参数表
参数名称
参数值
Probability of zer(0出现的概率)
0.5
Initial seed(初始化种子)
21375
Sample time(抽样时间)
0.0001
Frame-based outputs(输出基于帧)
√
Samples per frame(每帧抽样数)
(根据要仿真信号的信息位数设定数值 如(7,4)码则此项值为4)
研究二进制线性码的性能当然用二进制线性编码器。表3-2为其参数设置情况,值得注意
表3-2 二进制线性编码器(Binary Linear Encoder)参数表
参数名称
参数值
(7,4)码Generator matrix(生成矩阵)
[[1 1 0;0 1 1;1 1 1;1 0 1]eye(4)]
(6,3)码Generator matrix(生成矩阵)
[[1 1 0;0 1 1;1 1 1]eye(3)]
表3-3是信道模块的参数设置表,为了最大限度接近现实环境和反应更一般的通信情景,信道模块选用加性高斯白噪声信道(AWGN)。
表3-3 加性高斯白噪声信道(AWGN)参数表
参数名称
参数值
Initial seed(初始化种子)
1431
Mode(方式)
Signal to noise ratio(SNR)
SNR(dB)(信噪比)
SNR
Input signal power(waits)(输入信号功率)
1
研究二进制线性码的性能当然对应于编码器,用二进制线性译码器。表3-4为其参数设置情况,同样生成矩阵中输入的信号矩阵必须和后面的单位阵有相同的行数。而且必须与编码器有相同的生成矩阵。
表3-4 二进制线性译码器(Binary Linear Decoder)参数表
参数名称
参数值
(7,4)码Generator matrix(生成矩阵)
[[1 1 0;0 1 1;1 1 1;1 0 1]eye(4)]
(6,3)码Generator matrix(生成矩阵)
[[1 1 0;0 1 1;1 1 1]eye(3)]
Decoding table(译码表)
0
本设计希望借助线性分组码的误码率曲线来研究其性能,所以需要加入误码率计算器(Error Rate Calculation)。其参数设置如表3-5所示。只有将输出数据设置成”port”时,才能实现与下一个模块的连接端口。
表3-5 误码率计算器(Error Rate Calculation)参数表
参数名称
参数值
Receive delay(接收时延)
0
Computation delay(计算时延)
0
Computation Mode(
显示全部