循环码仿真---通信课程设计

上传人:壹****1 文档编号:486254812 上传时间:2022-10-04 格式:DOC 页数:9 大小:100.50KB
返回 下载 相关 举报
循环码仿真---通信课程设计_第1页
第1页 / 共9页
循环码仿真---通信课程设计_第2页
第2页 / 共9页
循环码仿真---通信课程设计_第3页
第3页 / 共9页
循环码仿真---通信课程设计_第4页
第4页 / 共9页
循环码仿真---通信课程设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《循环码仿真---通信课程设计》由会员分享,可在线阅读,更多相关《循环码仿真---通信课程设计(9页珍藏版)》请在金锄头文库上搜索。

1、-摘 要本文主要是利用MATLAB中的SIMULINK通信系统仿真模型库进展循环码建模仿真,其中包含有循环码的编码,译码和仿真过程中的误码率的计算和分析,并将它们显示出来,除此之外,还调用通信系统功能函数进展编程,绘制频谱及误码率关系曲线图。从而得出一条类似于抛物线的频谱与误码率关系的曲线。针对信号与系统课程及电子信息类专业的特点, 提出将MATLAB引入到信号与系统课程的教与学中, 既能加强学生对理论知识的掌握及提高解决实际问题的能力, 又能为课堂教学及教学方法和手段的改革增添活力。关键词:循环码;MATLAB;编码;译码;误码率. z.-目录1 课程设计目的12 课程设计要求13 相关知识

2、14 课程设计分析55仿真66结果分析97参考文献 11. z.-循环码仿真1 课程设计目的(1) 稳固并扩展通信原理课程的根本概念,根本理论,分析方法和实现方法(2) 学习和掌握MATLAB和SIMULINK软件的使用,并用它们进展建模,了解其设计方法;(3) 培养创新思维和设计能力(4) 增强软件编程实现能力和解决能力。2 课程设计要求(1) 掌握循环码的编码与译码的相关知识;(2) 能够设计程序并建立模型;(3) 通过程序调出并运行模型,并产生误码率与频谱的关系曲线图。3 相关知识3.1循环码3.1.1循环码多项式 为了利用代数理论研究循环码,可以将码组用代数多项是来表示,这个多项式被称

3、为码多项式,对于许用循环码,可以将它的码多项式表示为:对于二进制码组,多项式的每个系数不是0就是1,*仅是码元位置的标志。因此,这里并不关心*的取值。3.1.2.生成多项式和生成矩阵 全0码字除外称为生成多项式,用g(*)表示。可以证明生成多项式g(*)具有以下特性:1g(*)是一个常数项为1的r=n-k次多项式;2g(*)是的一个因式;3该循环码中其它码多项式都是g(*)的倍式。为了保证构成的生成矩阵G的各行线性不相关,通常用g(*)来构造生成矩阵,这时,生成矩阵G可以表示为:其中,因此,一旦生成多项式g(*)确定以后,该循环码的生成矩阵就可以确定,进而该循环码的所有码字就可以确定。 例如,

4、一种7,3循环码的全部码元:码元编号信息位监视位码元编号信息位监视位1000000051000111200010116100110030010101710100104011100081111111表3.1 一种7,3循环码的全部码元3.2编码 在编码时,首先需要根据给定循环码的参数确定生成多项式g(*),也就是从的因子中选一个n-k次多项式作为g(*);然后,利用循环码的编码特点,即所有循环码多项式A(*)都可以被g(*)整除,来定义生成多项式g(*)。根据上述原理可以得到一个较简单的系统循环码编码方法:设要产生n,k循环码,m(*)表示信息多项式,则其次数必小于k,而的次数必小于n,用除以g

5、(*),可得余数r(*),r(*)的次数必小于n-k,将r(*)加到信息位后作监视位,就得到了系统循环码。下面就将以上各步处理加以解释。1用。这一运算实际上是把信息码后附加上n-k个0。例如,信息码为110,它相当于。当n-k7-34时,它相当于1100000。而希望的到得系统循环码多项式应当是。 2求r(*)。由于循环码多项式A(*)都可以被g(*)整除,也就是:因此,用除以g(*),就得到商Q(*)和余式r(*),即这样就得到了r(*)。 3编码输出系统循环码多项式A(*)为:-例如,对于7,3循环码,假设选用信息码110时,则:就相当于这时的编码输出为:11001013.3译码在译码时,

6、对于接收端译码的要求通常有两个:检错与纠错。到达检错目的的译码十分简单,通过判断接收到的码组多项式T(*)是否能被生成多项式g(*)整除来确定。当传输中未发生错误时,也就是接收的码组与发送的码组一样,即A(*)=T(*),则接收的码组T(*)必能被g(*)整除;假设传输中发生了错误,则A(*)T(*),T(*)被g(*)除时可能除不尽而有余项,即有因此,可以根据余项是否为零来判断码组中有无错码。需要指出的是,有错码的接收码组也有可能被g(*)整除,这时的错码就不能检出了。这种错误被称为不可检错误,不可检错误中的错码数必将超过这种编码的检错能力。在接收端为纠错而采用的译码方法自然比检错要复杂许多

7、,容易理解,为了能够纠错,要求可纠正的错误图样必须与一个特定余式有一一对应关系。这里,错误图样是指 中错码矩阵E的各种具体取值的图案,余式是指接收码组A*被生成多项式g(*)除所得的余式。因为只存在上述一一对应的关系时,才可能从上述余式唯一地决定错误图样,从而纠正错码。因此,原则上纠错可以分为以下三步进展:1用生成多项式g(*)除接收码A(*),得出余式r(*);2按余式r(*),用查表的方法或通过*种计算得到错误图样E(*)。例如,通过计算校正子S和利用表的关系,就可以确定错码的位置。3从A*中减去E(*),便得到已经纠正错误的原发送码组T(*)。这种方法叫做捕错解码法。通常,一种编码可以有

8、不同的几种纠错解码方法。对于循环码来说,除了用捕错解码法外,还有大数逻辑解码等算法 。作判决的有不同,有硬判决和软判决等方法。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

9、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 误码率与频谱关系曲线图

10、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小

11、结 在这次基于MATLAB的通信原理课程设计中,我最大的收获是对MATLAB软件的使用有了更深的了解,尤其是simulink仿真板块的运用,更加熟练,此外,对循环码的理论知识有了进一步的认识。 刚拿到题目的时候遇到很多的困难,当时通信原理的理论学习并没有学习到循环码的章节,并且在网上并没能找到很多资源,但是通过查找了大量的循环码理论知识和MATLAB仿真应用的书籍之后,开场调试程序,并进一步了解MATLAB编程的关键字的运用,并且熟悉运用软件simulink、建模仿真、分析,在调试过程中不断出错,查阅资料之后进展不断的修正和更改,得出最终的结果。 这次MATLAB课程设计不仅仅加深了对课程理论知识的了解,并更加熟悉了计算机语言,软件的应用。并让我了解,学习知识不仅仅只在课本上,还有更多更广的渠道获得更宽广的知识。7 参考文献2于润伟 朱晓慧编.MATLAB根底及应用.机械工业.2021.43樊昌信著.通信原理M.国防工业.202112:340-3478吴伶达著.计算机通信原理与技术M.国防科技大学.2003.3:256-2589徐明远 邵玉斌著.MATLAB仿真在通信与电子工程中的应用.*电子科技大学.20218:169-172. z.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号