《基于SystemView的差错控制技术研究学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于SystemView的差错控制技术研究学士学位论文.doc(55页珍藏版)》请在三一办公上搜索。
1、摘 要 本文通过对数字通信的各种信道编码方式、差错控制的类型以及差错控制编码分类进行总结和分析,根据各种常用信道编码的比特差错率和码字差错率之间关系的差异,得出了差错控制编码对数字通信系统可靠性影响的定量计算结果。本文介绍了线性分组码、循环码和卷积码的相关内容,运用SystemView软件对差错控制编码系统进行了模型构建、系统设计、仿真演示、结果显示、误差分析以及综合性能分析。本文探讨了在SystemView语言环境下差错控制系统仿真的设计和实现。根据差错控制系统的理论基础结合SystemView软件包实现对控制系统的建模,并结合SystemView仿真达到差错控制的目的。通过对仿真结果的分析
2、我们得知,如果对信息码进行差错控制,误码率会大大降低。 关键词:差错控制编码;SystemView仿真;误码率AbstractBy making a summary and analysis about various channel coding system, and the type and coding specification of error control, the thesis draws quantitative calculation results about the impact of error control coding on the digital commu
3、nication system reliability, according to differences between various common coding bit error rate and code word error rate.The thesis introduces the linear block code, cyclic code and convolution code, as well as their related content. Error control coding system is analyzed by SystemView in model
4、building, system design, simulation demonstration, results display, error analysis and comprehensive performance. It discusses error control systems design and implementation of simulation in SystemView language environment. According to the theoretical basis of error control system, combining with
5、SystemView software package, it achieves modeling of control system. Whats more, it achieves the purpose of error control, combining with simulation of SystemView. We can conclude from the analysis of simulation results that if information code is conducted by error control, bit error control will b
6、e greatly reduced.Keywords:Error control coding;SystemView Simulation;bit error control目 录1 绪论11.1 课题背景11.2 差错控制编码研究意义及现状11.3 本课题研究的主要内容22 SystemView介绍32.1 SystemView概述32.2 SystemView简介42.3 设计窗口52.4 分析窗口63差错控制编码技术原理83.1 差错控制编码基本原理83.2 错误类型83.3 差错控制的基本方式93.4 信道编码的基本原理103.5 几种简单的编码114 差错控制编码的仿真134.1 线
7、性分组码134.1.1 线性分组码的基本概念134.1.2 (7,4)汉明码的编译及其SystemView仿真154.2 循环码184.2.1 循环码的概念184.2.2 循环码的生成矩阵184.2.3 循环码的编码方法194.2.4 循环码的解码方法194.3 BCH编码204.3.1 本原循环码204.3.2 BCH码的编译码214.3.3 BCH码的SystemView仿真224.3.4 RS码234.4 交织码284.5 卷积码304.5.1 卷积码简介314.5.2 卷积码编译码的仿真31参考文献35结 论33致 谢34附 录36附录A 英文原文36附录B 中文翻译451 绪论1.1
8、 课题背景作为21世纪信息工程领域中的特色,数字通信技术必将在新世纪中发挥重要作用。从发展的眼光看,数字通信技术领域的发展会越来越快,而且该技术领域中的技术向其他领域的渗透也呈现出加速趋势。近些年来,通信增值业务得到迅速发展,保证通信中较低信噪比情况下的数据无误传输,提高通信的有效性和可靠性显得越来越重要。各种数字通信系统已广泛用于我们的生产生活中。然而数字信号在传输过程中,由于受到干扰的影响,码元波形将变坏。接收端收到后可能发生错误判决。由乘性干扰引起的码间串扰,可以采用均衡的办法纠正。而加性干扰的影响则需要用其它办法解决。1.2 差错控制编码研究意义及现状目前,利用差错控制技术降低各类数字
9、通信系统以及计算机存储和计算系统中的误码率,提高通信质量,在西方国家中已经作为一门标准技术而广泛应用,而且差错控制技术还应用于超大规模集成电路中,以提高集成电路芯片的成品率,不仅如此,差错控制技术中的许多译码思想和方法,可以解决神经网络中的一些问题,差错控制技术方兴未艾,当然差错控制技术还存在一些现实的问题,以目前世界范围内研究最热门的随机码为例,由于随机码的算法非常复杂,随机性的可靠度不高,随即交织器的实现难度大,使随机码在通信系统中应用存在成本过高,稳定性不够,无法大规模的普及等问题,而此类问题正是国际研究的热点方向,有待在今后的研究中进一步加以解决。在设计数字通信系统时,应该首先从合理选
10、择调制制度、解调方法以及发送功率等方面考虑,使加性干扰不足以影响达到误码率的要求。在仍不能满足要求时,就要考虑差错控制措施了,这就是我们研究差错控制技术的意义所在。1.3 本课题研究的主要内容在数字通信系统中,信号在传输过程时,由于受到干扰的影响,码元波形将变坏,接收端收到后可能发生错误判断。差错控制技术主要有以下四种:检错重发、前向纠错、反馈检验和检错删除。实际中,为了提高信息传输可靠性,广泛使用了具有一定纠错能力的信道编码技术,如奇偶校验码、行列监督码、恒比码、汉明码、循环码等编码技术。设计要求掌握差错控制编码基本原理及其各种线性码组编码原理和过程;学习并熟练掌握SystemView的基本
11、操作和运用;运用SystemView对各种线性码组进行实现;利用Systemview具体设计差错控制编码的仿真;对仿真结果进行分析;并分析比较各种线性码组的性能。数字通信系统差错控制研究的范围很广泛,可以是差错控制编码的研究,也可以是某个特定系统的具体实现或者具体系统的差错控制性能分析等等。信道编码是通信系统中采用的一种差错控制措施,在信道编码过程中,发送端将给被传输的信息附上一些监督码元,这些监督码元与信息码元之间以某种确定的规则相互关联、约束。接收端按照约定的规则校验信息码元与监督码元之间的关系,一旦传输发生差错,信息码元与监督码元的关系就受到破坏,从而接收端可以发现错误乃至纠正错误。因此
12、,研究各种编码和解码方法是差错控制编码所要解决的问题。本课题将讨论各种线性码组差错控制编码的方法,以及在此编码基础上建立数字通信系统差错控制模型,进行SystemView仿真并输出结果。 通过对各种信道编码条件下的比特差错率和码字差错率的相比较,以验证采用了信道编码后,系统的码字差错率得到了明显的改善,其码字差错率明显下降。并得出最优的差错控制编码。2 SystemView介绍2.1 SystemView概述SystemView是一个用于现代工程与科学系统设计及仿真的动态系统分析平台。从滤波器设计、信号处理、一般的系统数学模型建立,直到完整通信系统的设计与仿真等各个领域,SystemView在
13、友好而且功能齐全的窗口环境下为用户提供了一个精密的嵌入式分析工具。SystemView可以构造各种复杂的模拟、数字、数模混合系统,各种多速率系统,可用于各种线性或非线性控制系统的设计和仿真。SystemView的基本库中包括多种信号源、接收器、加法器、乘法器、各种函数运算器等,尤其是利用它可以从各种不同角度以不同方式按要求设计多种滤波器,并可自动完成滤波器各项指标,如幅频特性、波特图、系统函数、根轨迹图等之间的转换。另外,SystemView自带的通信、逻辑、数字信号处理、射频/模拟等专业库,特别适用与现代通信系统的设计、仿真和方案论证。它还可以实时地仿真各种DSP结构,并进行各种系统时域分析
14、、频域分析、谱分析;也能对各种逻辑电路、射频/模拟电路、混合气、放大器、RLC电路、运放电路等,进行理论分析和失真分析。随着现代通信技术的不断发展,无线通信技术日趋成熟和完善。利用SystemView带有的CDMA、DVB等扩展库即可十分方便地完成这些系统设计和仿真。利用SystemView不用写一句代码即可完成各种系统的设计与仿真,快速的建立和修改系统,方便的加入注释。它具有与外部文件的借口,可直接获取并处理输入/输出真实世界的数据。SystemView提供的与仿真工具Matlab和编程语言VC+的借口,可以很方便的调用其函数。除了一般的方案论证外,SystemView还提供了与硬件设计的接
15、口。与Xilinx公司的软件CoreGenerator配套,可以将SystemView系统中的部分器件生成下载FPGA芯片所需的数据文件;DSP芯片设计的借口,可以将其DPS库中的部分器件生成DPS芯片编程的C语言源代码。在系统设计仿真时,SystemView能自动执行系统连接检查,给出连接错误信息或尚悬空的待连接端信息,通知用户连接出错并通过显示指出出错的图符,并在编译时给出系统行的大约时间,方便设计人员渐进行调试。其带有的APG功能可以利用VC环境,将系统编译成可脱离SystemView独立运行的可执行文件,同时大大提高了运行速度,在内存较大时效果尤为明显。在系统仿真方面,SystemVi
16、ew提供了一个灵活的动态探针功能,可以仿真实际的示波器或频谱分析仪的工作。真实而灵活的分析窗口用以检查系统的波形、内部数据的图形放大、缩小、滚动等,通过单机鼠标就能很方便地实现。分析窗口带有的“接收计算器”功能强大,可以完成对仿真运行结果的各种运算、谱分析等。32.2 SystemView简介SystemView是一个用于现代工程与科学系统设计及仿真的动态系统分析平台。从滤波器设计、信号处理、完整通信系统的设计与仿真,直到一般系统的数学模型建立等各个领域,SystemView在友好且功能齐全的窗口环境下,为用户提供了一个精密的嵌入式分析工具。(1)强大的仿真设计功能。利用SystemView,
17、可以构造各种复杂的模拟、数字、数模混合系统和各种多速率系统,可用于各种线性或非线性控制系统的设计和仿真。起特色是,利用它如幅频特性(波特图)、传递函数、根轨迹图等之间的转换。它还可以实时地仿真各种位真的DSP结构,并进行各种系统的时域和频域分析、谱分析,以及对各种逻辑电路、射频/模拟电路进行理论分析和失真分析等。(2)丰富的库资源。SystemView的基本库中包括多种信号源、接收窗、加法器、乘法器,各种函数运算器等。另外,它还带有各种专业库如通信、逻辑、数字信号处理、射频/模拟等以备选择,特别适合于现代通信系统的设计、仿真和方案论证。随着现代通信技术的不断发展,无线移动通信技术已日趋完善。利
18、用SystemView带有的IS-95和3GPP-FDD扩展库,即可十分方便地完成第二代无线移动通信Q-CDMA系统以及第三代无线移动通信WCDMA系统的设计和仿真。SystemView还专门提供了对Turbo编码的系统仿真功能。数字业务是近年来发展起来的一个新领域,利用SystemView带有DVB库可以对其信号传输方式等进行分析与仿真。(3)开放友好的用户界面。利用SystemView,无需与复杂的语言语句打交道,不必写一句代码,即可完成对各种系统的设计与仿真。可以象搭积木一样,快速的建立和修改系统,访问与调整参数,极其方便得加入注释。SystemView操作简便,图标系统形象直观,方便了
19、从思路仿真、方案论证到硬件设计的实现。同时它具有与外部文件的借口,可直接读入真实的数据,并对其进行处理。也可将处理结果输出到外部数据文件。另外,它还提供了与编程语言Visula C+以及仿真工具Matlab的接口,用户可以很方便地调用其函数或自定义图标功能。(4)灵活的硬件设计接口。除了一般的方案论证外,SystemView还提供了与多种硬件设计工具的接口:与Xilinx公司的软件CORE Generato配套,可以将SystemView系统中的部分器件生成下载FPGA芯片所需的数据文件;通过与TI公司DSP设计工具CCS(Code Cmposer Ssudio)的接口,可以将其DSP库中的部
20、分器件生成DSP芯片编程的C语言源代码,或在系统仿真中嵌入实际硬件电路;通过与Xpedion公司的射频/微波仿真工具的接口,可以将系统仿真与电路级仿真结合起来,对分立元期间的射频/微波特性进行仿真。(5)智能化的辅助设计。在系统设计仿真时,SystemView能自动执行系统连接检查,给出连接错误信息或尚悬空的待连接端信息,通知用户连接出错并通过现实指出出错的图标。这个功能对用户系统的诊断十分有效。它还可以在编译时,给出系统运行的大约时间,方便了设计人员进行调试。其带有的APG功能可以利用C+环境,将系统编译成可脱离SystemView独立运行的可执行文件,同时可大大提高运行速度和仿真效率,在内
21、存较大时效果尤为明显。(6)动态的分析和后处理。在系统仿真方面,SystemView还提供了一个灵活的动态探针功能,可以对真实的示波器或频谱分析仪进行仿真。另外,还有真实而灵活的分析窗口用以检查系统波形。内部数据的图形放大、缩小、滚动等,全部可以通过鼠标操作很方便地实现。其附带的“接收计算器”功能强大,可以完成对仿真运行结果的各种运算、谱分析、滤波等。2.3 设计窗口设计窗口如图3.1所示,所有系统的设计、搭建等基本操作,都是在设计窗口内完成的。设计窗口主要包含以下部分:(1)设计区域:供用户完成各种系统的搭建;(2)菜单栏:通过菜单栏可以执行SystemView的各项功能;(3)工具栏:包含
22、了在系统设计、仿真中可能用到的文件、图标、系统等的各种操作按钮,如图3.2所示,依次分别为库选择、打开保存文件、打印、清除、删除、断开连接、连接、复制、图标反向、注释、生成子系统、展开子系统、根轨迹图、波特图、重绘、停止、运行、定时、分析窗口;(4)提示信息区:当鼠标置于某一工具按钮上,在该处会显示对该按钮的说明和提示信息;(5)消息显示区:用来显示系统仿真的状态信息;(6)图标库区:可以通过库切换按钮来选择基本库、专业库、扩展库的库资源;(7)动态方针:可以仿真示波器或频谱分析仪的功能;图3.1 SystemView的设计窗口图3.2 设计窗口的工具栏(8)进程显示:在仿真运行的过程中显示整
23、个运行进行的程度。在设计窗口内,只须单击鼠标及输入必要的参数,就可以通过设置各图标、对各图标进行连接等操作,完成一个完整系统的基本搭建工作,创建各种连续域或离散域的系统。2.4 分析窗口分析窗口是观察用户运行结果数据的基本载体。利用它可以观察某一系统运行的结果及对该结果进行的各种分析。如图3.3所示。在该窗口下有多种选项可以增强显示的灵活性。在系统设计窗口中单击“Analysis Windows”按钮,即可访问分析窗口。在分析窗口中单击“SystemWindow”按钮,即可返回系统设计窗口。与设计窗口相似,在分析窗口的最顶端是菜单栏和工具栏。可通过单击工具栏中的按钮或下拉菜单中的命令来使用这些
24、选项功能。工具栏如图3.4所示,依次为刷新、打印、恢复、离散点、连线点、坐标距离、段标、水平平铺、垂直平铺、层叠、X对数坐标、Y对数坐标、最小化、打开所有窗口、动画、统计结果、显微镜、放大、极坐标、设计窗口、加载APG。图3.3 SystemView的分析窗口及运行结果显示图3.4 分析窗口的工具栏每次系统重新运行时,分析窗口中仍保存着上次运行的结果。如果要观察新的结果,需要用工具栏最左端蓝色的刷新按钮,载入新的数据以形成当前运行结果的波形图像。在分析窗口的左下角显示了系统的资源的利用程度。红色表示已利用部分,绿色表示尚可利用部分。该百分比至少应保持在10%以上,否则,系统运行会不正常。在显示
25、资源利用程度的旁边,有一个按钮,是SystemView分析窗口中代邮的功能强大的“sink calculator”,也就是接收计算器。它可以对信号进行各种复杂的计算、分析和处理等。接收计算器的计算结果窗口与系统运行结果窗口有所不同。43差错控制编码技术原理3.1 差错控制编码基本原理 数字信号在实际信道传输时,由于传输信道不理想和噪声的影响,使信号码元产生畸变,因而接收端接收的信号可能会产生错误判决。因而应该综合考虑传输信号,选择合适的调制、解调方式等手段,使误码率尽可能低。但是如果误码率仍然达不到要求,就必须采用信道编码,也称差错控制编码,将误码率进一步降低,以满足性能指标的要求。随着差错控
26、制编码理论的完善和数字电子技术的发展,信道编码已经广泛地应用于各种数字通信系统中。差错控制编码的基本方法是:在发送端发送信码的时候附加一些监督码元,这种多余的码元与信息码元之间由某种确定的关系相互制约。接收端按照既定的规则检查这些码元之间的关系,如果在传输的过程中发生了差错,那么信息码元和监督码元之间的这种关系就被破坏,这样就可以发现错误。当监督码元与信息码元之间的关系有很强的规律时,还会检查出错误码元的具体位置,从而加以纠正。3.2 错误类型数字信号在传输过程中,由于系统特性的不理想和信道中的噪声干扰,使信号的波形产生失真,接收端因误判而造成误码。产生错码的原因可以分为两类。第一类,由乘性干
27、扰引起的码间串扰会造成错码。码间串扰可以采用均衡的方法解决,从而减少或消除错码。第二类,加性干扰将使信噪比降低从而造成错码。提高发送功率和改用性能更优良的调制体制,是提高信噪比的基本手段。但是,信道编码等差错控制技术在降低误码率方面仍然是一种重要的手段。按照加性干扰造成错码的统计特性不同,可以将错误分为3类: (1)随机错误:这种错误的错码是随机出现的,并且各个错码出现是统计独立的。(2)突发错误:这种错误的错码是相对集中出现的,即在短时间段内有很多错码出现,而在这些短时间段之间有较长的无错码时间段。 (3)混合错误:这种错误的错码既有随机的又有突发的。由于上述错误中的错码特性不同,所以需要采
28、用不同的差错控制技术来减少或消除不同特性的错码。1 3.3 差错控制的基本方式差错控制方法常见的有3种:检错重发(ARQ)、前向纠错(FEC)和混合纠错(HEC)。其系统构成如图3.1所示。图3.1 差错控制系统结构在检错重发方式中,发送端发送经过编码的、能够发现错误的码组,接收端接收后如果判断有错,就通过反向信道把这一错误信息反馈给发送端,发送端接收到这一信息后将重新发送信息,知道接收端接收到了正确的信息。在前向纠错方式中,发送端发送能够纠正错误的码组,接收端接收到这些码组后,通过译码能够发现和纠正传输过程中发生的错吗。前向纠错方式不需要反馈信道,传输延时笑,系统的时效性好,但设备比较复杂。
29、混合纠错方式是检错重发方式和前向纠错方式的结合。这种系统中的发送端发送的编码有一定的纠错功能和较强的检错功能,接收端接收到信息后经过译码能够纠正一定的错吗,当接收端错误超过了自己的纠正能力时,还可以检查错误,此时发送一个反馈信息,要求发送端重发该码组。混合纠错方式是前向纠错和检错重发方式的折中,其实时性和编译码设备的复杂性也介于前向纠错和检错重发方式之间。23.4 信道编码的基本原理信道编码的基本思想是在要传输的信息中附加一些监督码元,并在这两者之间建立某种校验关系,当传输过程中发生错误的时候,这种校验关系就会被破坏,这样就可以发现和纠正错误。这种发现和纠正错误的能力是用信息量的冗余来换取的。
30、例如,4种信息用码组00、01、10、11来传递,如果传输的过程中发生了错误,其中的一个码组就变成了另一个码组,由于每一种码组都有可能出现,因此不可能发现错误。如果用三位二进制信息码组000、001、010、011、100、101、110、111中的001、011、101、110这四种码组来传递00、01、10、11这4种信息,其中001、011、101、110这四种码组成为许用码组,其他码组成为禁用码组。那么在传送过程中如果信息发生了错误,许用码组就变成了禁用码组中的一个,接收端就可以发现传输错误。这就说明有了信息冗余就有了发现和纠正错误的能力。其实上面选用的许用码组是有规律的,其中最后一位
31、作为奇偶校验位来保证许用码组中“1”的个数为偶数。接收端的码组中“1”的个数不是偶数,就知道发生了传输错误。在信道编码中,定义码组中非0码元的个数为码组的重量,简称码重。把两个等长的二进制码组对应位上不同码元的个数定义为两个码组的距离,简称码距,又称为汉明码(Hanming)距离。一种编码的最小码距直接关系到这种码组的检错和纠错能力,对于分组码,检错和纠错能力和最小码距之间满足以下关系:(1) 为检测e个错误,要求最小码距(3.1)(2)为纠正t个错误,要求最小码距(3.2) (3)为纠正t个错误,同时检测e个错误(et),要求最小码距(3.3)3.5 几种简单的编码1、 奇偶校验码奇偶校验码
32、是一种简单的编码方式,在计算机通信中得到广泛的应用。其编码规则是:首先对要传送的信息进行分组,然后为个分组附加上监督位,是整个码组的模2和结果为0(偶校验)或1(奇校验)。 设码组的长度为n,表示为(,. ,),其中前(n-1)位是信息位,最后一位是监督码。偶校验时,同一码组各码元满足(3.4)即监督元为(3.5)奇校验是有(3.6)即监督码元为(3.7)这种编码能检查出奇数个错误,最小码距为1。为了能提高抗突发错误的能力,可以采用二维奇偶校验码。二维奇偶校验将若干经过奇偶校验的码组排成阵列,然后对每列进行奇偶校验编码,将得到的结果作为一个码组附在该码组的后面。接收端同样的将该组码组排成阵列,
33、对行和列都分别进行奇偶校验。这样可以提高纠检错能力。2、恒比码在恒比码中,每个码组中“1”和“0”的个数都是一样的,由于“1”和“0”的个数一样,故称恒比码。接收端只需检测收到的码组中“1”和“0”的个数就知道有无错误了。这种码组广泛用于电报传输中。在我国,用电传机传输汉字电码时采用了5中取3的恒比码。5中取3码共有10个码组,它正好代表10个阿拉伯数字,如表3.2所示。表3.2 恒比码5中取3码码组数字编码数字编码1010116101012110017111003101108011104110109100115001110011014 差错控制编码的仿真4.1 线性分组码4.1.1 线性分组
34、码的基本概念线性分组码(n,k)中许用码字(组)为个。定义线性分组码的加法为模2和,乘法为二进制乘法。即1+1=0、1+0=1、0+1=1、0+0=0;11=1、10=0、00=0、01=0。且码字与码字的运算在各个相应比特位上符合上述二进制加法运算规则。 线性分组码具有如下性质(n,k)的性质:1、封闭性。任意两个码组的和还是许用的码组。2、码的最小距离等于非零码的最小码重。对于码组长度为n、信息码元为k位、监督码元为r=n-k位的分组码,常记作(n,k)码,如果满足 2r-1n,则有可能构造出纠正一位或一位以上错误的线性码。下面我们通过(7,4)分组码的例子来说明如何具体构造这种线性码。设
35、分组码(n,k)中,k = 4,为能纠正一位误码,要求 r3。现取 r=3,则 n=k+r=7。我们用 表示这7个码元,用表示由三个监督方程式计算得到的校正子,并假设三位 校正子码组与误码位置的对应关系如表4.1所示。表 4.1 (7,4)分组码码校正子与误码位置S1S2S3误码位置S1S2S3误码位置001a0101a4010a1110a5100a2111a6011a3000无错由表可知,当误码位置在 时,校正子;否则 。因此有 ,同理有和。在编码时为信息码元,为监督码元。则监督码元可由以下监督方程唯一确定: (4.1) 即(4.2) 由上面方程可得到表4.2所示的16个许用码组。在接收端收
36、到每个码组后,计算出S1、S2、S3,如果不全为0,则表示存在错误,可以由表4.2确定错误位置并予以纠正。6表4.2 (7,4)分组码许用码组信 息 位监 督 位信 息 位监 督 位a6a5a4a3a2a1a0a6a5a4a3a2a1a000000001001000110100010101100111000011101110110101011000100010011010101111001101111011111111000100010010101001114.1.2 (7,4)汉明码的编译及其SystemView仿真图4.1所示为(7,4)汉明码的编码器电路原理图,图4.2为对应的译码器电路
37、原理图。根据上述两图可构建如图4.3所示的仿真原理图。该仿真原理图包含两个子系统,分别是(7,4)汉明码的编码器和译码器。仿真时的信号源采用了一个PROM,并由用户自定义数据内容,数据的输出由一个计数器来定时驱动,每隔一秒输出一个4位数据 (PROM 的 8 位仅用了其中4位),由编码器子系统编码转换后成为7位汉明码,经过并串转换后传输,其中的并串、串并转换电路使用了扩展通信库2中的时分复用合路器和分路器图符,该合路器和分路器最大为16位长度的时隙转换,这里定义为7位时隙。此时由于输入输出数据的系统数据率不同,因此必须在子系统的输入端重新设置系统采样率,将系统设置为多速率系统。因为原始4位数据
38、的刷新率为1Hz因此编码器的输入端可设置重采样率位10Hz,时分复用合路器和分路器的数据帧周期设为1秒,时隙数位7,则输出采样率为输入采样率的7倍,即70Hz。如果要加入噪声,则噪声信号源的采样率也应设为70Hz。图4.4是(7,4)汉明码编码器的仿真子系统原理图,图4.5是其对应的译码器的仿真子系统原理图。当然,我们也可以不通过并串转换,直接并行传输、译码。这样可以在7位汉明码并行传输时人为对其中的一位进行干扰,并观察其纠错的情况。通过仿真实验可以发现,出现两位以上错误时汉明码就不能正确纠错了。因此,在要求对多位错误进行纠正的应用场合,就要使用别的编码方式了,如BCH码、RS码、卷积码等。5
39、a6 a6a5 a5a4 a4a3 a3 a2 a1 a0图4.1 (7,4)汉明码的编码器电路原理图 a6 a6a5 a5a4 a4a3 a3 再编码 误码指示 a2 7 0a1 38译码器 a0 图4.2 (7,4)汉明码的译码器电路原理图图4.3 (7,4)汉明码编码器的仿真原理图图4.4 (7,4)汉明码编码器的仿真子系统原理图图4.5 (7,4)汉明码译码器的仿真子系统原理图4.2 循环码4.2.1 循环码的概念在线性分组码中,有一种重要的码称为循环码。它是在严密的代数学理论基础上建立起来的。循环码的编码和解码设备都不太复杂,并且检错(纠错)的能力较强,这些特点有助于按照所要求的纠错
40、能力系统地构造这类码,并简化解码方法。目前,循环码在理论上和实践上都有了较大的发展。循环码除了具有线性码的一般性质外,还具有循环性,也就是循环码中任何一个码组向左或者向右循环移位仍然是这个码组集合里的码组。即如果是一个循环码组,则、也是该编码中的码组。在代数编码理论中,把这种码组中各码元看作是一个多项式的系数,即一个长为n的码组可以表示成: (4.3) 这种多项式中,x仅是码元位置的标记。因此我们并不关心x的取值。这种多项式有时称为码多项式。在整数运算中,有模n运算。在模n运算下,一整数m等于其被n除得之余数。在码多项式运算中也有类似的按模运算。若一任意多项式被一n次多项式除,得到商式和一个次
41、数小于n的余式,即则写为 (模) (4.4) 这时,码多项式系数仍按模2运算,即只取值0和1。不过注意,在模2运算中,用加法代替了减法。在循环码中,若是一个长为n的许用码组,则在按模运算下,亦是一个许用码组。4.2.2 循环码的生成矩阵有了生成矩阵G,就可以由 k个信息位得出整个码组,而且生成矩阵G的每一行都是一个码组。由于G是k行n列矩阵,因此,若能找到k个已知码组,就能构成矩阵G。如前所述,这k个已知码组必须是线性不相关的,否则,给定的信息位与编出的码组就不是一一对应的。在循环码中,一个(n,k)码有个不同码组。若用表示其中前()位皆为0的码组,则,都是码组,而且这k个码组是线性无关的。因
42、此它们可以用来构成此循环码的生成矩阵G。在循环码中除全“0”码组外,再没有连续k位均为“0”的码组,即连“0”的长度最多只能有位。因此必须是一个常数项不为“0”的次多项式,而且,这个还是这种(n,k)码中次数为的唯一的一个多项式。我们称这唯一的次多项式为码的生成多项式。一旦确定了,则整个(n,k)循环码就被确定了。所有码多项式都可被整除,而且任一次数不大于的多项式乘都是码多项式。循环码的生成多项式应该是的一个次因式。选用的生成多项式不同,产生出的循环码码组也不同。94.2.3 循环码的编码方法循环码的编码步骤:1.为信息码多项式,其次数小于k。用乘,这一运算实际上是把信息码后附加上个“0”。2.用除,得到商和余式。3.编出的码组为