资源描述
摘 要
本文重要是运用MATLAB中SIMULINK通信系统仿真模型库进行循环码建模仿真,其中包具有循环码编码,译码和仿真过程中误码率计算和分析,并将它们显示出来,除此之外,还调用通信系统功能函数进行编程,绘制频谱及误码率关系曲线图。从而得出一条类似于抛物线频谱与误码率关系曲线。
针对信号与系统课程及电子信息类专业特点,提出将MATLAB引入到信号与系统课程教与学中,既能加强学生对理论知识掌握及提高解决实际问题能力,又能为课堂教学及教学办法和手段改革增添活力。
核心词:循环码;MATLAB;编码;译码;误码率
目 录
1 课程设计目…………………………………………………………1
2 课程设计规定…………………………………………………………1
3 有关知识………………………………………………………………1
4 课程设计分析…………………………………………………………5
5 仿真……………………………………………………………………6
6成果分析………………………………………………………… ……9
7 参照文献…………………………………………………………… 11
循环码仿真
1 课程设计目
(1) 巩固并扩展通信原理课程基本概念,基本理论,分析办法和实现办法
(2) 学习和掌握MATLAB和SIMULINK软件使用,并用它们进行建模,理解其设计办法;
(3) 培养创新思维和设计能力
(4) 增强软件编程实现能力和解决能力。
2 课程设计规定
(1) 掌握循环码编码与译码有关知识;
(2) 可以设计程序并建立模型;
(3) 通过程序调出并运营模型,并产生误码率与频谱关系曲线图。
3 有关知识
3.1循环码
3.1.1 循环码多项式
为了运用代数理论研究循环码,可以将码组用代数多项是来表达,这个多项式被称为码多项式,对于许用循环码,可以将它码多项式表达为:对于二进制码组,多项式每个系数不是0就是1,x仅是码元位置标志。因而,这里并不关怀x取值。
3.1.2. 生成多项式和生成矩阵
(全0码字除外)称为生成多项式,用g(x)表达。可以证明生成多项式g(x)具备如下特性:
(1) g(x)是一种常数项为1r=n-k次多项式;
(2) g(x)是一种因式;
(3) 该循环码中其他码多项式都是g(x)倍式。为了保证构成生成矩阵G各行线性不有关,通惯用g(x)来构造生成矩阵,这时,生成矩阵G可以表达为:
其中,因而,一旦生成多项式g(x)拟定后来,该循环码生成矩阵就可以拟定,进而该循环码所有码字就可以拟定。
例如,一种(7,3)循环码所有码元:
码元编号
信息位
监督位
码元编号
信息位
监督位
1
0000
000
5
1000
111
2
0001
011
6
1001
100
3
0010
101
7
1010
010
4
0111
000
8
1111
111
表3.1 一种(7,3)循环码所有码元
3.2编码
在编码时,一方面需要依照给定循环码参数拟定生成多项式g(x),也就是从因子中选一种(n-k)次多项式作为g(x);然后,运用循环码编码特点,即所有循环码多项式A(x)都可以被g(x)整除,来定义生成多项式g(x)。
依照上述原理可以得到一种较简朴系统循环码编码办法:设要产生(n,k)循环码,m(x)表达信息多项式,则另一方面数必不大于k,而次数必不大于n,用除以g(x),可得余数r(x),r(x)次数必不大于(n-k),将r(x)加到信息位后作监督位,就得到了系统循环码。下面就将以上各步解决加以解释。
(1) 用。这一运算事实上是把信息码后附加上(n-k)个“0”。例如,信息码为110,它相称于。当n-k=7-3=4时,,它相称于1100000。而但愿到得系统循环码多项式应当是。
(2) 求r(x)。由于循环码多项式A(x)都可以被g(x)整除,也就是:
因而,用除以g(x),就得到商Q(x)和余式r(x),即
这样就得到了r(x)。
(3) 编码输出系统循环码多项式A(x)为:
-
例如,对于(7,3)循环码,若选用信息码110时,则:
就相称于
这时编码输出为:1100101
3.3译码
在译码时,对于接受端译码规定普通有两个:检错与纠错。达到检错目译码十分简朴,通过判断接受到码组多项式T(x)与否能被生成多项式g(x)整除来拟定。当传播中未发生错误时,也就是接受码组与发送码组相似,即A(x)=T(x),则接受码组T(x)必能被g(x)整除;若传播中发生了错误,则A(x)≠T(x),T(x)被g(x)除时也许除不尽而有余项,即有
因而,可以依照余项与否为零来判断码组中有无错码。
需要指出是,有错码接受码组也有也许被g(x)整除,这时错码就不能检出了。这种错误被称为不可检错误,不可检错误中错码数必将超过这种编码检错能力。
在接受端为纠错而采用译码办法自然比检错要复杂许多,容易理解,为了可以纠错,规定可纠正错误图样必要与一种特定余式有一一相应关系。这里,错误图样是指 中错码矩阵E各种详细取值图案,余式是指接受码组A(x)被生成多项式g(x)除所得余式。由于只存在上述一一相应关系时,才也许从上述余式唯一地决定错误图样,从而纠正错码。因而,原则上纠错可以分为如下三步进行:
(1)用生成多项式g(x)除接受码A(x),得出余式r(x);
(2)按余式r(x),用查表办法或通过某种计算得到错误图样E(x)。例如,通过计算校正子S和运用表关系,就可以拟定错码位置。
(3)从A(x)中减去E(x),便得到已经纠正错误原发送码组T(x)。
这种办法叫做捕错解码法。普通,一种编码可以有不同几种纠错解码办法。对于循环码来说,除了用捕错解码法外,尚有大数逻辑解码等算法 。作判决有不同,有硬判决和软判决等办法。
4 课程设计分析
4.1设计思想
4.2原理图
图4.2 循环码实现原理图
5仿真
5.1分模块参数设立
5.1.1 Bernoulli Random Binary Generator模块
(1) 功能:伯努力随机二进制信号发生器,用于产生二进制随机信号并将它输出
(2) 重要参数设立图
图5.1 信号发生器参数设立图
5.1.2 Binary Cyclic Encoder模块
(1)功能:二进制循环码编码器,用于将产生二进制信号进行编码
(2)重要参数设立图
图5.2 编码器参数设立图
5.1.3 Binary Symmertric Channel 模块
(1)功能:二进制循环码均衡信道模块
(2)重要参数设立图
图5.3 均衡信道参数设立图
5.1.4 Binary Cyclic Dncoder模块
(1)功能:二进制循环码译码器,用于将产生二进制信号进行译码
(2)重要参数设立图
图5.4 译码器参数设立图
5.1.5 Error Rate Calculation模块和 Display 模块
(1)功能:误码率显示模块,用于计算和显示此配备参数状况下误码率
(2)重要参数设立图
图5.5 误码率参数显示模块参数设立图
图5.6误码率参数计算模块参数设立图
6成果分析
6.1仿真成果
图6.1误码显示图
图6.2 误码率与频谱关系曲线图
(1)误码某些一共分为两个某些,第一种某些是Error Rate Calculation(误码率计算),它可以设定输出To workspace(到工作空间)。输出数据是一种n行(与输入数据数目相等)3列矩阵。第1列是误码率,第2列是误码数量,第3列是码元总数就是前面所说n。因此Display模块三行分别表达误码率为0.02059,误码数量为206,码元总量是1e+004。
(1) 成果所示是一种误码率与频谱关系曲线图,它横坐标表达是二进制均衡信道误码概率,范畴在[0 ,0.05],步长为0.01;纵坐标表达是通过差错控制后仿真系统误码率,范畴在[0 ,0.05],步长为0.01。
6.2小结
在这次基于MATLAB通信原理课程设计中,我最大收获是对MATLAB软件使用有了更深理解,特别是simulink仿真板块运用,更加纯熟,此外,对循环码理论知识有了进一步结识。
刚拿到题目时候遇到诸多困难,当时通信原理理论学习并没有学习到循环码章节,并且在网上并没能找到诸多资源,但是通过查找了大量循环码理论知识和MATLAB仿真应用书籍之后,开始调试程序,并进一步理解MATLAB编程核心字运用,并且熟悉运用软件simulink、建模仿真、分析,在调试过程中不断出错,查阅资料之后进行不断修正和更改,得出最后成果。
这次MATLAB课程设计不但仅加深了对课程理论知识理解,并更加熟悉了计算机语言,软件应用。并让我理解,学习知识不但仅只在课本上,尚有更多更广渠道获得更辽阔知识。
7 参照文献
[2]于润伟 朱晓慧编.MATLAB基本及应用.机械工业出版社..4
[3]樊昌信著.通信原理[M].国防工业出版社.(12):340-347
[8]吴伶达著.计算机通信原理与技术[M].国防科技大学出版社..(3):256-258
[9]徐明远 邵玉斌著.MATLAB仿真在通信与电子工程中应用.西安电子科技大学出版社.(8):169-172
展开阅读全文